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 bezxorg.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