Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[remux] remux does not survive reboot on RM2 under 2.9 + toltec testing #141

Closed
huperaisan opened this issue Aug 21, 2021 · 13 comments
Closed

Comments

@huperaisan
Copy link

Installed with the testing branch of Toltec with rm2fb 1:0.0.6-1. Everything works as expected the first time the RM2 starts after using the systemctl enable remux --now command, but after subsequent reboots, the swipe gesture no longer works.

  • Running systemctl enable remux --now does not fix it.
  • Running rm2fb-client remux brings up the launcher but breaks Xochitl (no longer responsive and has to be rebooted).
  • systemctl status remux throws up a few instances of this error: xochitl.gestures Too many touch groups.

I can fix this by removing and installing remux again via Toltec.

@Pemo11235
Copy link

I have the same issue. I need to start the remux or genie service with systemctl enable
to actually let them work.

@raisjn
Copy link
Member

raisjn commented Aug 25, 2021

thank you, I will upgrade to 2.9 and check what is going on. I tried to reproduce this on 2.8 w rm1 and it happened when there is a system upgrade but not after. is the systemd file still in place after reboot for remux?

@Pemo11235
Copy link

Pemo11235 commented Aug 26, 2021

[[0;1;32m●[[0m remux.service - App launcher that supports multi-tasking applications
Loaded: loaded (/lib/systemd/system/remux.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/remux.service.d
└─rm2fb-preload.conf
Active: [[0;1;32mactive (running)[[0m since Wed 2021-08-25 09:44:04 UTC; 21h ago
Main PID: 197 (remux)
CGroup: /system.slice/remux.service
├─197 /opt/bin/remux
└─252 /usr/bin/xochitl --system

what is the path ?

@raisjn
Copy link
Member

raisjn commented Aug 28, 2021

can you share the logs after a reboot? journalctl -u remux

it's possible that there's an error and it gets disabled? or its possible that the boot process now removes services.

@matteodelabre
Copy link

(On rM2, 2.9.1)

Logs after reboot
-- Reboot --
Aug 29 21:55:52 systemd[1]: Started App launcher that supports multi-tasking applications.
Aug 29 21:55:52 remux[196]: /dev/input/event2 IS UNKNOWN EVENT DEVICE
Aug 29 21:55:52 remux[196]: READING CONFIG FROM /home/root/.config/remux/remux.conf
Aug 29 21:55:53 remux[196]: No such file or directory
Aug 29 21:55:53 remux[196]: No such file or directory
Aug 29 21:55:53 remux[196]: CURRENT APP IS Remarkable
Aug 29 21:55:53 remux[196]: READING TIMEOUTS FOR SLEEP/SHUTDOWN FROM XOCHITL
Aug 29 21:55:53 remux[196]: STARTING SUSPEND THREAD
Aug 29 21:55:53 remux[196]: STARTING FIFO THREAD
Aug 29 21:55:53 remux[196]: LAST SUSPEND LOOP WAS 1630274153 AGO, RESETTING IDLE TIMER
Aug 29 21:55:53 remux[196]: SETTING UP GESTURES
Aug 29 21:55:53 remux[196]: READING CONFIG FROM /home/root/.config/remux/remux.conf
Aug 29 21:55:53 remux[196]: ADDED TAP GESTURE:
Aug 29 21:55:53 remux[196]:   command:
Aug 29 21:55:53 remux[196]:   gesture: tap
Aug 29 21:55:53 remux[196]:   fingers: 3
Aug 29 21:55:53 remux[196]:   zone: -1 -1 -1 -1
Aug 29 21:55:53 remux[196]:   duration: 0
Aug 29 21:55:53 remux[196]: ADDED TAP GESTURE:
Aug 29 21:55:53 remux[196]:   command:
Aug 29 21:55:53 remux[196]:   gesture: tap
Aug 29 21:55:53 remux[196]:   fingers: 4
Aug 29 21:55:53 remux[196]:   zone: -1 -1 -1 -1
Aug 29 21:55:53 remux[196]:   duration: 0
Logs after systemctl restart remux
Aug 29 21:56:54 systemd[1]: Started App launcher that supports multi-tasking applications.
Aug 29 21:56:54 remux[292]: READING CONFIG FROM /home/root/.config/remux/remux.conf
Aug 29 21:56:54 remux[292]: No such file or directory
Aug 29 21:56:54 remux[292]: No such file or directory
Aug 29 21:56:54 remux[292]: READING TIMEOUTS FOR SLEEP/SHUTDOWN FROM XOCHITL
Aug 29 21:56:54 remux[292]: STARTING SUSPEND THREAD
Aug 29 21:56:54 remux[292]: STARTING FIFO THREAD
Aug 29 21:56:54 remux[292]: LAST SUSPEND LOOP WAS 1630274214 AGO, RESETTING IDLE TIMER
Aug 29 21:56:54 remux[292]: SETTING UP GESTURES
Aug 29 21:56:54 remux[292]: READING CONFIG FROM /home/root/.config/remux/remux.conf
Aug 29 21:56:54 remux[292]: ADDED TAP GESTURE:
Aug 29 21:56:54 remux[292]:   command:
Aug 29 21:56:54 remux[292]:   gesture: tap
Aug 29 21:56:54 remux[292]:   fingers: 3
Aug 29 21:56:54 remux[292]:   zone: -1 -1 -1 -1
Aug 29 21:56:54 remux[292]:   duration: 0
Aug 29 21:56:54 remux[292]: ADDED TAP GESTURE:
Aug 29 21:56:54 remux[292]:   command:
Aug 29 21:56:54 remux[292]:   gesture: tap
Aug 29 21:56:54 remux[292]:   fingers: 4
Aug 29 21:56:54 remux[292]:   zone: -1 -1 -1 -1
Aug 29 21:56:54 remux[292]:   duration: 0

In the after-reboot logs, the following line is probably of interest:

/dev/input/event2 IS UNKNOWN EVENT DEVICE

@matteodelabre
Copy link

This appears to be caused by the remux service starting too soon at boot time, before the /dev/input/event2 device is even available. To fix this, we can make the service depend on .device units. First, we need to make systemd track input devices as .device units by adding an udev rule. Create a file called /lib/udev/rules.d/15-systemd-input.rules with the following contents:

ACTION=="add", SUBSYSTEM=="input", TAG+="systemd"

Then we can add the required dependencies in remux’s service definition. Edit the file at /lib/systemd/system/remux.service as follows:

 [Unit]
 Description=App launcher that supports multi-tasking applications
-After=xochitl.service opt.mount
+Requires=dev-input-event0.device dev-input-event1.device dev-input-event2.device
+After=xochitl.service opt.mount dev-input-event0.device dev-input-event1.device dev-input-event2.device
 StartLimitInterval=30
 StartLimitBurst=5
 Conflicts=draft.service tarnish.service

Then reboot. This fixes the issue, at least on my device. Can any of you try this to see if it fixes your issue? @qdatk @Pemo11235

@Pemo11235
Copy link

It works for remux but not for genie (of course).
Is genie need same edit?

@matteodelabre
Copy link

Great! Thanks for testing this. I haven’t tried it with genie yet, but I guess adding the same dev-input-event*.device dependencies to the Requires= and After= fields of its service unit should work too.

@Pemo11235
Copy link

This appears to be caused by the remux service starting too soon at boot time, before the /dev/input/event2 device is even available. To fix this, we can make the service depend on .device units. First, we need to make systemd track input devices as .device units by adding an udev rule. Create a file called /lib/udev/rules.d/15-systemd-input.rules with the following contents:

ACTION=="add", SUBSYSTEM=="input", TAG+="systemd"

Then we can add the required dependencies in remux’s service definition. Edit the file at /lib/systemd/system/remux.service as follows:

 [Unit]
 Description=App launcher that supports multi-tasking applications
-After=xochitl.service opt.mount
+Requires=dev-input-event0.device dev-input-event1.device dev-input-event2.device
+After=xochitl.service opt.mount dev-input-event0.device dev-input-event1.device dev-input-event2.device
 StartLimitInterval=30
 StartLimitBurst=5
 Conflicts=draft.service tarnish.service

Then reboot. This fixes the issue, at least on my device. Can any of you try this to see if it fixes your issue? @qdatk @Pemo11235

it works on Genie too !
It seems fix the Issue #106 that I open a while a go.

@bestockconsulting
Copy link

This appears to be caused by the remux service starting too soon at boot time, before the /dev/input/event2 device is even available. To fix this, we can make the service depend on .device units. First, we need to make systemd track input devices as .device units by adding an udev rule. Create a file called /lib/udev/rules.d/15-systemd-input.rules with the following contents:

ACTION=="add", SUBSYSTEM=="input", TAG+="systemd"

Then we can add the required dependencies in remux’s service definition. Edit the file at /lib/systemd/system/remux.service as follows:

 [Unit]
 Description=App launcher that supports multi-tasking applications
-After=xochitl.service opt.mount
+Requires=dev-input-event0.device dev-input-event1.device dev-input-event2.device
+After=xochitl.service opt.mount dev-input-event0.device dev-input-event1.device dev-input-event2.device
 StartLimitInterval=30
 StartLimitBurst=5
 Conflicts=draft.service tarnish.service

Then reboot. This fixes the issue, at least on my device. Can any of you try this to see if it fixes your issue? @qdatk @Pemo11235

Just dropping another note to say this fixed the issue I had with launch remux after a reboot on version 2.9.1.217 if it helps anyone.

@huperaisan
Copy link
Author

This appears to be caused by the remux service starting too soon at boot time, before the /dev/input/event2 device is even available. To fix this, we can make the service depend on .device units. First, we need to make systemd track input devices as .device units by adding an udev rule. Create a file called /lib/udev/rules.d/15-systemd-input.rules with the following contents:

ACTION=="add", SUBSYSTEM=="input", TAG+="systemd"

Then we can add the required dependencies in remux’s service definition. Edit the file at /lib/systemd/system/remux.service as follows:

 [Unit]
 Description=App launcher that supports multi-tasking applications
-After=xochitl.service opt.mount
+Requires=dev-input-event0.device dev-input-event1.device dev-input-event2.device
+After=xochitl.service opt.mount dev-input-event0.device dev-input-event1.device dev-input-event2.device
 StartLimitInterval=30
 StartLimitBurst=5
 Conflicts=draft.service tarnish.service

Then reboot. This fixes the issue, at least on my device. Can any of you try this to see if it fixes your issue? @qdatk @Pemo11235

Can confirm working on my end too (2.9.0.210)! Thanks!

@alicanerdogan
Copy link

I can also confirm that has also fixed on my device (2.9.1.217)
Huge props 👏

@raisjn
Copy link
Member

raisjn commented Dec 13, 2021

let's close out since i think its working for most people

@raisjn raisjn closed this as completed Dec 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants