У меня есть ноутбук с установленной KDE Plasma 5 на Arch Linux, на котором возникают проблемы с внешними мониторами.
Иногда мне приходится несколько раз пытаться подключить HDMI-кабель, прежде чем монитор будет обнаружен. Затем все работает нормально, пока я не открою PDF-файл в Okular, который отключает вывод на внешний монитор. В некоторых приложениях всплывающее диалоговое окно подтверждения приводит к тому же эффекту.
Когда монитор «отключен» с помощью Okular, xrandr сообщает, что порт HDMI отключен.
Иногда переподключение монитора срабатывает, иногда нет. Иногда он оживает при открытии другого PDF-файла в Okular.
Недавно я заметил, что могу надежно отключить внешний монитор, открыв PDF-файл в режиме презентации в Okular, что особенно проблематично, когда я хочу провести презентацию через проектор.
Конечно, после перезагрузки все возвращается на круги своя.
Обратите внимание, что это произошло с несколькими мониторами и несколькими кабелями, поэтому компьютер, похоже, является причиной. Тот факт, что я могу вызвать это через программное обеспечение, намекает на проблему с драйвером.
Я даже не могу начать искать решение, потому что понятия не имею, как диагностировать причину этой проблемы.
РЕДАКТИРОВАТЬ
Сегодня я смог воспроизвести проблему, попытавшись закрыть Konsole
экземпляр с несколькими вкладками. В появившемся диалоговом окне было предупреждение о закрытии 2 вкладок одновременно, а внешний монитор был отключен. Я также смог включить и выключить внешний монитор, запустив свежескомпилированную версию GTKХодячий игрок.
ОБНОВЛЯТЬ Сегодня у моего коллеги была похожая проблема с тем же оборудованием, запущенным 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 и отключению монитора, а также его удалению из списка дисплеев.
Я также нашелэтот вопросчто похоже на то, что я вижу.