Gnome, игнорирующий второй монитор Ubuntu 19.10

tl; доктор: у Меня есть установка Ubuntu 19.10, которая распознает оба монитора (lspci шоу оба и я получаю курсор на втором), но xrandr -q и GNOME только видит одного из них. Какова могла бы быть проблема?


Я настроил новую систему с парой карт GeForce RTX 2080 Ti и монитора 4K, подключенного к каждому через USB-C.

После установки Ubuntu 19.10 подошел только один монитор. Выполнение sudo nvidia-settings дал мне образец xconfig, к которому я добавил /usr/share/X11/xorg.conf.d/10-nvidia.conf. Результат:

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 435.21

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
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"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG Electronics LG HDR 4K"
    HorizSync       30.0 - 135.0
    VertRefresh     56.0 - 61.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "LG Electronics LG HDR 4K"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce RTX 2080 Ti"
    BusID          "PCI:10:0:0"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce RTX 2080 Ti"
    BusID          "PCI:4:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-6"
    Option         "metamodes" "nvidia-auto-select +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" "nvidia-auto-select +0+0 {AllowGSYNC=Off}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

После перезагрузки я все еще получаю GNOME на одном мониторе. Другой монитор, однако, является черным экраном только с значением по умолчанию X курсоров (свечение справа является просто отражениями о мониторе):

enter image description here

Я также заметил две gdm3 сессии в htop, одно выполнение:

/usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3

Другое выполнение той же командной строки, но с vt1 вместо vt2. При уничтожении vt2 каждый уничтожил мою сессию GNOME. Уничтожение другого, однако, казалось, ничего не сделало. Я могу даже все еще видеть курсор на втором мониторе.

Afaict от Settings | Devices | Screen Display, только один монитор присутствует:

enter image description here

Некоторые дополнительные данные:

$ lspci | grep -i nvidia
04:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
04:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
04:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Controller (rev a1)
04:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 UCSI Controller (rev a1)
0a:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti Rev. A] (rev a1)
0a:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller (rev a1)
0a:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Controller (rev a1)
0a:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 UCSI Controller (rev a1)
$ xrandr -q
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
USB-C-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
   3840x2160     60.00*+  30.00  
   2560x1440     59.95  
   1920x1080     60.00    59.94  
   1600x900      60.00  
   1280x1024     60.02  
   1280x800      59.81  
   1280x720      60.00    59.94  
   1152x864      59.96  
   1024x768      60.00  
   800x600       60.32  
   720x480       59.94  
   640x480       59.94    59.93  
$ nvidia-smi
Sun Dec  8 14:19:03 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:04:00.0  On |                  N/A |
| 25%   32C    P8     6W / 260W |     39MiB / 11019MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce RTX 208...  Off  | 00000000:0A:00.0  On |                  N/A |
| 32%   41C    P8     4W / 260W |    571MiB / 11016MiB |      4%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      7142      G   /usr/lib/xorg/Xorg                            37MiB |
|    1      7142      G   /usr/lib/xorg/Xorg                           268MiB |
|    1      7351      G   /usr/bin/gnome-shell                         260MiB |
|    1      9360      G   gnome-control-center                           6MiB |
|    1     10505      G   ...no-sandbox --gpu-preferences=IAAAAAAAAA    34MiB |
+-----------------------------------------------------------------------------+

Вопрос: Почему только один из моих мониторов взятый GNOME и что я могу сделать для фиксации этого?

ОБНОВЛЕНИЕ: я загрузил мой /var/log/Xorg.0.log. Некурящее оружие там, afaict.

2
задан 15 December 2019 в 05:48

2 ответа

Ваш xorg.conf показывает следующую установку. Вы сконфигурировали два экрана, которые каждый, по всей вероятности localhost:0.0, и другой localhost:0.1 (или :0.0 и :0.1 короче). Это также возможно :1.0 и :1.1 или :2.0 и :2.1, но так как у Вас есть Xorg. 0 .log это :0.0 и :0.1. Только для получения информации, Если Вы выполняете больше случаев Xorg, Вы получаете более высокие числа дисплея. Это удобно для установок мультиместа ( https://www.x.org/wiki/Development/Documentation/Multiseat / ), но Вам не нужно это.

я вижу, что Вы заметили два выполнения программ Xorg. Один на vt1 и другом на vt2. Вы можете переключиться между ними с высоким звуком Ctrl F1 и высоким звуком Ctrl F2 . См. Дубликат xorg сессия, созданная на Ubuntu 18.04 с Драйверами Nvidia для большего количества информации

Попытка выполнить эти команды от командной строки:

DISPLAY=:0.0 xclock &
DISPLAY=:0.1 xclock &

Они должны открыть два xclocks каждый на одном экране. xclock на втором экране не может быть перемещен, потому что нет никакого администратора полноэкранного режима там. "X" курсор на втором экране указывает, что Xorg работает правильно туда. У Вас просто нет администратора полноэкранного режима на том экране. Проблема, которую Вы имеете, состоит в том, что Гном, очевидно, не может обращаться с двумя экранами (:0.0, и :0.1). Это видно в xorg.conf, что каждый экран работает на своем собственном графическом адаптере (BusID "PCI:10:0:0", BusID "PCI:04:0:0").

Вы могли выполнить другой администратор полноэкранного режима на втором экране, но я думаю, что Вы не хотите делать это хотя также. Это прибывает удобное для некоторых конфигураций. Вы не можете переместить окна от в экран другому в этом случае.

я думаю, что решение в Вашем случае состояло бы в том, чтобы использовать Xinerama ( https://en.wikipedia.org/wiki/Xinerama, https://help.ubuntu.com/community/XineramaHowTo), который Вы отключили в своем xorg.conf. От Вашего xorg.conf таким образом Xinerama отключен (Option "Xinerama" "0").

Вы можете попытаться только разрешить Xinerama в xorg.conf (Option "Xinerama" "1"), или произвести другой xorg.conf с nvidia-settings на этот раз с Xinerama включало.

[еще 1138] идеи:

  • я предложил бы выполнить программы таким же образом, когда Вы запустили xclock с различных целевых дисплеев. Вы можете сделать это также из текста tty терминалы (vt3, vt4...). Таким образом Вы будете видеть, какие дисплеи Вы имеете. С активным Xinerama у Вас должен быть только один ДИСПЛЕЙ.
  • следующая вещь, которую я попробовал бы, состоит в том, чтобы исследовать Xorg.0.log. Согласно Вашему комментарию у Вас должен также быть Xorg.1.log.
  • , Если бы Xorg запускается правильно, я искал бы ошибки Гнома ($HOME/.xsession-errors).
  • И одна очень важная вещь - пробуют другой XServers. Когда Вы входите в систему, Вы видите значок настроек, кроме того Sign in кнопка. Выберите различные варианты (мой любимый кандидат на Вашу проблему Gnome on Xorg). Я видел ко многим странным проблемам с Уэйлендом. :-(
1
ответ дан 22 December 2019 в 23:52

Я решил свою проблему с помощью nvidia-settings для принудительного выполнения:

  • ТОЛЬКО один графический процессор
  • подключить оба экрана к одному и тому же XServer

screen-1

screen-2

dual-screen-3

Мой /etc/X11/xorg.conf выглядит вроде:

# nvidia-settings: X configuration file generated by nvidia-settings

# nvidia-settings:  version 435.21

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
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"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL P2715Q"
    HorizSync       31.0 - 140.0
    VertRefresh     29.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 970"
    BusID          "PCI:2:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-2"
    Option         "metamodes" "GPU-7b73f4b2-5211-0f20-32fb-4e29bfc82a31.DP-0: 3840x2160_60 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, GPU-48e16c73-84d2-6b66-9625-b44b1ab1642d.DP-0: nvidia-auto-select +3840+0"
    Option         "MultiGPU" "Off"
    Option         "SLI" "off"
    Option         "BaseMosaic" "on"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Надеюсь, это вам поможет!

1
ответ дан 23 January 2020 в 09:34

Другие вопросы по тегам:

Похожие вопросы: