Configure o ambiente multi-head no FreeBSD rodando o X.org

3

Meu objetivo é configurar um ambiente com várias cabeças: preciso ter uma área de trabalho estendida disponível nas duas telas com a capacidade de arrastar e soltar janelas de uma tela para outra. A tela da esquerda está em VGA port e a direita está conectada na porta HDMI .

Eu tentei brincar com xorg.conf , mas parece que não consigo configurar corretamente o multi-head.

Aqui está meu xorg.conf :

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/local/lib/xorg/modules"
    FontPath     "/usr/local/lib/X11/fonts/misc/"
    FontPath     "/usr/local/lib/X11/fonts/TTF/"
    FontPath     "/usr/local/lib/X11/fonts/OTF"
    FontPath     "/usr/local/lib/X11/fonts/Type1/"
    FontPath     "/usr/local/lib/X11/fonts/100dpi/"
    FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
    Load  "dbe"
    Load  "dri"
    Load  "dri2"
    Load  "extmod"
    Load  "record"
    Load  "glx"
EndSection

Section "InputDevice"
    Identifier   "Keyboard0"
    Driver      "evdev"
        Option       "XkbLayout" "fr"
        #Option      "XkbModel" "pc105"
        #Option      "Device" "/dev/ukbd0"
        #Option      "CoreKeyboard"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "auto"
    Option      "Device" "/dev/sysmouse"
    Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "ShadowFB"              # [<bool>]
        #Option     "DefaultRefresh"        # [<bool>]
        #Option     "ModeSetClearScreen"    # [<bool>]
    Identifier  "Card0"
    Driver      "vesa"
    VendorName  "Intel Corporation"
    BoardName   "Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller"
    BusID       "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Li em algum lugar que preciso das diretrizes Virtual e Modes então alterei a configuração como tal:

Section "Screen"
    # ...
    SubSection "Display"
        Viewport   0 0
        Depth     24
        Virtual   3600 1080
        Modes     "1920x1080" "1680x1050"
    EndSubSection
EndSection

O resultado foi uma imagem difusa na tela principal. Eu consegui mover o mouse e ver que a área de trabalho está realmente estendida. Mas é inutilizável e executado em apenas uma tela.

Eu também instalei XRandr conforme esta documentação , mas a saída de $ xrandr -q é como tal:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 1920 x 1200, maximum 1920 x 1200
default connected 1920x1200+0+0 0mm x 0mm
   1920x1200      0.00* 
   1600x1200      0.00  
   1280x1024      0.00  
   1024x768       0.00  
   800x600        0.00  
   640x480        0.00  

Então, vejo que há apenas uma tela detectada e, portanto, não consigo executar o seguinte comando para exibir a tela conforme minha vontade:

$ xrandr --output <RightScreen> --right-of default

Como não sei o nome de <RightScreen> .

A coisa mais estranha é que, na reinicialização com a tela HDMI correta conectada, a inicialização aparece na tela da direita e nada aparece na tela principal (esquerda). Quando eu me logar, o XFCE é incapaz de exibir qualquer coisa na tela da direita e eu fico com ambas as telas inutilizáveis. A única solução é desligar manualmente o computador (pressionando o botão), desconectar a tela da direita e reinicializar novamente.

O que estou perdendo? Eu sou completamente novo no mundo Linux, e muito menos FreeBSD , então fique comigo se eu estiver fazendo algo completamente errado.

Qualquer ajuda seria gentilmente apreciada. Obrigado!

Editar

Descobri que o driver padrão vesa não suporta multi-head.

Aqui está a saída de $ pkg info -a -o | grep video :

videoproto-2.3.2               x11/videoproto
xf86-video-ati-6.14.6_3        x11-drivers/xf86-video-ati
xf86-video-intel-2.7.1_8       x11-drivers/xf86-video-intel
xf86-video-mach64-6.9.4_3      x11-drivers/xf86-video-mach64
xf86-video-nv-2.1.20_4         x11-drivers/xf86-video-nv
xf86-video-openchrome-0.3.3_3  x11-drivers/xf86-video-openchrome
xf86-video-r128-6.9.2_3        x11-drivers/xf86-video-r128
xf86-video-vesa-2.3.3_3        x11-drivers/xf86-video-vesa

Aqui está também a saída para $ sysctl hw.model hw.machine hw.ncpu :

hw.model: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
hw.machine: amd64
hw.ncpu: 8
    
por D4V1D 03.04.2015 / 15:50

1 resposta

1

Vesa NÃO suporta exibição dupla. Você precisa iniciar o X com driver nativo, neste caso pela Intel.

Intel suporta dual-head para muitas placas. Você pode obter dual head xrandr (temporário) ou xorg configuration (reboot-persistant).

Leia isto . A Intel documentou muito bem sobre a configuração de cabeça dupla

    
por 14.04.2015 / 09:06