Eu tenho tentado configurar minha placa NVidia para suportar uma instalação de vários itens por dois dias e sinto que não estou fazendo nenhum progresso.
Primeiro, tentei seguir as instruções do Ubuntu encontradas aqui:
Isso não é tão ruim, apenas os drivers da NVidia não oferecem uma maneira de selecionar um assento por conector de saída, já que ele define apenas um dispositivo na lista de dispositivos:
udevadm info --export-db
Isso me dá a seguinte entrada para a placa de vídeo da NVidia:
P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0
E: DRIVER=nvidia
E: ID_MODEL_FROM_DATABASE=GF108GL [Quadro 600]
E: ID_PCI_CLASS_FROM_DATABASE=Display controller
E: ID_PCI_INTERFACE_FROM_DATABASE=VGA controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=VGA compatible controller
E: ID_VENDOR_FROM_DATABASE=NVIDIA Corporation
E: MODALIAS=pci:v000010DEd00000DF8sv000010DEsd00000835bc03sc00i00
E: PCI_CLASS=30000
E: PCI_ID=10DE:0DF8
E: PCI_SLOT_NAME=0000:01:00.0
E: PCI_SUBSYS_ID=10DE:0835
E: SUBSYSTEM=pci
E: USEC_INITIALIZED=85345
Existem outras entradas para o áudio, mas nenhuma outra entrada para o vídeo. Portanto, não é possível criar dois "assentos de vídeo" (na verdade, nunca vi nada além de "seat0" com loginctl list-seats
na lista de assentos, embora tenha marcado o segundo mouse e o teclado como "assento-1". .. Do site freedesktop , parece adicionar qualquer tag chamada "seat - ??? "é o suficiente para criar um assento que loginctl list-seats
acabaria mostrando. Não funcionou para mim, mesmo após a reinicialização.)
Um aspecto interessante para esta entrada, não inclui uma marca de assento, como vemos em outras entradas:
E: TAGS=:seat:
Portanto, tenho certeza de que a configuração oferecida pela página do Ubuntu que eu criei acima não funcionará com a NVidia, a menos que você tenha duas ou mais placas de vídeo.
Mais tarde eu tentei o antigo, o que significa criar uma configuração do xorg.conf com 2 telas. A NVidia oferece uma maneira de fazer a configuração automaticamente, o que é ótimo (isto é, a ferramenta nvidia-settings pode ser usada para salvar um xorg.conf válido). Isso funciona no sentido de que temos duas telas independentes, mas não encontrei uma maneira de colocar uma tela de login na segunda tela (Tela 1). Tentei iniciar o X duas vezes, conforme mostrado em vários lugares, mas ao iniciar o X na tela 1, o driver da NVidia me diz que certos recursos não estão disponíveis (bloqueados pela tela 0).
[Seat0]
xserver-command=/usr/bin/X :0
[Seat1]
xserver-command=/usr/bin/X :1
Não tenho tanta certeza que lightdm tentaria iniciar ambos os servidores X, então tentei manualmente a partir de uma sessão ssh e tudo funciona bem ao iniciar a primeira instância X. O segundo gera erros e termina porque não foi possível inicializar o driver (o que faz sentido, pois ambos estariam tentando usar os mesmos recursos de hardware). A linha de comando completa que usei é:
/usr/bin/X -config /etc/X11/xorg.conf -isolateDevice PCI:1:0:0 :0 \
-auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -sharevts -keeptty
E use: 1 para o outro.
Então, estou pensando que a tela 0 e 1 de configuração direta é o que preciso usar e apenas me certifico de que a Tela 1 esteja reservada para um usuário diferente. Alguém saberia como fazer isso funcionar?
Existe uma versão do xorg.conf com a qual eu tentei até agora, mas ainda não encontrei uma maneira de obter a segunda tela de login ...
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 331.20 (buildd@roseapple) Mon Feb 3 15:07:22 UTC 2014
Section "ServerLayout"
Identifier "seat0"
Screen "Screen0" 0 0
#Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
#Option "Xinerama" "0"
# Avoid having X add all the devices to all the layouts
Option "AutoAddDevices" "False"
Option "AutoEnableDevices" "False"
EndSection
Section "ServerLayout"
Identifier "seat1"
Screen 0 "Screen1" 0 0
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
#Option "Xinerama" "0"
# Avoid having X add all the devices to all the layouts
Option "AutoAddDevices" "False"
Option "AutoEnableDevices" "False"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
#Option "Device" "/dev/psaux" -- default setup
Option "Device" "/dev/input/mouse0"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mouse1"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
# /devices/platform/i8042/serio0/input/input2
Option "Device" "/dev/input/event2"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard1"
Driver "kbd"
# /devices/platform/i8042/serio0/input/input2
Option "Device" "/dev/input/event7"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Sony SDM-S73"
HorizSync 28.0 - 65.0
VertRefresh 57.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro 600"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro 600"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "CRT-0"
Option "metamodes" "DVI-I-0: nvidia-auto-select +0+0; DVI-I-0: 1280x1024 +0+0; DVI-I-0: 1024x768 +0+0; DVI-I-0: 800x600 +0+0; DVI-I-0: 640x480 +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "DP-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection