Jak uruchomić sterownik karty graficznej Intel i Nvidia na konfiguracji z dwoma monitorami?

8

Próbuję sprawić, by karta graficzna Intel i Nvidia współpracowały z dwoma monitorami. Jeden monitor powinien korzystać z karty Intel, a drugi z karty Nvidia. Oczywiście chcę używać tylko jednej klawiatury i jednej myszy, aby przełączać się między oboma ekranami. Trzmiel nie działał dla mnie.

Nie chcę używać tego xserver-xorg-video-allpakietu, ponieważ potrzebuję karty Nvidia do gier i nie mogę używać tylko jednej karty graficznej, ponieważ potrzebuję jednej do wirtualizacji KVM, a drugiej do pulpitu Linux

Próbowałem więc zainstalować sterowniki i ręcznie skonfigurować Xserver. Sterownik Nvidia działa i otrzymuję wyjście wideo. Ale nie mam wyjścia wideo z kartą Intel.

Postępowałem zgodnie z instrukcjami w tym poście na blogu

Pliki konfiguracyjne:

/etc/X11/xorg.conf.nvidia
/etc/X11/xorg.conf.intel
/etc/lightdm/lightdm.conf

Oto powiązany post StackOveflow

Wulfspider
źródło

Odpowiedzi:

14

Jest to możliwe od 2013 roku przy użyciu odciążania grafiki (patrz http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html )

Poniższe używa darmowych sterowników (nouveau) i nie będzie działać przy użyciu zastrzeżonych sterowników nvidii.

Używam tego od kilku miesięcy i działa dla mnie wystarczająco dobrze. Oto moja konfiguracja:

 __nvidia__ __intel___ __nvidia__
|          |          |          |
|  DVI-I-1 |   VGA-1  |  DVI-D-1 |
|__________|__________|__________|

Oto, czego powinieneś użyć, jeśli uciekasz z karty NVIDIA i chciałbyś wyświetlić trzeci ekran za pomocą osadzonej grafiki (intel):

Xorg.conf

# Discrete Card as Primary GPU

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nouveau"
    Inactive "intel"
EndSection

Section "Device"
    Identifier  "nouveau"
    Driver      "nouveau"
    BusID       "PCI:1:0:0" # see man lspci
EndSection

Section "Screen"
    Identifier "nouveau"
    Device "nouveau"
EndSection

Section "Device"
    Identifier  "intel"
    Driver      "modesetting"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Teraz dodaj to do skryptu uruchamiania menedżera sesji:

xrandr --setprovideroutputsource modesetting nouveau
xrandr --output VGA-1 --mode 1920x1080
sleep 1s
xrandr --output VGA-1 --mode 1920x1080 --pos 1920x0 --rotate normal --output DVI-D-1 --mode 1920x1080 --pos 3840x0 --output DVI-I-1 --mode 1920x1080 --pos 0x0

Te pasty pochodzą z mojej własnej konfiguracji i należy je dostosować, aby pasowały do ​​Twojego własnego przypadku użycia. Pełna dokumentacja jest dostępna tutaj: http://us.download.nvidia.com/XFree86/Linux-x86/319.12/README/randr14.html

W tej konfiguracji procesor graficzny nvidia wykonuje całą pracę renderowania. Intel iGPU po prostu wyświetla wszystko, co wysyła do niego główny procesor graficzny. Należy pamiętać, że GPU nvidia jest całkowicie nieświadoma stanu iGPU, gdy wysyła ramki do wyświetlenia. Oznacza to, że może dojść do znacznego rozdarcia (w poziomie ORAZ po przekątnej!). Dla tych, którzy mogą chcieć to sprawdzić, nie możesz użyć opcji „TearFree” w Xorg.conf.

MikaDo-
źródło
1
Czy jest jakieś rozwiązanie dla karty graficznej AMD?
Lothar
3

Trochę prostsze niż w MikaDo- post.

Potrójne monitory z GT 1030 (DVI, HDMI) i Intel HD 4600 (wyjście VGA).

Ustawienia BIOS:

Primary GPU: PCI Express
IGPU Multi-monitor: Enabled

Pracowałem dla mnie na Ubuntu 14.04 ze sterownikiem NVIDIA (nie w Nouveau, tak naprawdę nie wypróbowałem Nouveau), dokładnie tak, jak opisano w oryginalnym artykule ( http://us.download.nvidia.com/XFree86/Linux-x86/319.12/ README / randr14.html ) (najpierw musiał się przespać! :-))

po prostu wymyśl identyfikator Nvidia BUS za pomocą

nvidia-xconfig --query-gpu-info

i musiałem umieścić końcowe polecenia w .xprofile

#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

następnie układ ekranu jest konfigurowany za pomocą natywnych ustawień wyświetlania Ubuntu (GUI)

nazar kuliyev
źródło
Tylko aktualizacja linku do dokumentacji: < us.download.nvidia.com/XFree86/Linux-x86/375.26/README/… >. Wygląda na to, że synchronizacja jest teraz obsługiwana, chociaż jej nie testowałem.
stożek
0

Z powodzeniem pozwalam mu działać, śledząc rozwiązanie MikaDo w Ubuntu 18.04

OS : ubuntu 18.04  
GPU : nvidia 1080ti @ nvidia 410.104 driver / CUDA 10.0  
MB: MSI Z370 tomahawk  
CPU: intel core i7 8700  
Screen1 : LG 29" 21:9 @ 1080ti/DP  
Screen2 : PHILIPS 27" 4K @ Intel Graphic/HDMI on motherboard 

1. Włącz opcję iGPU w biosie i zainstaluj sterownik grafiki Intel

2. Dodaj następujące wiersze w pliku /etc/X11/xorg.conf: (pamiętaj, aby wykonać kopię zapasową przed edycją)

Section "Device"
    Identifier "intel"
    Driver "modesetting"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

3)

sudo xrandr --setprovideroutputsource modesetting NVIDIA-0
sudo xrandr --auto
  1. Restart. Wtedy zobaczysz 2 ekrany oba wyświetlają się dobrze. (ale może nie działać w prawidłowej rozdzielczości) wprowadź opis zdjęcia tutaj

5. Postępuj zgodnie z tym samouczkiem, aby dodać tryb wyświetlania

W moim przypadku wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

cswu
źródło