GNU/Linux >> Znalost Linux >  >> Ubuntu

Může X.org načíst dva různé ovladače? (Nastavení se třemi hlavami s kartou Intel a Nvidia)?

Chceme nastavit 3 obrazovky s integrovaným grafickým adaptérem Intel a kartou nvidia.

Obě karty jsou rozpoznány v lspci

01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
00:02.0 Display controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

A v zásadě práce:Pokud přepnu na konzoli, vidím výstup na kartě Intel,
X běží pouze na kartě Nvidia.

Ale když zadám xrandr | grep conn Mám pouze jeden připojený port:

DVI-I-0 disconnected (normal left inverted right x axis y axis)
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
HDMI-0 disconnected (normal left inverted right x axis y axis)

Používám Ubuntu 12.10 (a XFCE) a nainstaloval jsem si proprietární ovladač nvidia.

Předpokládal jsem, že X může mít problém s autodetekcí obou karet, takže jsem si myslel následující xorg.conf může pomoci:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    Screen      1  "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 210"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "intel"
    VendorName     "Intel"
    BoardName      "Internal Intel Graphics"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Ale stále to nefunguje.

  • Je to obecně možné použít dva různé ovladače v X?
  • Je nutné vytvořit xorg.conf? tak ručně? (protože Ubuntu 12.10 normálně funguje bez xorg.conf )
  • Jsou v mém xorg.conf nějaké chyby ?

Přijatá odpověď:

Ano, X může používat více ovladačů. Váš je velmi podobný nastavení jako to, co mám já. Mám NVIDIA 9800 GT se dvěma připojenými monitory a kartu Intel 2. generace s jedním monitorem.

Nevidím žádné problémy s vaším xorg.conf . Předpokládám, že budete muset vytvořit xorg.conf kdyby jen řekl X, aby používal ovladače nvidia i intel. Můj xorg.conf vypadá velmi podobně jako váš; Mám tři části monitoru a obrazovky, protože karta nvidia má dva monitory, ale jsem si docela jistý, že X tyto části ignoruje.

Nejprve se budete chtít ujistit, že xinerama je zakázána v xorg.conf (možná to není nutné).

xorg.conf :

Section "ServerFlags"
    Option  "xinerama"  "off"
EndSection

Když uděláte xrandr --listproviders měli byste vidět obě karty.

[email protected]> xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x290 cap: 0x1, Source Output crtcs: 2 outputs: 5 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x48 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 6 associated providers: 1 name:Intel

Pokud nevidíte obě karty, pravděpodobně vám chybí ovladač. (Ale OP říká, že konzole používá jeden a X používá druhý, takže pravděpodobně fungují oba)

Související:Příliš nízké rozlišení obrazovky Ubuntu 14.04 (grafická karta SiS 671)?

Měli byste být schopni použít xrandr --setprovideroutputsource přidejte porty Intel do seznamu zobrazeného vaším xrandr | grep conn V mém případě používám názvy dané --listproviders :

xrandr --setprovideroutputsource Intel NVIDIA-0

Pokud to nepřidá porty Intel, může být již připojeno tak, že to nevidíte. Odpojte jej pomocí:

xrandr --setprovideroutputsource Intel 0x0

Potom jej zkuste znovu připojit:

xrandr --setprovideroutputsource Intel NVIDIA-0

Nyní by se měly zobrazit všechny výstupní porty. A měli byste být schopni přidat displej pomocí nastavení zobrazení gnome nebo pomocí xrandr .

Takže když jsem konečně zprovoznil svůj intel displej, displeje nvidia se rozhodly, že se potřebují posouvat, když jsem se pokusil přesunout myš na třetí displej. Nyní by zobrazoval obsah třetího monitoru na třetím i druhém monitoru. A původní obsah druhého se přesunul na první monitor s obsahem prvního mimo obrazovku. Pokud bych se znovu pokusil přesunout kurzor na první monitor, vrátilo by se to do normálu.

Nakonec jsem to opravil dalším xrandr zavolejte:

xrandr --output DVI-I-2 --panning 3840x1200+1680+0/1920x1200+1680+0/0/0/0/0

Toto volání vyžaduje znalost fyzické geometrie obrazovky a logického rozvržení. Mám monitor 1680×1050, 1920×1200 a 1920×1080. Jsou v tomto pořadí zleva doprava. Pravá většina je připojena ke kartě Intel.

Toto volání nastavuje oblast panorámování na prostředním monitoru. --output DVI-I-2 je náhodou port připojený k mému prostřednímu monitoru.

První čtyři čísla nastavují oblast posouvání na součet střední a pravé obrazovky. 3840×1200 jako šířka a výška a +1680+0 pro odsazení oblasti tak, aby začínala vlevo nahoře na prostředním monitoru. (Zjevně [0,0] je v levém horním rohu levého monitoru)

Následující 4 čísla představují oblast sledování kurzoru. Nastavil jsem to tak, aby sledoval kurzor pouze na prostřední obrazovce. Tímto způsobem, když kurzor opustí tuto obrazovku, nesnaží se posunout obraz tak, aby sledoval kurzor.

Poslední 4 čísla definují hranici kolem oblasti posouvání. Zde pouze používám výchozí hodnoty.

Verze souvisejícího softwaru, který jsem používal:

xorg-server-1.17.4
gnome-3.18.0
xrandr-1.4.3

Ubuntu
  1. Notebook Optimus – sekání a zadrhávání videí s integrovanou grafikou Intel a trhání obrazovky s grafikou Nvidia?

  2. Jak zjistit, jaké ovladače a grafickou kartu používám?

  3. Nastavte poštovní server pomocí Exim a Dovecot na CentOS 7

  1. Jak nastavit vysokou dostupnost MariaDB s Heartbeat a DRBD na Ubuntu 16.04 LTS

  2. Jak nastavit LogAnalyzer s Rsyslog a MySQL

  3. Ubuntu 18.04 přestal pracovat s ovladači Nvidia?

  1. Pomalá Wifi s Ubuntu 18.04 a Intel Dual Band Wireless-ac 3168?

  2. Potíže s Nvidia Gpu a Ubuntu 16.04?

  3. Rozdíl mezi Acpi Cpufreq a Intel P-state?