GNU/Linux >> Linux Esercitazione >  >> Ubuntu

X.org può caricare due driver diversi? (configurazione a tripla testina con scheda Intel e Nvidia)?

Vogliamo configurare 3 schermi con una scheda grafica Intel integrata e una scheda nvidia.

Entrambe le carte sono riconosciute in 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)

E sostanzialmente funziona:se passo alla console, vedo l'output sulla scheda Intel,
X funziona solo sulla scheda Nvidia.

Ma quando digito xrandr | grep conn Ottengo solo una porta connessa:

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)

Sono su Ubuntu 12.10 (e XFCE) e ho installato il driver nvidia proprietario.

Presumo che X potrebbe avere un problema nel rilevare automaticamente entrambe le carte, quindi ho pensato al seguente xorg.conf potrebbe aiutare:

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

Ma non funziona ancora.

  • È generalmente possibile utilizzare due diversi driver in X?
  • È necessario creare un xorg.conf manualmente quindi? (perché Ubuntu 12.10 normalmente funziona senza xorg.conf )
  • Ci sono errori nel mio xorg.conf ?

Risposta accettata:

Sì, X può utilizzare più driver. La tua è una configurazione molto simile a quella che ho io. Ho una NVIDIA 9800 GT con due monitor collegati e una scheda Intel di seconda generazione con un solo monitor.

Non vedo alcun problema con il tuo xorg.conf . Sospetto che dovrai creare un xorg.conf se non altro per dire a X di utilizzare sia i driver nvidia che quelli Intel. Il mio xorg.conf somiglia molto alla tua; Ho tre sezioni monitor e schermo perché la scheda nvidia ha due monitor, ma sono abbastanza sicuro che X stia ignorando quelle sezioni.

Per prima cosa, assicurati che xinerama sia disabilitato in xorg.conf (forse non necessario).

xorg.conf :

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

Quando esegui un xrandr --listproviders dovresti vedere entrambe le carte.

[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

Se non vedi entrambe le carte, probabilmente ti manca un driver. (Ma OP dice che la console ne sta usando uno e X sta usando l'altro, quindi probabilmente funzionano entrambi)

Correlati:risoluzione dello schermo Ubuntu 14.04 troppo bassa (scheda grafica SiS 671)?

Dovresti essere in grado di usare xrandr --setprovideroutputsource per aggiungere le porte Intel all'elenco mostrato dal tuo xrandr | grep conn Nel mio caso uso i nomi dati da --listproviders :

xrandr --setprovideroutputsource Intel NVIDIA-0

Se ciò non aggiunge le porte Intel, potrebbe essere già connesso in un modo in cui non puoi vederlo. Disconnettilo con:

xrandr --setprovideroutputsource Intel 0x0

Quindi prova a collegarlo di nuovo:

xrandr --setprovideroutputsource Intel NVIDIA-0

Tutte le porte di output dovrebbero essere visualizzate ora. E dovresti essere in grado di aggiungere un display con le impostazioni di visualizzazione di gnome o con xrandr .

Quindi, quando finalmente ho fatto funzionare il mio display Intel, i display nvidia hanno deciso che avevano bisogno di una panoramica quando ho provato a spostare il mouse sul terzo display. Ora mostrerebbe il contenuto del terzo monitor sia sul terzo che sul secondo monitor. E il contenuto originale del secondo è scivolato sul primo monitor con il contenuto del primo fuori dallo schermo. Tornerebbe alla normalità se provassi a spostare nuovamente il cursore sul primo monitor.

Alla fine l'ho risolto con un altro xrandr chiama:

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

Questa chiamata richiede la conoscenza della geometria fisica dello schermo e del layout logico. Ho un monitor 1680×1050, un 1920×1200 e un 1920×1080. Sono in quest'ordine da sinistra a destra. La parte più a destra è collegata alla scheda Intel.

Questa chiamata sta impostando la regione di panoramica sul monitor centrale. --output DVI-I-2 sembra essere la porta collegata al mio monitor centrale.

I primi quattro numeri impostano la regione di panoramica sul totale delle schermate centrale e destra. 3840×1200 come larghezza e altezza e +1680+0 per compensare la regione per iniziare in alto a sinistra sul monitor centrale. (Apparentemente [0,0] è in alto a sinistra del monitor sinistro)

I successivi 4 numeri sono la regione di tracciamento del cursore. Ho impostato questo per tracciare solo il cursore sullo schermo centrale. In questo modo, quando il cursore lascia questa schermata, non tenta di spostare l'immagine per seguire il cursore.

Gli ultimi 4 numeri definiscono un bordo attorno all'area di panoramica. Sto solo usando i valori predefiniti qui.

Versioni del software correlato che stavo utilizzando:

xorg-server-1.17.4
gnome-3.18.0
xrandr-1.4.3

Ubuntu
  1. Come configurare MariaDB High Availability con Heartbeat e DRBD su Ubuntu 16.04 LTS

  2. Come configurare LogAnalyzer con Rsyslog e MySQL

  3. Problemi con Nvidia Gpu e Ubuntu 16.04?

  4. Configura Apache 2.4 e Php FPM con mod proxy fcgi su Ubuntu 13.10

  5. Configurazione ZFS per principianti con unità di dimensioni diverse

Configurazione dell'ambiente di sviluppo Ruby on Rails con Docker e Docker Compose su Ubuntu

Come configurare Magento 2 con Varnish e Apache su Ubuntu 16.04

Come configurare i servizi Ircd Hybrid e Anope con SSL su Ubuntu

Installa i driver NVIDIA su Ubuntu (modalità riga di comando e GUI)

Il sistema non si avvia con il driver Nvidia abilitato?

Configura il bilanciamento del carico con HAProxy, Nginx e Keepalived in Linux