xorg.conf para 2 servidores X em 1 placa de vídeo

0

Deve ser possível executar 2 servidores X a partir de uma placa de vídeo, certo? Posso fazer com que meu sistema execute 2 servidores X em 2 placas de vídeo (Nvidia 960 e o vídeo da placa-mãe), mas não consigo instalar 2 servidores X apenas na placa Nvidia usando sua porta de vídeo e porta HDMI .

Aqui está o meu arquivo xorg.conf para 2 servidores X em uma placa de vídeo (note que aqui foram removidas todas as seções InputDevice):

Section "ServerFlags"
    Option         "DefaultServerLayout" "seat0"
    Option         "AllowMouseOpenFail"  "true"
    Option         "AutoAddDevices"      "false"
    Option         "AutoEnableDevices"   "false"
EndSection

Section "ServerLayout"
    Identifier     "seat0"
    Screen         "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Touchscreen0" "CorePointer"
    Option         "Seat"  "seat0"
    Option         "SingleCard" "on"
EndSection

Section "ServerLayout"
    Identifier     "seat1"
    Screen         "Screen1" 0 0
    InputDevice    "Keyboard1" "CoreKeyboard"
    InputDevice    "Touchscreen1" "CorePointer"
    Option         "Seat"  "seat1"
    Option         "SingleCard" "on"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL E196FP"
    HorizSync       31.0 - 80.0
    VertRefresh     56.0 - 75.0
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "DELL E170S"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 76.0
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 960"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"
    Identifier     "Videocard1"
    Driver         "vesa"
    BusID          "PCI:3:0:0"
    Option         "ProbeAllGpus"          "false"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth   24
    Option         "NoLogo" "True"
    Option         "UseDisplayDevice" "DFP"
    Option         "AddARGBVisuals" "True"
    Option         "AddARGBGLXVisuals" "True"
    Option         "DynamicTwinView" "False"
    Option         "metamodes" "DVI-I-0: 1280x1024 +0+0"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Videocard1"
    Monitor        "Monitor1"
    DefaultDepth   24
    Option         "NoLogo" "True"
    Option         "UseDisplayDevice" "DFP"
    Option         "AddARGBVisuals" "True"
    Option         "AddARGBGLXVisuals" "True"
    Option         "DynamicTwinView" "False"
    Option         "metamodes" "DFP-2: 1024x768 +0+0"
EndSection

Eu inicio cada servidor X com os seguintes comandos:

startx -- :0 -layout seat0

e

startx -- :1 -layout seat1 -sharevts

O que eu preciso mudar para que a placa Nvidia seja a fonte de ambos os servidores X?

    
por TheGeneral 17.07.2017 / 20:53

1 resposta

2

Você não pode executar dois servidores em um único cartão: os dois servidores precisam "possuir" o mesmo conjunto de registros de hardware, e isso não funciona.

Mas você pode configurar um servidor X para usar duas telas . Os nomes de exibição se parecerão com :0.0 e :0.1 (em vez de :0 e :1 para dois servidores diferentes). A parte de hardware que faz a leitura de vídeo para uma tela é também chamada de "head", então essa configuração é habilitada pela opção ZaphodHeads na maioria dos drivers X, por exemplo. intel e nouveau (depois de Zaphod Beeblebrox). Veja por exemplo aqui para nouveau .

O código fonte nvidia do código-fonte fechado não tem essa opção IIRC, porque eles usam sua própria estrutura TwinView independente da plataforma.

Eu só posso dar a configuração para o driver intel , já que eu não tenho uma placa Nvidia, então é melhor seguir a documentação para nouveau .

    
por 17.07.2017 / 21:16

Tags