Open eubnara opened 2 years ago
완전히 부팅하기 전에 (sddm 을 통해 로그인하기 전에) 외장모니터를 미리 연결해두면 이런현상이 발생하곤 한다. 로그인 후 연결하니 문제없다. 이런 현상이 발생했을 때 workaround 는 다음과 같다.
kquitapp5 plasmashell && kstart5 plasmashell
다음과 같은 스크립트를 만들어두고
#!/bin/bash
monitors=`xrandr | grep " connected" | wc -l`
if [[ "$monitors" -gt "1" ]];then
kquitapp5 plasmashell && kstart5 plasmashell
fi
로그인 스크립트에 추가해 주었다.
dell inspiron 5505 에서는 발생하지 않는데 ideapad 5 pro 16 에서는 발생했다. 차이는 ideapad 는 nvidia gpu 도 달려있는 hybrid 형태이다. (사실상 리눅스에서 따로 지정하지 않으면 amd gpu 만 쓰게 되어있어 내장 그래픽만 쓰고 있긴 하다.)
https://blog.victormendonca.com/2018/06/29/how-to-fix-sddm-on-multiple-screens/ 위 링크에 나온 방법을 적용하려고 hdmi, dp 가 연결되어있으면 xrandr --off 명령을 이용해 모두 꺼두려고 했다. 그런데 무언가 효과가 없었다.
/usr/share/sddm/scripts/Xsetup
파일의 /sbin/prime-offload
부분을 주석처리하니 문제가 해결되었다.
#!/bin/sh
# Xsetup - run as root before the login dialog appears
#if [ -e /sbin/prime-offload ]; then
# echo running NVIDIA Prime setup /sbin/prime-offload
# /sbin/prime-offload
#fi
sddm 로그인 진입하기 전 usb-c to usb-c 통한 외부모니터가 연결되어 있을 때, 로그인 후에 multiple screen 중 하나가 검은 바탕화면으로 나온다. plasmashell 을 재시작하면 되지만 workaround 이고 매번 부팅할 때마다 하는 건 올바르지 않은 것 같다. sddm 로그인 후에 외부모니터를 연결하면 문제가 없다.
/sbin/prime-offload
를 실행시키는 부분을 주석처리 한다.https://github.com/sddm/sddm/issues/393 https://github.com/sddm/sddm/issues/409
https://bbs.archlinux.org/viewtopic.php?id=270564
이것저것 해보다가 nvidia-xconfig 명령으로 생긴 파일로 화면이 계속 안나오는 사이드이펙트가 발생했다. 아래 명령으로 복구했다.
nvidia-xconfig --restore-original-backup
plasmashell 을 다시 실행시키면 해결되지만 재부팅이나 로그아웃 후 다시 로그인시 재발생한다.
https://forum.kde.org/viewtopic.php?f=289&t=125034
정확히 해결방법은 아직 모르겠으나, 아래와 같이 해봤었다. 하지만 문제가 재현된다.