Can't run X server but booting initramfs fallback works fine

Hello everyone,

today I randomly could not boot Manjaro after I had worked in Windows for a while. The screen just kept black after GRUB but fan turned down etc so PC seemed to have booted, I could use ctrl+alt+del to reboot. I then was able to boot normally using the “fallback initramfs” option from GRUB. I looked at journalctl and noticed on the failed boot, X server could not be started:

Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[866]: Unable to run X server
Apr 20 05:12:50 fuchsbau kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Apr 20 05:12:50 fuchsbau kernel: EDAC amd64: F17h_M70h detected (node 0).
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE) Server terminated with error (1). Closing log file.
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE) Please also check the log file at "/var/lib/gdm/.local/share/xorg/Xorg.0.log" for additional information.
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]:  for help.
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]:          at http://wiki.x.org
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: Please consult the The X.Org Foundation support
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE) AddScreen/ScreenInit failed for driver 0
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: Fatal server error:
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (EE) modeset(0): drmSetMaster failed: Permission denied
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) Unloading radeon
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) UnloadModule: "radeon"
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]:         ABI class: X.Org ANSI C Emulation, version 0.4
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]:         compiled for 1.20.11, module version = 1.1.0
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) Module shadow: vendor="X.Org Foundation"
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) Loading /usr/lib/xorg/modules/libshadow.so
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) LoadModule: "shadow"
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) Loading sub module "shadow"
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]:         ABI class: X.Org ANSI C Emulation, version 0.4
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]:         compiled for 1.20.11, module version = 1.0.0
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) Module fb: vendor="X.Org Foundation"
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) Loading /usr/lib/xorg/modules/libfb.so
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) LoadModule: "fb"
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) Loading sub module "fb"
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (==) modeset(0): DPI set to (96, 96)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Output DP-2 using initial mode 1920x1200 +0+0
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Using exact sizes for initial modes
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Output DVI-D-1 disconnected
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Output HDMI-2 disconnected
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Output HDMI-1 disconnected
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Output DP-2 connected
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Output DP-1 disconnected
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): EDID for output DVI-D-1
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): EDID for output HDMI-2
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): EDID for output HDMI-1
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Modeline "320x180"x59.3    8.88  320 344 360 400  180 181 184 187 doublescan +hsync -vsync (22.2 kHz d)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Modeline "320x180"x59.8    9.00  320 332 360 400  180 181 184 188 doublescan -hsync +vsync (22.5 kHz d)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Modeline "360x202"x59.1   10.88  360 384 400 440  202 204 206 209 doublescan +hsync -vsync (24.7 kHz d)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Modeline "360x202"x59.5   11.25  360 372 404 448  202 204 206 211 doublescan -hsync +vsync (25.1 kHz d)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Modeline "320x240"x60.1   12.59  320 328 376 400  240 245 246 262 doublescan -hsync -vsync (31.5 kHz d)
Apr 20 05:12:50 fuchsbau /usr/lib/gdm-x-session[868]: (II) modeset(0): Modeline "320x240"x75.0   15.75  320 328 360 420  240 240 242 250 doublescan -hsync -vsync (37.5 kHz d)

The only thing I know that I did was that I tried to install a kernel module (openafs-modules-dkms package from AUR) but I tried installing it together with the openafs package and that did not compile due to an error, so that kernel module was not even touched.

All my packages are up-to-date. Here is my inxi -Fxz output:

System:    Kernel: 5.9.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 Desktop: GNOME 3.38.4 Distro: Manjaro Linux 
           base: Arch Linux 
Machine:   Type: Desktop System: Micro-Star product: MS-7B89 v: 1.0 serial: <filter> 
           Mobo: Micro-Star model: B450M MORTAR MAX (MS-7B89) v: 1.0 serial: <filter> UEFI: American Megatrends v: 2.70 
           date: 04/21/2020 
Battery:   Device-1: hidpp_battery_0 model: Logitech MX Vertical Advanced Ergonomic Mouse charge: 55% (should be ignored) 
           status: Discharging 
CPU:       Info: 6-Core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2 rev: 0 cache: L2: 3 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 86439 
           Speed: 3598 MHz min/max: 2200/3600 MHz boost: enabled Core speeds (MHz): 1: 3598 2: 2058 3: 1872 4: 2223 5: 2054 
           6: 2171 7: 2163 8: 2290 9: 3607 10: 2056 11: 2056 12: 2014 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] 
           vendor: Sapphire Limited driver: amdgpu v: kernel bus-ID: 26:00.0 
           Display: wayland server: X.org 1.20.11 compositor: gnome-shell driver: loaded: amdgpu 
           note: n/a (using device driver) - try sudo/root resolution: <missing: xdpyinfo> 
           OpenGL: renderer: Radeon RX 570 Series (POLARIS10 DRM 3.39.0 5.9.16-1-MANJARO LLVM 11.1.0) v: 4.6 Mesa 21.0.2 
           direct render: Yes 
Audio:     Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] vendor: Sapphire Limited driver: snd_hda_intel 
           v: kernel bus-ID: 26:00.1 
           Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio vendor: Micro-Star MSI driver: snd_hda_intel 
           v: kernel bus-ID: 28:00.4 
           Sound Server-1: ALSA v: k5.9.16-1-MANJARO running: yes 
           Sound Server-2: JACK v: 0.125.0 running: no 
           Sound Server-3: PulseAudio v: 14.2 running: yes 
           Sound Server-4: PipeWire v: 0.3.25 running: no 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Micro-Star MSI driver: r8169 v: kernel 
           port: f000 bus-ID: 22:00.0 
           IF: enp34s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 2.27 TiB used: 1.62 TiB (71.2%) 
           ID-1: /dev/nvme0n1 vendor: Kingston model: SA2000M81000G size: 931.51 GiB temp: 37.9 C 
           ID-2: /dev/sda vendor: Samsung model: SSD 850 EVO 500GB size: 465.76 GiB 
           ID-3: /dev/sdb type: USB vendor: Western Digital model: WD10EZEX-60WN4A1 size: 931.51 GiB 
Partition: ID-1: / size: 192.02 GiB used: 171.85 GiB (89.5%) fs: ext4 dev: /dev/nvme0n1p6 
           ID-2: /boot/efi size: 98.4 MiB used: 570 KiB (0.6%) fs: vfat dev: /dev/nvme0n1p3 
Swap:      ID-1: swap-1 type: partition size: 2 GiB used: 0 KiB (0.0%) dev: /dev/nvme0n1p2 
Sensors:   System Temperatures: cpu: 40.2 C mobo: 0 C gpu: amdgpu temp: 29.0 C 
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 909 
Info:      Processes: 381 Uptime: 10m Memory: 15.65 GiB used: 3.51 GiB (22.5%) Init: systemd Compilers: gcc: 10.2.0 
           Packages: 1537 Shell: Zsh v: 5.8 inxi: 3.3.04 

What could have happened, and where should I look for errors?

Thanks in advance.

Suggesting to rebuild your initramfs

sudo mkinitcpio -P

Thanks - unfortunately, that did not help at all. Except if I need to do anything else than running that command and rebooting.

Hi @Konzertheld, just F.Y.I.:

your title is extremely confusing, what with the double negative and all. It took me a while, a lot of effort to understand.

Edit:

So I’ve changed it for you.

1 Like

Bump. With today’s updates, no change. I also ran update-grub just to be sure it’s not a problem of my Grub config but all it did was change my Grub to the classic black-and-white text-only version.

The diffrence between normal initramdisk and fallback is that in fallback “all” modules are present (see the size). So if fallback works and the normal one does not, then there is some module missing in the normal initramdisk.

This is configured in /etc/mkinitcpio.conf
You may have a look at the wiki mkinitcpio

It seems you have to add at least one module to mkinitcpio

I checked the configuration and there was only one module listed. I took a guess and added my graphics driver, then recreated the ramdisk. It solved my issue. Thanks!

Now the question that remains is… as everything worked fine before, that module was probably listed in the config, how did it disappear?

I suggest using btrfs and snapper. Then you are able to track every change backt to when it happened. This does not show how it happened. But from finding the time of change to finding the source is only a small step.
This way i have been able to track some problems back and to find the differences in config files (and to recreate them).

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.