Einige Infos:
distro: lubuntu 20.04
default dm - sddm
gpu - integrated intel, and Nvidia GTX 1650 mobile
nvidia drivers - nvidia-470
Wenn ich den bereitgestellten Standard-Display-Manager verwende, sddm
funktioniert das System einwandfrei, d. h. i3
openbox
jeder WM funktioniert.
Aber sobald ich es verwende, startx /usr/bin/i3
bekomme ich einen schwarzen Bildschirm . Ich habe .xinitrc
immer noch das gleiche Ergebnis erzielt. Ich verwende auch ein anderes wm
Like openbox
, also openbox-session
immer noch das gleiche Ergebnis.
Ich habe sddm
den Dienst beendet und es startx
noch einmal versucht, immer noch dasselbe Ergebnis, ich bekomme einen schwarzen Bildschirm ohne Cursor. Ich wechsle zu einem anderen tty
und verwende ihn htop
und stelle fest, dass beide xorg
laufen i3
.
Ich habe das Xorg-Protokoll überprüft und es meldet keinen Fehler.
prime-select query
gibt nvidia
als Ergebnis an. Wenn ich benutze prime-select intel
und dann neu starte, startx
funktioniert es. Ich denke also, dass ich bei der Verwendung etwas konfigurieren muss nvidia
.
Wie kann ich es schaffen startx
, dass kein schwarzer Bildschirm erscheint?
Danke.Wenn ich weitere Informationen hinzufügen sollte, sagen Sie mir bitte Bescheid, ich werde sie hinzufügen.
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
Antwort1
Da ich verwende nvidia-prime
, muss ich einige Zeilen hinzufügen, damit .xinitrc
es funktioniert. Der Display-Manager sddm
macht das auch, aber ich weiß nicht, wo sein Skript ist.
Fügen Sie diese Zeilen am Anfang von.xinitrc
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
Quelle -NVIDIA-Optimus ArchWiki
Noch besser ist es, einige if hinzuzufügen,
DRIVER="$(prime-select query)"
if [ "$DRIVER" = 'nvidia' ]; then
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
fi