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

reMarkable2 support #4

Closed
yujikiriki opened this issue Nov 20, 2020 · 7 comments
Closed

reMarkable2 support #4

yujikiriki opened this issue Nov 20, 2020 · 7 comments

Comments

@yujikiriki
Copy link

From bordaigorl/rmview#22

For anyone interested, I am the author of the device side of the vnc branch. I unfortunately do not have a reMarkable2, and the fact that much of the framebuffer processing now happens in userspace makes the former solution for snooping on damage tracking information perhaps somewhat unfeasible. I do expect to take a look at trying to port the software with the assistance of others who do have rM2 devices over the next few weeks and would be happy to update here with the result should I find a solution.

@yujikiriki
Copy link
Author

I'm interested in helping in any way possible as a owner of a rm2 and user of rmview. How can I help?

@sasozivanovic
Copy link

I'm a happy owner of rm2 and eager to help as well!

@pl-semiotics
Copy link
Owner

I'm happy to announce that rm2 support is here!

@raisjn
Copy link

raisjn commented Jan 2, 2021

Awesome, well done! I see that libqsgepaper-snoop is used which sends out damage info over unix socket. Does rm-vnc-server only rely on that damage info from the socket or is there more involved? If its only damage info, I feel like it would be quite easy to emit that same information from rm2fb server over a unix domain socket and it would be nice if we could support rmView (and the vnc branch) inside of rm2fb.

@pl-semiotics
Copy link
Owner

@raisjn rm2fb is currently working by using the libqsgepaper.a code inside remarkable-shutdown to drive the display, right? In this case the VNC server ought to work as it is, although I have not tested it---if it does not, please open an issue with a copy of the remarkable-shutdown binary you are using and logs. (I did take a quick look at remarkable-shutdown in ghidra while reversing xochitl, although I've been focused on xochitl---and it does appear to have the Qt metaobject that libqsgepaper-snoop uses to find things.)

If, in the future, we develop another swtcon driver---the server needs both the damage updates and access to the actual composited framebuffer (in libqsgepaper.a, this is originally mapped as MAP_ANONYMOUS|MAP_PRIVATE, so libqsgepaper-snoop has to go to some effort to yank that mapping out and replace it (without the other threads noticing) with MAP_ANONYMOUS|MAP_SHARED so that we can get it from another process), but that's all. The interface is in backend.h---basically, it needs a file descriptor that can be mapped to get a framebuffer at some offset, a file descriptor that is written to when a damage notification is available, and a function to retrieve a damage notification. It should indeed be quite easy to emit the necessary info!

@raisjn
Copy link

raisjn commented Jan 3, 2021

@raisjn rm2fb is currently working by using the libqsgepaper.a code inside remarkable-shutdown to drive the display, right?

yes, but there is xochitl and remarkable-shutdown running at once. i will open an issue on this

If, in the future, we develop another swtcon driver

there is at least one person writing a SWTCON driver, so this is good to know, thanks!

@pl-semiotics
Copy link
Owner

I'm going to go ahead and close this issue for now---feel free to open more if there are any specific issues like the rm2fb one!

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

4 participants