startx는 nvidia 드라이버로 인해 검은색 화면을 표시합니다.

startx는 nvidia 드라이버로 인해 검은색 화면을 표시합니다.

일부 정보:

distro: lubuntu 20.04
default dm - sddm
gpu - integrated intel, and Nvidia GTX 1650 mobile
nvidia drivers - nvidia-470

기본 디스플레이 관리자를 사용하면 sddm시스템이 완벽하게 작동합니다. 즉, i3 openbox모든 wm이 작동합니다.

하지만 사용하자마자 startx /usr/bin/i3검은 화면이 나타나고 .xinitrc여전히 동일한 결과가 생성되었습니다. 나는 또한 또 다른 wmlike 를 사용합니다 openbox. 즉, openbox-session여전히 동일한 결과입니다.

서비스를 중지 sddm하고 startx다시 시도했지만 여전히 동일한 결과가 나타납니다. 커서 없이 검은색 화면이 나타납니다. 다른 것으로 전환하여 tty사용하면 둘 다 실행 중임 htop을 알 수 있습니다 .xorgi3

xorg 로그를 확인했는데 오류가 보고되지 않았습니다. 결과적으로 prime-select query줍니다 . nvidia사용 prime-select intel하고 재부팅하면 startx작동합니다. 그래서 사용할 때 뭔가 설정을 해줘야 할 것 같아요 nvidia.

startx검은 화면이 나타나지 않도록 하려면 어떻게 해야 합니까 ?

감사해요.더 많은 정보를 추가해야 한다면 추가하겠다고 말씀해 주세요.

htop preview of sddm

├─ /usr/bin/sddm
│  ├─ /usr/lib/x86_64-linux-gnu/sddm/sddm-helper --socket /tmp/sddm-auth1a548eff-e892-4543-89ec-705e1c6138a1 --id 1 --start i3 --user totoro
│  │  └─ i3
│  │     └─ /usr/bin/ssh-agent i3
│  ├─ /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{36771d4e-9416-4be0-bfae-49c50dc60bc3} -background none -noreset -displayfd 17 -seat seat0 vt1
│  │  ├─ /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{36771d4e-9416-4be0-bfae-49c50dc60bc3} -background none -noreset -displayfd 17 -seat seat0 vt1
│  │  ├─ /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{36771d4e-9416-4be0-bfae-49c50dc60bc3} -background none -noreset -displayfd 17 -seat seat0 vt1
│  │  ├─ /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{36771d4e-9416-4be0-bfae-49c50dc60bc3} -background none -noreset -displayfd 17 -seat seat0 vt1
│  │  ├─ /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{36771d4e-9416-4be0-bfae-49c50dc60bc3} -background none -noreset -displayfd 17 -seat seat0 vt1
│  │  └─ /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{36771d4e-9416-4be0-bfae-49c50dc60bc3} -background none -noreset -displayfd 17 -seat seat0 vt1
│  └─ /usr/bin/sddm

htop preview of startx

├─ /bin/login -p --
│  └─ -zsh
│     └─ /bin/sh /usr/bin/startx
│        └─ xinit /home/totoro/.xinitrc -- /etc/X11/xinit/xserverrc :1 vt2 -keeptty -auth /tmp/serverauth.czCRUMFwtc
│           ├─ /usr/bin/openbox --startup /usr/lib/x86_64-linux-gnu/openbox-autostart OPENBOX
│           └─ /usr/lib/xorg/Xorg -nolisten tcp :1 vt2 -keeptty -auth /tmp/serverauth.czCRUMFwtc
│              ├─ /usr/lib/xorg/Xorg -nolisten tcp :1 vt2 -keeptty -auth /tmp/serverauth.czCRUMFwtc
│              ├─ /usr/lib/xorg/Xorg -nolisten tcp :1 vt2 -keeptty -auth /tmp/serverauth.czCRUMFwtc
│              ├─ /usr/lib/xorg/Xorg -nolisten tcp :1 vt2 -keeptty -auth /tmp/serverauth.czCRUMFwtc
│              ├─ /usr/lib/xorg/Xorg -nolisten tcp :1 vt2 -keeptty -auth /tmp/serverauth.czCRUMFwtc
│              └─ /usr/lib/xorg/Xorg -nolisten tcp :1 vt2 -keeptty -auth /tmp/serverauth.czCRUMFwtc

답변1

를 사용하고 있으므로 작동하려면 nvidia-prime에 몇 줄을 추가해야 합니다 . .xinitrc디스플레이 관리자 sddm도 이 작업을 수행하지만 스크립트가 어디에 있는지 모르겠습니다.

다음 줄을 시작 부분에 추가하세요..xinitrc

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

원천 -NVIDIA-Optimus ArchWiki

몇 가지를 추가하는 것이 더 좋습니다.

DRIVER="$(prime-select query)"
if [ "$DRIVER" = 'nvidia' ]; then
    xrandr --setprovideroutputsource modesetting NVIDIA-0
    xrandr --auto
fi

관련 정보