X server only works when started manually

Hi. After update, X server don’t start. I can log on in text mode and startx without problem. I think I’ve a corrupted config file, but I don’t know where to look

Hi @pgo, and welcome!

Since you are able to startx, finding the problem should, at least theoretically, be easy, since the is a GUI for you to run commands, copy and paste their outputs here where requested. So,

Please provide startup logs from the GUI. Run the following and provide the output here:

journalctl --priority=warning..err --boot=-1 --no-pager

Where:

  • The --priority=warning..err argument limits the output to warnings and errors only;
  • the --boot=-1 argument limits the output to log messages from the previous boot. This can be adjusted to -2 for the boot before that, -3 to the boot before that, and so on and so forth.
    • --no-pager formats the output nicely for use here, on the forum.
ene 10 06:58:05 janis kernel: pci 0000:00:00.2: can't derive routing for PCI INT A
ene 10 06:58:05 janis kernel: pci 0000:00:00.2: PCI INT A: not connected
ene 10 06:58:05 janis kernel: clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large:
ene 10 06:58:05 janis kernel: clocksource:                       'hpet' wd_nsec: 506872521 wd_now: 1c13a48 wd_last: 1527cb4 mask: ffffffff
ene 10 06:58:05 janis kernel: clocksource:                       'tsc' cs_nsec: 506433308 cs_now: f2ffd7b7f cs_last: ec63f90ce mask: ffffffffffffffff
ene 10 06:58:05 janis kernel: clocksource:                       'tsc' is current clocksource.
ene 10 06:58:05 janis kernel: TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
ene 10 06:58:05 janis kernel: clocksource: Checking clocksource tsc synchronization from CPU 2 to CPUs 0.
ene 10 06:58:05 janis kernel: i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
ene 10 06:58:05 janis systemd[1]: /usr/lib/systemd/system/add-autologin-group.service:1: Assignment outside of section. Ignoring.
ene 10 06:58:05 janis systemd[1]: [110B blob data]
ene 10 06:58:05 janis systemd[1]: add-autologin-group.service: Cannot add dependency job, ignoring: Unit add-autologin-group.service failed to load properly, please adjust/correct and reload service manager: Invalid argument
ene 10 06:58:12 janis kernel: kvm: support for 'kvm_amd' disabled by bios
ene 10 06:58:12 janis kernel: amdgpu 0000:08:00.0: amdgpu: PSP runtime database doesn't exist
ene 10 06:58:12 janis kernel: amdgpu 0000:08:00.0: amdgpu: PSP runtime database doesn't exist
ene 10 06:58:13 janis kernel: show_signal_msg: 53 callbacks suppressed
ene 10 06:58:15 janis systemd[1]: snapd.service: Main process exited, code=dumped, status=11/SEGV
ene 10 06:58:15 janis systemd[1]: snapd.service: Failed with result 'core-dump'.
ene 10 06:58:15 janis systemd[1]: Failed to start Snap Daemon.
ene 10 06:58:15 janis systemd[1]: snapd.service: Main process exited, code=dumped, status=11/SEGV
ene 10 06:58:15 janis systemd[1]: snapd.service: Failed with result 'core-dump'.
ene 10 06:58:15 janis systemd[1]: Failed to start Snap Daemon.
ene 10 06:58:16 janis systemd[1]: snapd.service: Main process exited, code=dumped, status=11/SEGV
ene 10 06:58:16 janis systemd[1]: snapd.service: Failed with result 'core-dump'.
ene 10 06:58:16 janis systemd[1]: Failed to start Snap Daemon.
ene 10 06:58:16 janis systemd[1]: snapd.service: Main process exited, code=dumped, status=11/SEGV
ene 10 06:58:16 janis systemd[1]: snapd.service: Failed with result 'core-dump'.
ene 10 06:58:16 janis systemd[1]: Failed to start Snap Daemon.
ene 10 06:58:16 janis systemd[1]: snapd.service: Main process exited, code=dumped, status=11/SEGV
ene 10 06:58:16 janis systemd[1]: snapd.service: Failed with result 'core-dump'.
ene 10 06:58:16 janis systemd[1]: Failed to start Snap Daemon.
ene 10 06:58:17 janis systemd[1]: snapd.service: Start request repeated too quickly.
ene 10 06:58:17 janis systemd[1]: snapd.service: Failed with result 'core-dump'.
ene 10 06:58:17 janis systemd[1]: Failed to start Snap Daemon.
ene 10 06:58:17 janis systemd[1]: snapd.socket: Failed with result 'service-start-limit-hit'.

OK, to be honest with you, I don’t know what lot of this means. But I noticed quite a lot of:

So I’m thinking it might be a good test to disable snapd and test from there.

Since I haven’t ever used i3, I don’t know how things are started by it, so I don’t know anything about checking it. However, X logs might be nice. so please provide the output of:

cat /var/log/Xorg.0.log

…pasted as described below. It would also be awesoome if you could edit your previous post accordingly.


:bangbang: Tip: :bangbang:

When posting terminal output, copy the output and paste it here, wrapped in three (3) backticks, before AND after the pasted text. Like this:

```
pasted text
```

Or three (3) tilde signs, like this:

~~~
pasted text
~~~

This will just cause it to be rendered like this:

Sed
sollicitudin dolor
eget nisl elit id
condimentum
arcu erat varius
cursus sem quis eros.

Instead of like this:

Sed sollicitudin dolor eget nisl elit id condimentum arcu erat varius cursus sem quis eros.

Alternatively, paste the text you wish to format as terminal output, select all pasted text, and click the </> button on the taskbar. This will indent the whole pasted section with one TAB, causing it to render the same way as described above.

Thereby increasing legibility thus making it easier for those trying to provide assistance.

For more information, please see:


:bangbang::bangbang: Additionally

If your language isn’t English, please prepend any and all terminal commands with LC_ALL=C. For example:

LC_ALL=C bluetoothctl

This will just cause the terminal output to be in English, making it easier to understand and debug.

Edit: Changed thread title to something more search friendly

1 Like

I attempted to remove snapd:

sudo pacman -R snapd
error: could not open file /var/lib/pacman/local/linux-firmware-20231211.f2e52a1c-1/desc: No such file or directory
error: target not found: snapd

I verified that I do not have snapd installed.

I tried to reinstall linux-firmware:

sudo pacman -S linux-firmware
[sudo] password for ostrov: 
warning: linux-firmware-20231211.f2e52a1c-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
error: could not open file /var/lib/pacman/local/linux-firmware-20231211.f2e52a1c-1/desc: No such file or directory
warning: could not fully load metadata for package linux-firmware-20231211.f2e52a1c-1
error: failed to prepare transaction (invalid or corrupted package)
sudo pacman -R linux-firmware
error: could not open file /var/lib/pacman/local/linux-firmware-20231211.f2e52a1c-1/desc: No such file or directory
warning: could not fully load metadata for package linux-firmware-20231211.f2e52a1c-1
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing linux-firmware breaks dependency 'linux-firmware' required by linux61

(I don’t think this is the problem since the X server works manually).

LC_ALL=C journalctl --priority=warning…err --boot=-1 --no-pager

I filtered the snap errors with grep. I get a lot of errors like:

Jan 10 11:07:23 janis wnck-applet[915]: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node button, owner WnckButton)

After removing them

Jan 10 10:28:31 janis kernel: pci 0000:00:00.2: can't derive routing for PCI INT A
Jan 10 10:28:31 janis kernel: pci 0000:00:00.2: PCI INT A: not connected
Jan 10 10:28:31 janis kernel: clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as unstable because the skew is too large:
Jan 10 10:28:31 janis kernel: clocksource:                       'hpet' wd_nsec: 506998375 wd_now: 1bc3626 wd_last: 14d7188 mask: ffffffff
Jan 10 10:28:31 janis kernel: clocksource:                       'tsc' cs_nsec: 506558685 cs_now: f299a49ca cs_last: ebfd5a5ac mask: ffffffffffffffff
Jan 10 10:28:31 janis kernel: clocksource:                       'tsc' is current clocksource.
Jan 10 10:28:31 janis kernel: TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
Jan 10 10:28:31 janis kernel: clocksource: Checking clocksource tsc synchronization from CPU 2 to CPUs 0.
Jan 10 10:28:31 janis kernel: i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
Jan 10 10:28:31 janis systemd[1]: /usr/lib/systemd/system/add-autologin-group.service:1: Assignment outside of section. Ignoring.
Jan 10 10:28:31 janis systemd[1]: [110B blob data]
Jan 10 10:28:31 janis systemd[1]: add-autologin-group.service: Cannot add dependency job, ignoring: Unit add-autologin-group.service failed to load properly, please adjust/correct and reload service manager: Invalid argument
Jan 10 10:28:38 janis kernel: kvm: support for 'kvm_amd' disabled by bios
Jan 10 10:28:38 janis kernel: amdgpu 0000:08:00.0: amdgpu: PSP runtime database doesn't exist
Jan 10 10:28:38 janis kernel: amdgpu 0000:08:00.0: amdgpu: PSP runtime database doesn't exist
Jan 10 10:28:39 janis kernel: show_signal_msg: 53 callbacks suppressed
Jan 10 10:41:35 janis mate-session[762]: WARNING: software acceleration check failed: Child process exited with code 1
Jan 10 10:41:35 janis mate-session[762]: WARNING: gl_failed!
Jan 10 10:41:35 janis mate-session[762]: WARNING: Unable to find provider '' of required component 'dock'
Jan 10 10:41:35 janis org.a11y.Bus[798]: dbus-daemon[798]: Activating service name='org.a11y.atspi.Registry' requested by ':1.0' (uid=1000 pid=762 comm="mate-session")
Jan 10 10:41:35 janis org.a11y.Bus[798]: dbus-daemon[798]: Successfully activated service 'org.a11y.atspi.Registry'
Jan 10 10:41:35 janis gnome-keyring-daemon[838]: discover_other_daemon: 1
Jan 10 10:41:40 janis gnome-keyring-daemon[929]: discover_other_daemon: 1
Jan 10 10:41:40 janis gnome-keyring-daemon[936]: discover_other_daemon: 1
Jan 10 10:41:41 janis gnome-keyring-daemon[956]: discover_other_daemon: 1
Jan 10 10:41:50 janis org.gtk.vfs.Daemon[1063]: PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
Jan 10 10:41:50 janis org.gtk.vfs.Daemon[1063]: LIBMTP libusb: Attempt to reset device
Jan 10 10:41:50 janis clock-applet[1109]: Negative content width -9 (allocation 1, extents 5x5) while allocating gadget (node button, owner GtkToggleButton)
Jan 10 10:42:14 janis pulseaudio[872]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 10 10:42:28 janis org.gtk.vfs.Daemon[1063]: LIBMTP PANIC: failed to open session on second attempt

~~ ~

The /var/log/Xorg.0.log file date is December 17, before the unsuccefull update

Looks like an issue with amdgpu module.

Add amdgpu to the module list in /etc/mkinitcpio.conf, see this post:

I obtained the same result

Please provide the output of:

cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)

 MODULES=(amdgpu)



# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap consolefont filesystems fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
#COMPRESSION="zstd"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

Hmmm…OK, no. I’ve got nothing. All I can think of is trying quotes:

MODULES=("amdgpu")

instead of:

MODULES=(amdgpu)

Yes, I know this is different from the example in the file, that’s why I said I have nothing. I know this is a long shot, but I can’t think of anything else.

I still have the same result.
I also fixed the issue with linux-firmware.