web-dev-qa-db-ja.com

Nvidia Optimusラップトップ:startXとxinitが機能しない(Arch)

Xserverが起動しないため、PCを起動できません。奇妙なことに、SDDMを使用すると、正常に起動します。私も数ヶ月前にLightdmを使おうとしましたが、起動したくありませんでした。この問題が原因だと思います。

私はこの問題を1年ほど抱えていますが、常にSDDMを使用していたので、それほど気になりませんでした。使用をやめたいので、これを修正する必要があります。

システム情報

Neofetch:

OS: Arch Linux x86_64 
Host: 80WK Lenovo Y520-15IKBN 
Kernel: 4.18.14-Arch1-1-Arch 
Uptime: 10 mins 
Packages: 1554 (pacman) 
Shell: zsh 5.6.2 
Resolution: 1920x1080, 1920x1080 
DE: KDE 
WM: KWin 
WM Theme: Breezemite 
Theme: Breeze [KDE], Adwaita [GTK2], X-Arc-Plus [GTK3] 
Icons: Papirus-Light [KDE], Adwaita [GTK2], Papirus [GTK3] 
Terminal: konsole 
Terminal Font: DejaVu Sans Mono 10 
CPU: Intel i7-7700HQ (8) @ 3.800GHz 
GPU: Intel Device 591b 
Memory: 1758MiB / 7851MiB

私は独自のNvidiaドライバーを使用しています。マルハナバチやヌーボーではありません。

uname -a:Linux ArchLinux 4.18.14-Arch1-1-Arch#1 SMP PREEMPT Sat Oct 13 13:42:37 UTC 2018 x86_64 GNU/Linux

pacman -Q nvidia:nvidia 410.57-6

[〜#〜] kms [〜#〜] を有効にして画面のティアリングを排除しましたが、無効にしても効果はありません。 xorg.confファイルを持っていないのは、持っているとSDDMでさえ起動しないからです。 nvidia-xconfig私のために働いたことはありません。

ログ:

/var/log/Xorg.0.log

これらは両方ともSDDMを無効にして実行されるため、最初のttyにログインするだけです。

startxを実行する場合: https://hastebin.com/zadepawiwo

xinitを実行するとき: https://hastebin.com/muredinume

SDDMが有効になっているため、通常の起動: https://hastebin.com/anatocavur

(hastebinは正しい場所ですか、それとも他の場所にアップロードする必要がありますか?)


編集:これは私が実行したときにターミナルに表示されるものです:

Sudo startxSudo startx (そのd-busのことは面白いかもしれませんが、それが何を意味するのかわかりません)。

startxstartx

これが私の.xinitrcです:

#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

xsetroot -cursor_name left_ptr
xrandr --output eDP-1 --primary
xrandr --output HDMI-1 --above eDP-1
xrandr --dpi 96


# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some Nice programs


if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

sxhkd &
statnot &
feh --bg-fill ~/Pictures/DnA7hZgU8AAxfxC.jpg:large.jpg
exec bspwm

here の「重複の可能性」については、解決策を試しましたが、機能しませんでした。私の場合、SDDMは有効にすると起動できますが、DMなしでbspwmを使用したいと思います。


BIOS設定でNVIDIAGPUを無効にすると、startxが機能するようになり、問題がNVIDIAにあることがわかります。私のドライバーは問題ですか?それは何か他のものですか?

1
zjeffer

追加

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

~/.xinitrcファイルに追加すると、NVIDIA GPUをBIOSで有効にして、SDDMなしで起動できるようになりました。

それがまだ追加されていない理由は、SDDMを使用するときに、それを/usr/share/sddm/scripts/Xsetupではなく~/.xinitrcに追加する必要があったためです。 here と書かれているように、~/.xinitrcファイルを追加しなかったことを完全に忘れました。

2
zjeffer