You are not logged in.
Hi everyone. I decided I want to try Hyprland and I'm experimenting with it on my Arch installation that is normally running full KDE. I'm having a problem with Waybar, when I try to launch it I get this errors:
xkbcommon: ERROR: [XKB-338] Couldn't find file "rules/evdev" in include paths
xkbcommon: ERROR: [XKB-338] 1 include paths searched:
xkbcommon: ERROR: [XKB-338] /usr/share/X11/xkb
xkbcommon: ERROR: [XKB-338] 3 include paths could not be added:
xkbcommon: ERROR: [XKB-338] /home/jack/.config/xkb
xkbcommon: ERROR: [XKB-338] /home/jack/.xkb
xkbcommon: ERROR: [XKB-338] /etc/xkb
xkbcommon: ERROR: [XKB-595] Cannot load XKB rules "evdev"
xkbcommon: ERROR: [XKB-822] Couldn't look up rules 'evdev', model 'pc105', layout 'us', variant '', options ''
[1] 4032 segmentation fault (core dumped) waybarI've only used Arch with KDE in Wayland with this installation and I'm using the italian keyboard layout. I tried setting the XKB layout to "it" using "localectl set-x11-keymap it" and "setxkbmap -layout it" but it didn't do anything.
Any help will be appreciated.
Last edited by JacoNIX97 (2025-09-12 20:58:03)
Offline
It could be, that the XKB error is unrelated, but not sure.
Can you launch waybar with gdb and post the backtrace? That might give a hint
Offline
I've tried but have no real experience with GDB so I'm not sure I've done it correctly.
I get this:
(gdb) run /usr/bin/waybar
Starting program: /usr/bin/waybar /usr/bin/waybar
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7f3ece3ff6c0 (LWP 7627)]
[2025-09-10 16:16:43.142] [error] Error in command line: Unrecognised token: /usr/bin/waybar
[Thread 0x7f3ed0e0ba40 (LWP 7621) exited]
[Thread 0x7f3ece3ff6c0 (LWP 7627) exited]
[New process 7621]
[Inferior 1 (process 7621) exited with code 01]Offline
As soon it crashed, you have to type "bt", it will then show you the back trace aka where exactly it crashed
Offline
I'm sorry but I'm not really sure on how to do that. I open gdb and then type the command "run waybar", it returns the messages I posted. If I enter the command bt it says "No stack". I'm sure I've misunderstood something.
Offline
you need to start gdb with the program in question, e.g.
gdb waybar
run
...crash...
bt Last edited by V1del (2025-09-10 22:49:54)
Offline
Thanks for the help with gdb. This is the output:
(gdb) run
Starting program: /usr/bin/waybar
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Downloading 3.19 M separate debug info for /usr/lib/libfreetype.so.6
Downloading 825.37 K separate debug info for /usr/lib/libmpg123.so.0
[New Thread 0x7f2dbd7ff6c0 (LWP 15480)]
[New Thread 0x7f2dbcbff6c0 (LWP 15481)]
[New Thread 0x7f2db7fff6c0 (LWP 15482)]
[New Thread 0x7f2db77fe6c0 (LWP 15483)]
[New Thread 0x7f2db6ffd6c0 (LWP 15484)]
Downloading 197.25 K separate debug info for /usr/lib/gio/modules/libdconfsettings.so
[New Thread 0x7f2db67fc6c0 (LWP 15485)]
[New Thread 0x7f2db5ffb6c0 (LWP 15486)]
xkbcommon: ERROR: [XKB-338] Couldn't find file "rules/evdev" in include paths
xkbcommon: ERROR: [XKB-338] 2 include paths searched:
xkbcommon: ERROR: [XKB-338] /home/jacopo/.config/xkb
xkbcommon: ERROR: [XKB-338] /usr/share/X11/xkb
xkbcommon: ERROR: [XKB-338] 2 include paths could not be added:
xkbcommon: ERROR: [XKB-338] /home/jacopo/.xkb
xkbcommon: ERROR: [XKB-338] /etc/xkb
xkbcommon: ERROR: [XKB-595] Cannot load XKB rules "evdev"
xkbcommon: ERROR: [XKB-822] Couldn't look up rules 'evdev', model 'pc105', layout 'us', variant '', options ''
Thread 1 "waybar" received signal SIGSEGV, Segmentation fault.
Downloading 17.29 K source file /usr/src/debug/libxkbcommon/build/../libxkbcommon/src/keymap.c
xkb_keymap_ref (keymap=keymap@entry=0x0) at ../libxkbcommon/src/keymap.c:26
26 assert(keymap->refcnt > 0);
(gdb) bt
#0 xkb_keymap_ref (keymap=keymap@entry=0x0) at ../libxkbcommon/src/keymap.c:26
#1 0x00007f2dc10081e6 in xkb_state_new (keymap=0x0) at ../libxkbcommon/src/state.c:878
#2 0x00007f2dc2576eba in _gdk_wayland_keymap_new () at ../gtk/gdk/wayland/gdkkeys-wayland.c:554
#3 0x00007f2dc2576ff7 in _gdk_wayland_device_manager_add_seat (device_manager=<optimized out>, id=10, wl_seat=0x55af52756b60)
at ../gtk/gdk/wayland/gdkdevice-wayland.c:5350
#4 _gdk_wayland_display_add_seat (display_wayland=0x55af5272a830 [GdkWaylandDisplay], id=10, version=<optimized out>)
at ../gtk/gdk/wayland/gdkdisplay-wayland.c:248
#5 seat_added_closure_run (display_wayland=0x55af5272a830 [GdkWaylandDisplay], closure=<optimized out>)
at ../gtk/gdk/wayland/gdkdisplay-wayland.c:259
#6 0x00007f2dc2575730 in process_on_globals_closures (display_wayland=0x55af5272a830 [GdkWaylandDisplay])
at ../gtk/gdk/wayland/gdkdisplay-wayland.c:219
#7 _gdk_wayland_display_open (display_name=<optimized out>) at ../gtk/gdk/wayland/gdkdisplay-wayland.c:661
#8 0x00007f2dc253a147 in gdk_display_manager_open_display (manager=<optimized out>, name=0x0) at ../gtk/gdk/gdkdisplaymanager.c:462
#9 0x00007f2dc296f493 in gtk_init_check (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtk/gtkmain.c:1113
#10 gtk_init_check (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtk/gtkmain.c:1105
#11 0x00007f2dc296f4ce in gtk_init (argc=<optimized out>, argv=<optimized out>) at ../gtk/gtk/gtkmain.c:1170
#12 0x00007f2dc3218708 in Gtk::Application::Application
(this=this@entry=0x55af526c84d0, argc=@0x7ffec2c177ec: 1, argv=@0x7ffec2c177f8: 0x7ffec2c18268, application_id=..., flags=flags@entry=Gio::APPLICATION_HANDLES_COMMAND_LINE, this=<optimized out>, argc=<optimized out>, argv=<optimized out>, application_id=<optimized out>, flags=<optimized out>) at gtk/gtkmm/application.cc:99
#13 0x00007f2dc32187b9 in Gtk::Application::create
(argc=@0x7ffec2c177ec: 1, argv=@0x7ffec2c177f8: 0x7ffec2c18268, application_id=..., flags=flags@entry=Gio::APPLICATION_HANDLES_COMMAND_LINE) at gtk/gtkmm/application.cc:109
#14 0x000055af13e7f404 in waybar::Client::main (this=<optimized out>, argc=<optimized out>, argv=<optimized out>) at ../src/client.cpp:254
#15 main (argc=1, argv=0x7ffec2c18268) at ../src/main.cpp:175Offline
Not sure about the others, but looks like a bug to me. Unrelated to the cause, it should not result in an segfault but tell you what it couldn't do
But it is related to XKB, that is for sure.
Just for the sake of testing, you said you were using KDE before. Can you check if this happens with a new user that did not run/use KDE before?
But according to the initial error, he found nothing in the user directory so it probably results in the same behavior
Offline
grep -ri evdev /{etc,usr/share}/X11/xorg.conf*
pacman -Qikk xkeyboard-config # it provides /usr/share/X11/xkb/rules/evdevOffline
I tried with the new user but nothing changed.
Here's the outputs of the commands suggested by seth:
❯ grep -ri evdev /{etc,usr/share}/X11/xorg.conf*
/usr/share/X11/xorg.conf.d/10-quirks.conf:# Explicitly tell evdev to not ignore the absolute axes.
/usr/share/X11/xorg.conf.d/10-quirks.conf: MatchDriver "evdev"
/usr/share/X11/xorg.conf.d/10-quirks.conf: MatchDriver "evdev"and
❯ pacman -Qikk xkeyboard-config
Name : xkeyboard-config
Version : 2.45-1
Description : X keyboard configuration files
Architecture : any
URL : https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config
Licenses : LicenseRef-xkeyboard-config
Groups : None
Provides : xkbdata
Depends On : None
Optional Deps : None
Required By : gnome-desktop libxkbcommon plymouth xorg-server-common
Optional For : None
Conflicts With : xkbdata
Replaces : xkbdata
Installed Size : 10.16 MiB
Packager : Andreas Radke <andyrtr@archlinux.org>
Build Date : Mon Jun 9 11:17:30 2025
Install Date : Thu Jun 12 15:45:38 2025
Install Reason : Installed as a dependency for another package
Install Script : No
Validated By : SignatureOffline
Grep is ok.
Then why
xkbcommon: ERROR: [XKB-338] Couldn't find file "rules/evdev" in include paths
xkbcommon: ERROR: [XKB-338] 2 include paths searched:
xkbcommon: ERROR: [XKB-338] /home/jacopo/.config/xkb
xkbcommon: ERROR: [XKB-338] /usr/share/X11/xkb?
stat /usr/share/X11/xkb/rules/evdevstrace -ff -o /tmp/wtfbar.strace waybar
/tmp/wtfbar.strace | curl -F 'file=@-' 0x0.stOffline
The stat command returns
❯ stat /usr/share/X11/xkb/rules/evdev
File: /usr/share/X11/xkb/rules/evdev
Size: 34494 Blocks: 72 IO Block: 4096 regular file
Device: 0,36 Inode: 13719249 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-09-11 02:06:48.393990532 +0200
Modify: 2025-06-09 11:17:30.000000000 +0200
Change: 2025-06-12 15:45:38.322129055 +0200
Birth: 2025-06-12 15:45:38.321479761 +0200The second one returns "http://0x0.st/Kbl-.txt" the file contains "[2025-09-12 20:17:56.310] [error] Error in command line: Unrecognised token: /tmp/wtfbar.strace". If i launch it as two commands (one per line) it doesn't find /tmp/wtfbar.strace as the file seems split in multiple files. What should I do with them?
Offline
/me is typo king ![]()
strace -f -o /tmp/wtfbar.strace waybarEdit: the objected file is certainly there so let's see the proper strace to figure what's actually bugging it.
Last edited by seth (2025-09-12 19:10:37)
Offline
Here's the strace: https://0x0.st/KblI.txt
Offline
32945 openat(AT_FDCWD, "/home/jacopo/.cache/fontconfig/e37ab425771ffe031f24669345b21f8b-le64.cache-9", O_RDWR|O_CLOEXEC) = -1 EACCES (Permission denied)
32945 chmod("/var/cache/fontconfig", 0755) = -1 EACCES (Permission denied)
32945 openat(AT_FDCWD, "/home/jacopo/.cache/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le64.cache-9", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
32942 openat(AT_FDCWD, "/home/jacopo/.config/xkb/rules/evdev", O_RDONLY) = -1 EACCES (Permission denied)
32942 openat(AT_FDCWD, "/usr/share/X11/xkb/rules/evdev", O_RDONLY) = -1 EACCES (Permission denied)But according to your stat /usr/share/X11/xkb/rules/evdev is 644
There's also
32945 openat(AT_FDCWD, "/home/jacopo/.local/share/fonts/i/.uuid", O_RDONLY|O_CLOEXEC <unfinished ...>
32942 <... lseek resumed>) = 135168
32945 <... openat resumed>) = -1 ENOENT (No such file or directory)
32942 read(9 <unfinished ...>
32945 openat(AT_FDCWD, "/home/jacopo/.cache/fontconfig/f35bdce9a5bc03a27ae87d0808d991ae-le64.cache-9", O_RDONLY|O_CLOEXEC <unfinished ...>
32942 <... read resumed>, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
32945 <... openat resumed>) = -1 EACCES (Permission denied)The only instances are
32942 geteuid( <unfinished ...>
32942 <... geteuid resumed>) = 1000
32942 geteuid( <unfinished ...>
32942 <... geteuid resumed>) = 1000
32948 geteuid( <unfinished ...>
32948 <... geteuid resumed>) = 1000
32948 geteuid( <unfinished ...>
32948 <... geteuid resumed>) = 1000
32942 geteuid() = 1000
32942 geteuid() = 1000but apparently waybar cannot even access files in your $HOME
32942 access("/.flatpak-info", F_OK <unfinished ...>
32942 openat(AT_FDCWD, "/var/lib/flatpak/exports/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_CLOEXEC <unfinished ...>
32942 openat(AT_FDCWD, "/home/jacopo/.local/share/flatpak/exports/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_CLOEXEC <unfinished ...>
32942 access("/.flatpak-info", F_OK <unfinished ...>
32942 openat(AT_FDCWD, "/home/jacopo/.local/share/flatpak/exports/share/dconf/profile/user", O_RDONLY <unfinished ...>
32942 openat(AT_FDCWD, "/var/lib/flatpak/exports/share/dconf/profile/user", O_RDONLY <unfinished ...>
32945 newfstatat(AT_FDCWD, "/home/jacopo/.local/share/flatpak/exports/share/fonts", 0x7fe9b8dfe7f0, 0) = -1 ENOENT (No such file or directory)
32945 newfstatat(AT_FDCWD, "/home/jacopo/.local/share/flatpak/exports/share/fonts" <unfinished ...>
32945 newfstatat(AT_FDCWD, "/home/jacopo/.local/share/flatpak/exports/share/fonts" <unfinished ...>
32945 newfstatat(AT_FDCWD, "/var/lib/flatpak/exports/share/fonts", 0x7fe9b8dfe7f0, 0) = -1 ENOENT (No such file or directory)
32945 newfstatat(AT_FDCWD, "/var/lib/flatpak/exports/share/fonts", 0x7fe9b8dfe900, 0) = -1 ENOENT (No such file or directory)
32945 newfstatat(AT_FDCWD, "/var/lib/flatpak/exports/share/fonts" <unfinished ...>Is waybar a flatpak?
Offline
Waybar is not a flatpak but I am an idiot. The problem was AppArmor. I completely forgot I was experimenting with it a few months ago and left it loaded. Disabling AA solves the issue. I guess now I have to find a profile for waybar.
Offline
\o/
Acknowledgement is the first step ![]()
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Offline
Yes, sure will. Thanks for all the help
Offline