-
Notifications
You must be signed in to change notification settings - Fork 60
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
Use xochitl instead of remarkable-shutdown in rm2fb-server #325
Conversation
In the last software relase (2.6), new waveform modes were added to xochitl to make the pinch-to-zoom feature work. Unfortunately, the remarkable-shutdown binary was not updated to support those new waveforms. As a consequence, using pinch-to-zoom with rm2fb results in a less smooth experience than without rm2fb, since the screen gets refreshed less frequently during the gesture. See: * <#322 (comment)> * <ddvk/remarkable2-framebuffer#56> To address this issue, this PR changes the rm2fb-server to preload the `/usr/bin/xochitl` binary instead of `/usr/bin/remarkable-shutdown` in both the `rm2fb-server` command and `rm2fb.service`. A start condition is added to `rm2fb.service` to only start if the librm2fb_server library actually exists on the filesystem. This is to avoid having two concurrent xochitl processes running, as the loader ignores non-existent files provided in LD_PRELOAD. Test plan: * Manually run `rm2fb-server` and `rm2fb-client xochitl`, make use of the pinch-to-zoom gesture, and make sure no message of the form `Unable to complete update: invalid waveform ( 6 )` appears in the server process. * Check that the display continuously updates when using the pinch-to-zoom gesture, even if the `rm2fb.service` service is running and xochitl is started with `rm2fb-client xochitl`. * Remove the `/opt/lib/librm2fb_server.so.1` symlink and restart `rm2fb.service`. The service should not start. Make sure that there’s no duplicate `xochitl` process in this case.
yes, it works fine but problematically remux is sending it SIGSTOP signals when remux runs because rm2fb now has the bin of 'xochitl' (since remux doesn't assume it is "owning" a process, it scans for all processes that use the bin specified in the draft file). |
Fixed this with a patch to the server library to overwrite |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
verified it now works with remux
…b-server See #56 and toltec-dev/toltec#325 for context.
…fb-server (#59) See #56 and toltec-dev/toltec#325 for context.
…v#325) In the last software relase (2.6), new waveform modes were added to xochitl to make the pinch-to-zoom feature work. Unfortunately, the remarkable-shutdown binary was not updated to support those new waveforms. As a consequence, using pinch-to-zoom with rm2fb results in a less smooth experience than without rm2fb, since the screen gets refreshed less frequently during the gesture. See: * <toltec-dev#322 (comment)> * <ddvk/remarkable2-framebuffer#56> To address this issue, this PR changes the rm2fb-server to preload the `/usr/bin/xochitl` binary instead of `/usr/bin/remarkable-shutdown` in both the `rm2fb-server` command and `rm2fb.service`. This PR also contains a patch to prevent rm2fb-server from appearing as xochitl in process lists. This is done by overwriting `argv[0]` after the library is initialized. This is necessary to prevent remux from mistakenly killing rm2fb-server. A start condition is added to `rm2fb.service` to only start if the librm2fb_server library actually exists on the filesystem. This is to avoid having two concurrent xochitl processes running, as the loader ignores non-existent files provided in LD_PRELOAD. Test plan: * Manually run `rm2fb-server` and `rm2fb-client xochitl`, make use of the pinch-to-zoom gesture, and make sure no message of the form `Unable to complete update: invalid waveform ( 6 )` appears in the server process. * Check that the display continuously updates when using the pinch-to-zoom gesture, even if the `rm2fb.service` service is running and xochitl is started with `rm2fb-client xochitl`. * Remove the `/opt/lib/librm2fb_server.so.1` symlink and restart `rm2fb.service`. The service should not start. Make sure that there’s no duplicate `xochitl` process in this case.
…oltec-dev#325)" This reverts commit aadaead.
In the last software relase (2.6), new waveform modes were added to xochitl to make the pinch-to-zoom feature work. Unfortunately, the remarkable-shutdown binary was not updated to support those new waveforms. As a consequence, using pinch-to-zoom with rm2fb results in a less smooth experience than without rm2fb, since the screen gets refreshed less frequently during the gesture. See: * <#322 (comment)> * <ddvk/remarkable2-framebuffer#56> To address this issue, this PR changes the rm2fb-server to preload the `/usr/bin/xochitl` binary instead of `/usr/bin/remarkable-shutdown` in both the `rm2fb-server` command and `rm2fb.service`. This PR also contains a patch to prevent rm2fb-server from appearing as xochitl in process lists. This is done by overwriting `argv[0]` after the library is initialized. This is necessary to prevent remux from mistakenly killing rm2fb-server. A start condition is added to `rm2fb.service` to only start if the librm2fb_server library actually exists on the filesystem. This is to avoid having two concurrent xochitl processes running, as the loader ignores non-existent files provided in LD_PRELOAD. Test plan: * Manually run `rm2fb-server` and `rm2fb-client xochitl`, make use of the pinch-to-zoom gesture, and make sure no message of the form `Unable to complete update: invalid waveform ( 6 )` appears in the server process. * Check that the display continuously updates when using the pinch-to-zoom gesture, even if the `rm2fb.service` service is running and xochitl is started with `rm2fb-client xochitl`. * Remove the `/opt/lib/librm2fb_server.so.1` symlink and restart `rm2fb.service`. The service should not start. Make sure that there’s no duplicate `xochitl` process in this case.
In the last software relase (2.6), new waveform modes were added to xochitl to make the pinch-to-zoom feature work. Unfortunately, the remarkable-shutdown binary was not updated to support those new waveforms. As a consequence, using pinch-to-zoom with rm2fb results in a less smooth experience than without rm2fb, since the screen gets refreshed less frequently during the gesture.
See:
To address this issue, this PR changes the rm2fb-server to preload the
/usr/bin/xochitl
binary instead of/usr/bin/remarkable-shutdown
in both therm2fb-server
command andrm2fb.service
.A start condition is added to
rm2fb.service
to only start if the librm2fb_server library actually exists on the filesystem. This is toavoid having two concurrent xochitl processes running, as the loader ignores non-existent files provided in LD_PRELOAD.
Test plan:
rm2fb-server
andrm2fb-client xochitl
, make use of the pinch-to-zoom gesture, and make sure no message of the formUnable to complete update: invalid waveform ( 6 )
appears in the server process.rm2fb.service
service is running and xochitl is started withrm2fb-client xochitl
./opt/lib/librm2fb_server.so.1
symlink and restartrm2fb.service
. The service should not start. Make sure that there’s no duplicatexochitl
process in this case.