2

У меня есть ноутбук под управлением KDE Plasma 5 на Arch Linux, который имеет проблемы с внешними мониторами.

Иногда мне приходится несколько раз пытаться подключить кабель HDMI, прежде чем обнаружится монитор. Затем он работает нормально, пока я не открою PDF-файл в Okular, который отключает вывод на внешний монитор. В некоторых приложениях всплывающее диалоговое окно подтверждения приводит к тому же эффекту.

Когда Okular "отключил" монитор, xrandr сообщает, что порт HDMI отключен.

Иногда переподключение монитора работает, иногда нет. Иногда это возвращается к жизни при открытии другого файла PDF в Okular.

Недавно я заметил, что могу надежно отключить внешний монитор, открыв PDF в режиме презентации в Okular, что особенно проблематично, когда я хочу сделать презентацию через проектор.

Конечно, после перезагрузки все возвращается в "нормальное состояние".

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

Я даже не могу найти решение, потому что понятия не имею, как диагностировать причины этой проблемы.

РЕДАКТИРОВАТЬ Сегодня я мог воспроизвести проблему, пытаясь закрыть экземпляр Konsole с несколькими вкладками. В результате диалоговое окно предупреждает о закрытии сразу 2 вкладок и внешний монитор был отключен. Я также смог включить и выключить внешний монитор, запустив недавно скомпилированную версию GTK Ambulant Player.

ОБНОВЛЕНИЕ Сегодня у моего коллеги была похожая проблема с тем же оборудованием, работающим с Gnome. При подключении разъема HDMI монитор обнаруживается на короткое время (xrandr отображает параметры), а затем снова отключается. Во время этой процедуры монитор ноутбука мигает один раз, как будто переключается на внешний выход, а затем обратно.

В любом случае, при диагностике мы запустили watch -n 0.5 xrandr чтобы поймать момент, когда обнаружен монитор. Я попытался сделать это в своей системе и заметил, что во время работы этой команды наблюдается огромная задержка во всей системе. Кроме того, я получаю пустой вывод время от времени, и dmesg выдает эти ошибки:

[13856.498317] xrandr[30492]: segfault at 38 ip 000000000040300c sp 00007ffffbd85370 error 4 in xrandr[400000+e000]
[13913.933446] xrandr[30629]: segfault at 38 ip 0000000000402f8d sp 00007fff27f746f0 error 4 in xrandr[400000+e000]
[13945.980728] xrandr[30709]: segfault at 38 ip 0000000000402f8d sp 00007ffc510a87e0 error 4 in xrandr[400000+e000]
[14022.522987] xrandr[30880]: segfault at 38 ip 0000000000402f8d sp 00007fffe3d274c0 error 4 in xrandr[400000+e000]
[14049.008622] xrandr[30939]: segfault at 38 ip 0000000000402f8d sp 00007ffc295ca130 error 4 in xrandr[400000+e000]

Так что что-то подозрительное происходит. Любые указатели о том, как отладить Xrandr? Runnig gdb xrandr дал мне это (начиная с последних четырех строк вывода xrandr, для сравнения, посмотрите на вызов non-segfault внизу этого поста):

   400x300       60.32    56.34  
   320x240       60.05  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected (normal left inverted right x axis y axis)

Program received signal SIGSEGV, Segmentation fault.
0x0000000000402f8d in ?? ()
(gdb) bt
#0  0x0000000000402f8d in ?? ()
#1  0x00007ffff71f843a in __libc_start_main () from /usr/lib/libc.so.6
#2  0x0000000000408629 in ?? ()
(gdb) disassemble 0x0000000000408620,100
Dump of assembler code from 0x408620 to 0x64:
End of assembler dump.

Еще несколько выводов dmesg, которые могут быть связаны:

[14887.537240] [drm:drm_dp_dual_mode_detect [drm_kms_helper]] *ERROR* Unexpected DP dual mode adaptor ID 04
[14887.681751] i915 0000:00:02.0: HDMI-A-1: EDID is invalid:
[14887.681758]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681761]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681763]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681765]  [00] BAD  04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04
[14887.681767]  [00] BAD  04 05 ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14887.681770]  [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14887.681771]  [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14887.681773]  [00] BAD  ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[14892.829695] [drm:drm_dp_dual_mode_detect [drm_kms_helper]] *ERROR* Unexpected DP dual mode adaptor ID 04

Также обратите внимание на следующий вывод xrandr (на этом ноутбуке только один порт HDMI и один внутренний монитор):

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1920x1080     60.02*+
   1400x1050     59.98  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   800x600       60.00    60.32    56.25  
   700x525       59.98  
   640x512       60.02  
   640x480       60.00    59.94  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.88  
   1280x1024     60.02  
   1280x960      60.00  
   1152x864      59.97  
   1280x720      60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)

ОБНОВИТЬ

В течение некоторого времени я больше не мог успешно подключать какое-либо устройство HDMI, поэтому исходный вопрос для меня может быть невоспроизводимым. Тем не менее, я заметил, что я могу использовать HDMI на Antergos Live Installer (который использует GNOME?) и что повторный запуск xrandr в какой-то момент приведет к аварийному завершению работы xrandr, отключению монитора и удалению его из списка отображения.

Я также нашел этот вопрос, который звучит похоже на то, что я вижу.

0