При использовании xorg-x11-server 1.20.1-5.2.el7_6 мне интересно, если я делаю простую ошибку конфигурации?

Следующие segfaults:

Section "ServerLayout" 
    Identifier "Example" 
    Screen 0 "A" 
    Screen 1 "B" 
EndSection 

Section "Device" 
    Identifier "A Card" 
    Driver "modesetting" 
    Screen 0 
    BusID "PCI:16@0:0:0" 
    Option "kmsdev" "/dev/dri/card1" 
    Option "Monitor-DVI-D-1" 
EndSection 

Section "Monitor" 
    Identifier "A Monitor" 
EndSection 

Section "Screen" 
    Identifier "A" 
    Device "A Card" 
    Monitor "A Monitor" 
EndSection 

Section "Device" 
    Identifier "B Card" 
    Driver "modesetting" 
    Screen 1 
    BusID "PCI:56@0:0:0" 
    Option "kmsdev" "/dev/dri/card0" 
    Option "Monitor-HDMI-1" 
EndSection 

Section "Monitor" 
    Identifier "B Monitor" 
EndSection 

Section "Screen" 
    Identifier "B" 
    Device "B Card" 
    Monitor "B Monitor" 
EndSection 
sudo cat /var/log/Xorg.0.log | grep -E '(EE)|(WW)'
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 70484.038] (WW) xf86OpenConsole: setpgid failed: Operation not permitted
[ 70484.038] (WW) xf86OpenConsole: setsid failed: Operation not permitted
[ 70484.038] (EE) 
[ 70484.038] (EE) Backtrace:
[ 70484.038] (EE) 0: /usr/bin/X (xorg_backtrace+0x55) [0x5571eeac9185]
[ 70484.039] (EE) 1: /usr/bin/X (0x5571ee918000+0x1b4e09) [0x5571eeacce09]
[ 70484.039] (EE) 2: /lib64/libpthread.so.0 (0x7f1aecfb9000+0xf5d0) [0x7f1aecfc85d0]
[ 70484.039] (EE) 3: /usr/lib64/xorg/modules/drivers/modesetting_drv.so (0x7f1ae91b8000+0xa144) [0x7f1ae91c2144]
[ 70484.039] (EE) 4: /usr/bin/X (0x5571ee918000+0xb0049) [0x5571ee9c8049]
[ 70484.039] (EE) 5: /usr/bin/X (xf86CallDriverProbe+0x4b) [0x5571ee9a700b]
[ 70484.039] (EE) 6: /usr/bin/X (xf86BusConfig+0x46) [0x5571ee9a7966]
[ 70484.039] (EE) 7: /usr/bin/X (InitOutput+0x8ac) [0x5571ee9b4f0c]
[ 70484.039] (EE) 8: /usr/bin/X (0x5571ee918000+0x601b0) [0x5571ee9781b0]
[ 70484.039] (EE) 9: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7f1aecc0e3d5]
[ 70484.039] (EE) 10: /usr/bin/X (0x5571ee918000+0x4a4ce) [0x5571ee9624ce]
[ 70484.039] (EE) 
[ 70484.039] (EE) Segmentation fault at address 0x2ba
[ 70484.039] (EE) 
[ 70484.039] (EE) Caught signal 11 (Segmentation fault). Server aborting
[ 70484.039] (EE) 
[ 70484.039] (EE) 
[ 70484.039] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 70484.039] (EE) 
[ 70484.039] (EE) Server terminated with error (1). Closing log file.

Тем не менее, каждый отдельный раздел в порядке. Обе следующие работы:

Section "ServerLayout"
    Identifier "Example"
    Screen 0 "A"
EndSection

Section "Device"
    Identifier "A Card"
    Driver "modesetting"
    Screen 0
    BusID "PCI:16@0:0:0"
    Option "kmsdev" "/dev/dri/card1"
    Option "Monitor-DVI-D-1"
EndSection

Section "Monitor"
    Identifier "A Monitor"
EndSection

Section "Screen"
    Identifier "A"
    Device "A Card"
    Monitor "A Monitor"
EndSection

Section "ServerLayout"
    Identifier "Example"
    Screen 0 "B"
EndSection

Section "Device"
    Identifier "B Card"
    Driver "modesetting"
    Screen 0
    BusID "PCI:56@0:0:0"
    Option "kmsdev" "/dev/dri/card0"
    Option "Monitor-HDMI-1"
EndSection

Section "Monitor"
    Identifier "B Monitor"
EndSection

Section "Screen"
    Identifier "B"
    Device "B Card"
    Monitor "B Monitor"
EndSection

Нужно ли добавить дополнительную конфигурацию для использования нескольких карт с драйвером modesetting ? Если это имеет значение, я собираюсь использовать ZaphodHeads, и мне не требуется ускорение на одной из карт. Я просто удалил лишнюю конфигурацию, чтобы продемонстрировать проблему более четко.

1 ответ1

0

Ошибка сегментации возникает, если для данного BusID нет "Экран 0". Основное недоразумение заключается в том, что номер экрана в разделе ServerLayout не связан с номером экрана в разделе Device.

Для тех, кто пытается использовать конфигурацию ZaphodHeads с несколькими картами, вот пример работы:

Section "ServerLayout"
    Identifier "Example"
    Screen 0 "A"
    Screen 1 "B"
    Screen 2 "C"
EndSection

Section "Device"
    Identifier "A Card"
    Driver "modesetting"
    BusID "PCI:16@0:0:0"
    Option "kmsdev" "/dev/dri/card1"
    Option "Monitor-DVI-D-1"
EndSection

Section "Monitor"
    Identifier "A Monitor"
EndSection

Section "Screen"
    Identifier "A"
    Device "A Card"
    Monitor "A Monitor"
EndSection

Section "Device"
    Identifier "B Card"
    Driver "modesetting"
    Screen 0
    BusID "PCI:56@0:0:0"
    Option "kmsdev" "/dev/dri/card0"
    Option "Monitor-HDMI-1"
    Option "ZaphodHeads" "HDMI-1"
EndSection

Section "Monitor"
    Identifier "B Monitor"
EndSection

Section "Screen"
    Identifier "B"
    Device "B Card"
    Monitor "B Monitor"
EndSection

Section "Device"
    Identifier "C Card"
    Driver "modesetting"
    Screen 1
    BusID "PCI:56@0:0:0"
    Option "kmsdev" "/dev/dri/card0"
    Option "Monitor-HDMI-2"
    Option "ZaphodHeads" "HDMI-2"
EndSection

Section "Monitor"
    Identifier "C Monitor"
EndSection

Section "Screen"
    Identifier "C"
    Device "C Card"
    Monitor "C Monitor"
EndSection

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .