TL;DR
gnome-shell does not want to be a Wayland compositor.
Edit: Sometimes it does want to be, sometimes it doesn't.
Log
Dec 31 06:55:26 speedy-desktop gnome-shell[393]: Can't initialize KMS backend: could not find drm kms device
Dec 31 06:55:29 speedy-desktop /usr/lib/gdm/gdm-x-session[410]: (II) [KMS] Kernel modesetting enabled.
I have 2 video cards. (See LSPCI below)
Extended Problem
I've been told that GNOME uses Wayland by default. But for some reason, I don't know how to get them to work together. Arch wiki just mentions the usage of weston and the GDM & GNOME pages don't say anything about wayland… only the GNOME page, but that's only for manual startup.
⚡ loginctl show-session c6 -p Type
Type=x11 -- GDM
⚡ loginctl show-session c7 -p Type
Type=x11 -- GNOME
Tries
-
Putting
export XDG_SESSION_TYPE=wayland
to/etc/profile
=> no result -
Reinstalling the
gnome
group (yaourt -S gnome
) => messed up myNetworkManager
, but I fixed that myself. -
Launching
weston
from an X session => works, butweston-launch
from a tty hanged my PC… (I can't find logs, if you can comment their path, I'll post them,journalctl -xe
doesn't seem to contain anything wayland-or-weston-related)The only thing I did find in
journalctl -xe -b -1
is this:Dec 31 07:18:08 speedy-desktop kernel: radeon_dp_aux_transfer_native: 158 callbacks suppressed
-
Put
MUTTER_ALLOW_HYBRID_GPUS=1
to/etc/environment
=> no result
Almost working…
I was looking through the journal, and… what did I find?
Dec 31 04:31:57 speedy-desktop /usr/lib/gdm/gdm-wayland-session[382]: /usr/lib/gio/modules/libgvfsdbus.so: file too short
Dec 31 04:31:57 speedy-desktop /usr/lib/gdm/gdm-wayland-session[382]: Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so
The file wasn't simply short, it was EMPTY. How? I have no idea.
After lots of g00gling it turned out that my pacman database was corrupt (somehow), and this one-liner (posted here) fixed it.
LANG= pacman -Qkk 2>&1 | grep "^.*: no mtree file$" | cut -d: -f1 | sudo xargs pacman -S --force --noconfirm
BUT GNOME still uses X11. I have absolutely no idea why. Here's the problem:
Dec 31 06:55:26 speedy-desktop gnome-shell[393]: Can't initialize KMS backend: could not find drm kms device
Dec 31 06:55:29 speedy-desktop /usr/lib/gdm/gdm-x-session[410]: (II) [KMS] Kernel modesetting enabled.
X server knows that there is KMS, but gnome-shell
doesn't?! What?
Configs?
DEFAULT. I simply haven't touched them. (Or at least I have reversed my modifications)
LSPCI
⚡ lspci | grep VGA
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7560D]
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]
Any help is appreciated!
PS: Just ran yaourt -Syu
a couple seconds ago.
Best Answer
I had a similar problem width GDM ("Just FYI, it now works... Partially. Sometimes it starts wayland, sometimes X") and to solve my problem I had to add a driver card module to my mkinitcpio config file. Was something to do with concurrency load with systemd or something like that. Im not an expert so i really dont know. something like this (i915 for intel or nouveau for nvidia):
in /etc/mkinitcpio.conf
and then run: