A while back (several weeks? I believe it was long before the nvidia-340xx fiasco) I was unable to log in. Sorry, it’s been long enough I don’t remember exactly what led up to it, but I think it was probably an NVIDIA driver uprade. I switched to the nouveau drivers, and everything worked fine (but with terrible performance). I’m finally getting around to looking at it, and I definitely still have the same problem after a recent full system upgrade.
When I boot, I get the login screen (GDM), but when I log in I get a blank screen. I get this in Xorg.1.log:
[ 49.857] _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
[ 49.857] _XSERVTransMakeAllCOTSServerListeners: server already running
[ 49.857] (--) Log file renamed from "/var/log/Xorg.pid-2116.log" to "/var/log/Xorg.1.log"
[ 49.857] (WW) Failed to open protocol names file lib/xorg/protocol.txt
[ 49.857]
X.Org X Server 1.20.10
X Protocol Version 11, Revision 0
[ 49.857] Build Operating System: Linux Manjaro Linux
[ 49.857] Current Operating System: Linux compy 5.10.2-2-MANJARO #1 SMP PREEMPT Tue Dec 22 08:14:42 UTC 2020 x86_64
[ 49.857] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64 root=UUID=52038266-4e2d-4a59-8d60-93f9ca39118b rw quiet splash resume=UUID=449e6e26-ec82-4bfe-b637-0a472d726d0b
[ 49.857] Build Date: 16 December 2020 10:33:32PM
[ 49.857]
[ 49.857] Current version of pixman: 0.40.0
[ 49.857] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 49.857] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 49.857] (==) Log file: "/var/log/Xorg.1.log", Time: Sat Jan 9 12:06:34 2021
[ 49.858] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 49.858] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 49.858] (==) ServerLayout "layout"
[ 49.858] (**) |-->Screen "Screen0" (0)
[ 49.858] (**) | |-->Monitor "Monitor0"
[ 49.858] (**) | |-->Device "Device0"
[ 49.858] (==) Automatically adding devices
[ 49.858] (==) Automatically enabling devices
[ 49.858] (==) Automatically adding GPU devices
[ 49.858] (==) Automatically binding GPU devices
[ 49.858] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 49.858] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[ 49.858] Entry deleted from font path.
[ 49.858] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[ 49.858] Entry deleted from font path.
[ 49.858] (==) FontPath set to:
/usr/share/fonts/misc,
/usr/share/fonts/TTF,
/usr/share/fonts/OTF,
/usr/share/fonts/Type1
[ 49.858] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 49.858] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 49.858] (II) Module ABI versions:
[ 49.858] X.Org ANSI C Emulation: 0.4
[ 49.858] X.Org Video Driver: 24.1
[ 49.858] X.Org XInput driver : 24.1
[ 49.858] X.Org Server Extension : 10.0
[ 49.858] (++) using VT number 2
[ 49.860] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_35
[ 49.860] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 49.860] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 12 paused 0
[ 49.861] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[ 49.861] (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules"
[ 49.862] (--) PCI:*(1@0:0:0) 10de:1401:3842:2966 rev 161, Mem @ 0xee000000/16777216, 0xd0000000/268435456, 0xe0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/131072
[ 49.862] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 49.862] (II) LoadModule: "glx"
[ 49.862] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 49.863] (II) Module glx: vendor="X.Org Foundation"
[ 49.863] compiled for 1.20.10, module version = 1.0.0
[ 49.863] ABI class: X.Org Server Extension, version 10.0
[ 49.863] (II) LoadModule: "nvidia"
[ 49.863] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 49.863] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 49.863] compiled for 1.6.99.901, module version = 1.0.0
[ 49.863] Module class: X.Org Video Driver
[ 49.863] (II) NVIDIA dlloader X Driver 455.45.01 Thu Nov 5 23:01:05 UTC 2020
[ 49.863] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 49.864] (II) systemd-logind: releasing fd for 226:0
[ 49.864] (II) Loading sub module "fb"
[ 49.864] (II) LoadModule: "fb"
[ 49.864] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 49.864] (II) Module fb: vendor="X.Org Foundation"
[ 49.864] compiled for 1.20.10, module version = 1.0.0
[ 49.864] ABI class: X.Org ANSI C Emulation, version 0.4
[ 49.864] (II) Loading sub module "wfb"
[ 49.864] (II) LoadModule: "wfb"
[ 49.864] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 49.865] (II) Module wfb: vendor="X.Org Foundation"
[ 49.865] compiled for 1.20.10, module version = 1.0.0
[ 49.865] ABI class: X.Org ANSI C Emulation, version 0.4
[ 49.865] (II) Loading sub module "ramdac"
[ 49.865] (II) LoadModule: "ramdac"
[ 49.865] (II) Module "ramdac" already built-in
[ 49.865] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 49.865] (==) NVIDIA(0): RGB weight 888
[ 49.865] (==) NVIDIA(0): Default visual is TrueColor
[ 49.865] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 49.865] (**) Option "AllowNVIDIAGpuScreens"
[ 49.865] (II) Applying OutputClass "nvidia" options to /dev/dri/card0
[ 49.865] (II) Applying OutputClass "nvidia" options to /dev/dri/card0
[ 49.865] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration"
[ 49.865] (**) NVIDIA(0): Enabling 2D acceleration
[ 49.865] (II) Loading sub module "glxserver_nvidia"
[ 49.865] (II) LoadModule: "glxserver_nvidia"
[ 49.865] (II) Loading /usr/lib/nvidia/xorg/libglxserver_nvidia.so
[ 49.870] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[ 49.870] compiled for 1.6.99.901, module version = 1.0.0
[ 49.870] Module class: X.Org Server Extension
[ 49.870] (II) NVIDIA GLX Module 455.45.01 Thu Nov 5 22:58:18 UTC 2020
[ 49.870] (II) NVIDIA: The X server supports PRIME Render Offload.
[ 49.871] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[ 49.871] (--) NVIDIA(0): CRT-0
[ 49.871] (--) NVIDIA(0): DFP-0 (boot)
[ 49.871] (--) NVIDIA(0): DFP-1
[ 49.871] (--) NVIDIA(0): DFP-2
[ 49.871] (--) NVIDIA(0): DFP-3
[ 49.871] (--) NVIDIA(0): DFP-4
[ 49.871] (--) NVIDIA(0): DFP-5
[ 49.871] (--) NVIDIA(0): DFP-6
[ 49.871] (--) NVIDIA(0): DFP-7
[ 49.872] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 960 (GM206-A) at PCI:1:0:0 (GPU-0)
[ 49.872] (--) NVIDIA(0): Memory: 2097152 kBytes
[ 49.872] (--) NVIDIA(0): VideoBIOS: 84.06.2a.00.61
[ 49.872] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 49.872] (EE) NVIDIA(GPU-0): Failed to acquire modesetting permission.
[ 49.872] (EE) NVIDIA(0): Failing initialization of X screen
[ 49.872] (II) UnloadModule: "nvidia"
[ 49.872] (II) UnloadSubModule: "glxserver_nvidia"
[ 49.872] (II) Unloading glxserver_nvidia
[ 49.872] (II) UnloadSubModule: "wfb"
[ 49.872] (II) UnloadSubModule: "fb"
[ 49.872] (EE) Screen(s) found, but none have a usable configuration.
[ 49.872] (EE)
Fatal server error:
[ 49.872] (EE) no screens found(EE)
[ 49.872] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 49.872] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[ 49.872] (EE)
[ 49.873] (EE) Server terminated with error (1). Closing log file.
I think the key problem is “Failed to acquire modesetting permission.” but I don’t know for sure.
In /etc/X11 I have xorg.conf.d/90-mhwd.conf
as a symlink to mhwd.d/nvidia.conf
and the contents are:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 455.45.01
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "NoLogo" "1"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Extensions"
Option "COMPOSITE" "Enable"
EndSection
Section "InputClass"
Identifier "Keyboard Defaults"
MatchIsKeyboard "yes"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
I’ve re-run nvidia-xconfig
. It produced a file without the last two sections (Extensions and InputClass) but removing those made no difference.
I tried adding nomodeset
and nvidia-drm.modeset=1
to my kernel params and it made no difference.
mhwd -li -d says
|NAME:|video-nvidia|
|---|---|
| ATTACHED:|PCI|
| VERSION:|2020.11.30|
| INFO:|Closed source NVIDIA drivers for linux.|
| PRIORITY:|4|
| FREEDRIVER:|false|
| DEPENDS:|-|
| CONFLICTS:|video*nvidia* |
| CLASSIDS:|0300 0302 |
| VENDORIDS:|10de|
pacman -Ss nvidia | grep installed
says
core/mhwd-nvidia 455.45.01-3 [installed]
core/mhwd-nvidia-390xx 390.138-1 [installed]
extra/libvdpau 1.4-1 [installed]
extra/linux510-nvidia 455.45.01-10.0 (linux510-extramodules) [installed]
extra/linux54-nvidia 455.45.01-6 (linux54-extramodules) [installed]
extra/linux59-nvidia 455.45.01-6 (linux59-extramodules) [installed]
extra/nvidia-utils 455.45.01-2 [installed]
multilib/lib32-nvidia-utils 455.45.01-3 [installed]
I’m not sure why it thinks 390xx is installed. I tried pacman -Rsu mhwd-nvidia-390xx
and it said:
warning: removing mhwd-nvidia-390xx from target list
there is nothing to do
I’m not sure what else to try. Any ideas?