Re: Xorg with evdev input devices

[email protected]
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <[email protected]>
September 22, 2019 7:12 PM, "Vasily Postnicov" <[email protected]> wrote:

> Thanks, it works. The purpose of my evdev kernel support testing is eventually switch to wayland.
> For this time I have all related ports recompiled with WAYLAND option and also have x11-wm/sway
> installed. Then I run following commands in terminal (I mean, without xorg server running):
> 
>> setenv XDG_RUNTIME_DIR /tmp
> 
>> sway -d
> 
> Sway fails to start with the following log: https://pastebin.com/M3eExb0C
> 
>> 2019-09-22 18:53:04 - [backend/libinput/backend.c:55] Initializing libinput
>> 2019-09-22 18:53:04 - [backend/libinput/backend.c:84] libinput initialization failed, no input
> devices
>> 2019-09-22 18:53:04 - [backend/libinput/backend.c:85] Set WLR_LIBINPUT_NO_DEVICES=1 to suppress
> this check
>> 2019-09-22 18:53:04 - [backend/multi/backend.c:32] Failed to initialize backend.
>> 2019-09-22 18:53:04 - [sway/server.c:195] Failed to start backend
> 
> I've tried to run "setenv WLR_LIBINPUT_NO_DEVICES 1" as suggested and got sway started (but without
> input devices, I suppose). What's wrong with my libinput? It seems it works OK with Xorg

Your sway process doesn't have permission to access /dev/input/*.

[re: the little follow-up email: setuid does not help, because input devices are attached after dropping root, because input devices need to be hotpluggable anyway. setuid is bad, use consolekit2 as described below]

The good (but a bit involved for now) fix:

- run 'sysctl kern.evdev.input' to make sure you have a recent enough kernel -- my patch for this is not in 12.0-RELEASE, but should be in 12.1-BETA I'm pretty sure
- build libudev-devd with https://github.com/myfreeweb/freebsd-ports-dank/blob/lite/devel/libudev-devd/Makefile (i.e. update to the latest git commit)
- build consolekit2 with https://reviews.freebsd.org/D18754
- build wlroots with CONSOLEKIT option
- enable automatic CK2 session creation on login: add 'session         optional        pam_ck_connector.so' to the '# session' section of /etc/pam.d/login
- log out, log in, just run sway
- (you can launch sway under ck-launch-session if the automatic session gets screwed up somehow, but it works for me pretty well)

The bad (but quick) fix:

- chmod/chown /dev/input/* to be accessible to your account
- (there's some devfs config thing that can do this automatically)
- (this exposes input devices to any program running as your account, which defeats the "no keyloggers allowed" advantage of wayland)
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.