r-c-f/waynergy

Waynergy errors out on on Asahi Fedora Remix 39 (aarch64)

rayrayrayraydog opened this issue · 3 comments

I am trying to get waynergy to work on an M2 Mac Mini running Asahi Linux. It would be a client connecting to another Synergy server using synergy-core, with protocol traffic going over an SSH tunnel. The standout error here seems to be: Watch mode requires a compositor that supports the wlroots data-control protocol

I have installed wlroots on this machine also. Here is a full debug log when trying to connect:

rayray@armcat:~$ waynergy  --loglevel debug -c 127.0.0.1
uinput fd open failed (this is normal if not using uinput backend): Permission denied
0.000000125: [DEBUG] Section log not found in INI
0.000008334: [INFO] Log initialized at level 4
0.000012000: [INFO] waynergy version v0.0.16-7-g5e678a1
0.000023125: [DEBUG] Property syn_raw_key_codes not found in INI
0.000037084: [DEBUG] requiring wait() on SIGCHLD
wl-clipboard 2.2.0
Copyright (C) 2018-2023 Sergey Bugaev
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
0.000425834: [DEBUG] Child died: PID 4029, Status 0
0.000436750: [DEBUG] Found wl-paste
wl-clipboard 2.2.0
Copyright (C) 2018-2023 Sergey Bugaev
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
0.000750625: [DEBUG] Child died: PID 4030, Status 0
0.000764792: [DEBUG] Found wl-copy
0.000767250: [DEBUG] not requiring wait() on SIGCHLD
0.010272584: [WARN] Child died: PID 4031, Status 1
0.010279876: [WARN] Could not kill lingering wlpaste instances: -1

0.010572918: [DEBUG] Section wayland not found in INI
Watch mode requires a compositor that supports the wlroots data-control protocol
0.010744334: [WARN] Child died: PID 4032, Status 1
0.010808209: [DEBUG] Mutating output...
0.010811834: [DEBUG] Got output at position 0,0
0.010814584: [DEBUG] Got current mode: 1920x1080@60000*
0.010820793: [DEBUG] Mutating output...
0.010822626: [DEBUG] Got scale factor for output: 1
0.010829251: [DEBUG] Mutating output...
0.010832543: [INFO] Output updated: 1920x1080 at 0, 0 (scale: 1)
0.010838084: [DEBUG] All outputs updated, triggering event
0.010842668: [INFO] Geometry updated: 1920x1080
0.010849168: [DEBUG] Current output backend does not update input geometry
0.010851001: [DEBUG] Got xdg output position: 0, 0
0.010856334: [DEBUG] Mutating output from xdg_output event
0.010860626: [DEBUG] Got xdg output size: 1920x1080
0.010862584: [DEBUG] Mutating output from xdg_output event
0.010869168: [DEBUG] Got xdg output name: HDMI-1
0.010872376: [DEBUG] Mutating output from xdg_output event
0.010876418: [DEBUG] Got xdg output desc: Unknown Display
0.010882209: [DEBUG] Mutating output from xdg_output event
0.010883959: [INFO] Output name: HDMI-1
0.010888876: [INFO] Output description: Unknown Display
0.010897626: [INFO] Output updated: 1920x1080 at 0, 0 (scale: 1)
0.010903251: [DEBUG] All outputs updated, triggering event
0.010904793: [INFO] Geometry updated: 1920x1080
0.010909876: [DEBUG] Current output backend does not update input geometry
0.010914709: [DEBUG] Seat has pointer
0.010916334: [DEBUG] Seat has keyboard
0.010920876: [DEBUG] Seat name is seat0
0.010994959: [DEBUG] Property wl_keyboard_map not found in INI
0.011010168: [DEBUG] Current keymap updated
0.011025543: [INFO] Compositor seems to be gnome-shell
0.011029334: [DEBUG] Trying KDE fake input protocol for input
0.011032959: [DEBUG] Fake input not supported
0.011036459: [DEBUG] Invalid uinput fds
0.011041418: [ERROR] Virtual input not supported by compositor
Watch mode requires a compositor that supports the wlroots data-control protocol

Any hope I can get this working?

This seems like the same issue I had with my initial setup (see #38)

Check to see that the uinput module is loaded using modprobe uinput --first-time
If you don't see Module already in kernel, follow the steps outlined in the linked issue to make the kernel module load at boot.

YES! Thank you. I can connect now and it works. I have not done extensive testing yet but will give it a try for a few days as I can finally have the mini as my second daily driver. :)

One thing, I was still getting the permission errors on /dev/uinput even after adding the file /etc/modules-load.d/uinput.conf with uinput in it. It would auto-load the module at boot but it was still owned by root at startup. I had to also include a udev rule that in other situations most people agree isn't needed (based on just a couple Google hits), but I had to anyway on this machine.

root@armcat:/etc/udev/rules.d# cat 50-uinput-waynergy.rules 
KERNEL=="uinput", MODE="0666"

Closing this