as long as you have SSH keys and you don't blow away your home partition, you are mostly fine. you do need a slightly older version of Xochitl, though (3.2 and below)
It would be nice if someone were to start working on an aftermarket linux distribution/ecossytem that targets eink devices. It's a lot of work to do, though, so I'm not surprised that nobody has picked up that torch yet.
Some notes on the reMarkable, it is running a custom linux distribution that is based on Openembedded Core[0]. The company publishes their modifications to the linux kernel[1], so one person has created their own linux distribution for the original reMarkable tablet [2]. The reMarkable 2 currently has no native framebuffer driver for the screen, due to it being software controlled by the UI application, which requires a workaround for custom applications[3].
0. https://www.yoctoproject.org/software-item/openembedded-core... 1. https://github.com/reMarkable/linux 2. http://www.davisr.me/projects/parabola-rm/ 3. https://github.com/ddvk/remarkable2-framebuffer
That is what I'm trying to do with https://github.com/bjesus/air . Kobo runs mainline Linux quite fine, and specifically PostmarketOS works great. Assembling an interface that plays nicely with the device hasn't actually been that difficult!
1. You can either just serve an image on a URL and the device will display it, refreshing whenever the image changes:
https://www.invisible-computers.com/invisible-calendar/image...
2. Or you wrap this into an API with a settings page, which will also allow others to install and use your app:
https://github.com/Invisible-Computers/image-gallery/blob/ma...
(I hope that this is sufficiently relevant to the topic to not be obnoxious, even though I am tooting my own horn here.)
https://github.com/Invisible-Computers/image-gallery/blob/ma...
But right now, I understand that building an app for my platform is
a) more hassle than just pointing to a URL
b) limited upside, because the audience that you can charge for a subscription isn't very big yet.
However, I think that a good app could generate its own audience (aka drive ppl to buy the displays) and then make money by charging them a small monthly subscription fee.
- You stop updating the app and my phone OS wont run it,
- My phone stops updating its OS and cant run the app, or
- The walled garden gates lock shut on you for whatever reason and I cant install the app, or
- You stop supporting my version of the display.
Is there any way to interact with the display without the companion app? Pushing raw bytes over the network is fine, just anything that doesn't require some phone.
In another eye rolling move, I also dont really consider a response of "we promise to opensource the companion app, or unlock the device if we go out of business" viable (what if you die unexpectedly?, or simply, dont care to follow through?).
If the promise is real, they should make it legally binding. If you go bankrupt, you lose control over your IP and quite possibly can't choose to follow through.
Although, even then, open-sourcing the app can be expensive (you need lawyers to confirm you actually have the rights to open-source all parts of the relevant code, and if there's something you can't open-source then you need devs to write a shim, identify the relevant keys that need to be published, and hopefully write some documentation.
I’d like to see legislation requiring this for any software that a physical device needs in order to work, but I doubt that will happen any time soon. (“Right to repair” is meaningless without something at least as strong as source code escrow)
I think your questions are valid and not eye-rolling at all.
As for the app, you can find the Android APK here, so as long as you have or find an old Android device, you can sideload it anytime: https://drive.google.com/file/d/1nnAHVm21FLKIAJ4kTmz6Q0D9Zk4...
But there is another dependency that you haven't mentioned: The device requires a running backend with an API.
At the moment, my only answer to that is: "I'll keep it running even if it becomes uneconomical and I will then also open-source everything.".
But I am also intending to add a way to completely avoid the backend, which will require users to render the data in a specific format to the device.
Supporting this is totally worth the effort for me. If only to put my own mind at ease a bit! But, and there I have to be honest, I have limited resources to work on things. There are other features that I feel are very pressing as well. And so I cannot promise when I will find the time to implement this.
Honestly; a (?rest?) API to push content and trigger updates would potentially cause me to buy immediately if I can self host all the required parts. I've been trying to come up with a household GTD system for awhile now and i can see some clean integrations.
What if the device had a mode to let people connect to an API via a lan connection? That would solve all the privacy issues I just mentioned, and also improve reliability when the internet is flaky. It would also solve the e-waste problem if your backend shuts down.
The config would point to the API that a user can deploy. Exposing more knobs through a config would be much easier than through a mobile app.
Overall, I am impressed with the device and the dev-friendly documentatio. I consider buying it. My use case would be to display weather and calendar - preferably together. The OAuth2 stuff is quite complex, so I appreciate that the company handles it on the backend.
Does that just require some hacking, or do they still some how lock that down even if you are a power user?
Just remember to ensure you have some form of recovery prepared or make the necessary pogo connector just in case.
rmkit is a library (and community) for creating apps on the rM (and now Kobo). outside of rmkit, people typically use Qt to write apps, but there's many routes[0], including SAS[1]: a solution that uses unix pipes. the rM2 requires a bit more hacking to get working than the rM1 because their framebuffer driver[2] is embedded in their software for rM2 and requires updating rm2fb every time remarkable releases a new update. there's alternative drivers[3] to drive the display in development.
i will keep updating the article based on feedback, thank you and keep hacking!
[0]: https://remarkable.guide/devel/index.html
[1]: https://rmkit.dev/apps/sas
[2]: https://github.com/ddvk/remarkable2-framebuffer/
[3]: https://github.com/matteodelabre/waved