-
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
Support for system update 2.6 #322
Comments
rm2fb needs to update server to point at xochitl instead of remarkable shutdown, as there are new waveform modes (issue 56 in rm2fb) as part of this, rm2fb server should check that the preload exists before running, otherwise it will invoke xochitls main and run two at once if someone blows the home partition away |
Just released toolchain v2.0.1 to fix some crashes that were seen on Qt apps such as fingerterm and recrossable. |
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.
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.
Note to users: If you upgraded to 2.6, you can use the |
…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.
With release 2.7 starting to roll out and release 2.6 seeming to have reached most users, I think it makes sense to rebuild our packages to use the 2.x toolchain. This will make Toltec work with updates 2.6 and 2.7 (fixes #322), at the price of **breaking compatibility with system updates 2.5 and earlier.** Testing plan: Having update 2.6 installed, I went through basic checks for each package both on rM1 and rM2 to make sure that each app at least starts up and seems to be working.
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.
@matteodelabre May I ask why the branch |
@JanLuca Probably because we haven't opened a PR for it yet, and we still have some larger work in the testing branch we need to solve first. That is a good point though, @matteodelabre when do you plan on opening a PR for 2.6 support? |
With release 2.7 starting to roll out and release 2.6 seeming to have reached most users, I think it makes sense to rebuild our packages to use the 2.x toolchain. This will make Toltec work with updates 2.6 and 2.7 (fixes #322), at the price of **breaking compatibility with system updates 2.5 and earlier.** Testing plan: Having update 2.6 installed, I went through basic checks for each package both on rM1 and rM2 to make sure that each app at least starts up and seems to be working.
It’s been a little while since I last worked on that branch, but if I remember correctly, there were some packages that didn’t build because the 2.x toolchain uses a newer version of gcc. I’ll try to open a PR this week. |
With release 2.6 having reached most users, I think it makes sense to rebuild our packages to use the 2.x toolchain. This will make Toltec work with updates 2.6 and onwards (fixes #322), at the price of **breaking compatibility with system updates 2.5 and earlier.** Testing plan: Having update 2.6 installed, I went through basic checks for each package both on rM1 and rM2 to make sure that each app at least starts up and seems to be working.
This PR updates all the recipes to use the 2.x toolchain. This will make Toltec work with updates 2.6 and onwards (fixes #322), at the price of breaking compatibility with system updates 2.5 and earlier. Co-authored-by: Nathaniel van Diepen <[email protected]>
⩾2.6-compatible packages have now reached the testing branch (ping @JanLuca). |
A new official system update, 2.6, is being rolled out to users. Most system libraries have been updated in this new version, which makes apps compiled for previous versions incompatible. In particular:
A new release of the Toltec toolchain was made to support building apps that target the new 2.6 update. However, most packages compiled for 2.6 will not work for 2.5, and vice-versa. Our current plan is to take advantage of the new features in #310 to create two separate repos containing packages for each of the two versions.
The text was updated successfully, but these errors were encountered: