Nvidia Optimus 筆記型電腦:startX 和 xinit 不起作用(Arch)
我無法啟動我的電腦,因為 Xserver 沒有啟動。奇怪的是,當我使用 SDDM 時,它啟動得很好。幾個月前我也嘗試使用 Lightdm,但它不想啟動,我猜是因為這個問題。
我遇到這個問題已經有一年了,但它從來沒有真正困擾過我,因為我一直使用 SDDM。我想停止使用它,所以我需要修復它。
系統資訊
新取:
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 驅動程序。不是 Bumblebee 或 nouveau,因為它們的性能受到打擊。
uname -a
: Linux ArchLinux 4.18.14-arch1-1-ARCH #1 SMP PREEMPT 2018 年 10 月 13 日星期六 13:42:37 UTC x86_64 GNU/Linux
pacman -Q 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 startx
:(那個 d-bus 的東西可能很有趣,但我不知道它是什麼意思)。這是我的 .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
至於此處的“可能重複” ,我嘗試了他們的解決方案,但沒有奏效。對我來說,SDDM 可以在我啟用它時啟動,但我想在沒有 DM 的情況下使用 bspwm。
在我的 BIOS 設置中禁用 NVIDIA GPU 可以
startx
正常工作,這表明問題出在 NVIDIA 上。我的司機有問題嗎?是別的嗎?
添加
xrandr --setprovideroutputsource modesetting NVIDIA-0 xrandr --auto
到我的
~/.xinitrc
文件,這使我能夠在 BIOS 中啟用我的 NVIDIA GPU 啟動,而無需 SDDM。尚未添加的原因是因為在使用 SDDM 時,我必須將其添加到
/usr/share/sddm/scripts/Xsetup
而不是 to~/.xinitrc
。我完全忘記了我沒有像這裡所說的那樣將它添加到我的文件~/.xinitrc
中。