관련없는 소프트웨어 상호 작용으로 외부 모니터가 비활성화되고 xrandr에서이를 감지 할 수 없습니다


2

외부 모니터에 문제가있는 Arch Linux에서 KDE Plasma 5를 실행하는 랩톱이 있습니다.

모니터가 감지되기 ​​전에 HDMI 케이블을 연결하기 위해 여러 번 시도해야하는 경우가 있습니다. 그런 다음 Okular에서 PDF 파일을 열 때까지 정상적으로 작동하여 외부 모니터로의 출력을 비활성화합니다. 일부 응용 프로그램에서 확인 대화 상자가 나타나면 동일한 효과가 나타납니다.

Okular가 모니터를 "비활성화"하면 xrandr에 HDMI 포트 연결이 해제 된 것으로 표시됩니다.

때로는 모니터를 다시 연결해도 작동하지 않을 수 있습니다. Okular에서 다른 PDF 파일을 열 때 때로는 다시 살아납니다.

최근 Okular에서 프레젠테이션 모드로 PDF를 열어서 외부 모니터를 안정적으로 비활성화 할 수 있다는 것을 알았습니다. 이는 프로젝터를 통해 프레젠테이션을 할 때 특히 문제가됩니다.

물론 재부팅 후 모든 것이 "정상"으로 돌아갑니다.

이것은 여러 대의 모니터와 여러 케이블에서 발생했기 때문에 컴퓨터가 원인 인 것 같습니다. 소프트웨어를 통해이를 트리거 할 수 있다는 사실은 드라이버 문제를 암시합니다.

이 문제의 원인을 진단하는 방법을 모르기 때문에 해결책을 찾기조차 시작할 수 없습니다.

편집 오늘 Konsole여러 탭이 있는 인스턴스 를 닫아서 문제를 재현 할 수있었습니다 . 결과 대화 상자에 두 개의 탭을 한 번에 닫는 것에 대한 경고가 표시되었고 외부 모니터가 비활성화되었습니다. 또한 새로 컴파일 된 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 출력의 마지막 네 줄부터 시작하여 비교를 위해이 게시물의 하단에서 비 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 장치를 성공적으로 연결할 수 없었기 때문에 원래 질문을 재현 할 수 없었습니다. 그러나 Antergos Live Installer (GNOME을 사용하는 경우)에서 HDMI를 사용할 수 있으며 xrandr를 시작하면 특정 시점에서 xrandr가 반복적으로 중단되고 모니터 연결이 끊어지고 표시 목록에 표시되지 않습니다.

또한 내가보고있는 것과 비슷한 이 질문 을 발견 했습니다 .


1
KSCREEN_BACKEND = fake okular로 okular를 시작 하고 이것이 차이가 있는지보고 할 수 있습니까? 이것은 xrandr를 우회하여 okular가 잘 재생되지 않는 것 같습니다.
MariusMatutiae

@MariusMatutiae 나는 다음 주에 시도 할 것입니다. 그러나이 문제는 다른 응용 프로그램에서도 발생하므로 어딘가에 더 깊은 문제가 있어야합니다.
아무도

@MariusMatutiae KSCREEN_BACKEND=fake더 이상 okular를 사용하거나 사용하지 않고 문제를 재현 할 수 없습니다 . 그러나 여전히이 문제의 인스턴스가 하루에 한두 번 표시됩니다. 신뢰할 수있는 다른 재생기를 찾아야합니다. (
Nobody
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.