Xorg

Nvidia Optimus 筆記型電腦:startX 和 xinit 不起作用(Arch)

  • October 21, 2018

我無法啟動我的電腦,因為 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:

執行時startxhttps ://hastebin.com/zadepawiwo

執行時xinithttps ://hastebin.com/muredinume

啟用 SDDM 後,正常啟動: https ://hastebin.com/anatocavur

(hastebin 是正確的地方還是我應該將它們上傳到其他地方?)


編輯:這是我執行時在終端中看到的內容:

sudo startx:(須藤啟動那個 d-bus 的東西可能很有趣,但我不知道它是什麼意思)。

startx:開始

這是我的 .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中。

引用自:https://unix.stackexchange.com/questions/476396