pl-semiotics/rM-vnc-server

Rotate the screen of rM being served

Opened this issue · 4 comments

Is is possible to rotate the screen of rM being served by the rM-vnc-server so that on the viewer I can see the remarkable in landscape mode. I tried to do this at the viewer end but was unable to get the rotated screen. What I see is just half of the portrait screen which I have to scroll.

Would appreciate any help on this. Thanks.

You can rotate it with gstreamer https://github.com/peter-sa/gst-libvncclient-rfbsrc

that's sort of hard to set up, so instead I just use ssvnc to resize (but not rotate) the screen.

Cannot this be done from the server side like a command line argument to rotate the display while being served?

I'm inclined to leave rotation in the clients, so that we don't have to either (1) allocate an extra framebuffer's worth of memory on the device or (2) patch libvncserver. Patches to optionally allow this are welcome, but I'm unlikely to write it myself at the moment.

Here is a patch for gtk-vnc-1.2.0 that rotates the remote screen. Tested with remarkable 2. Drawing with immediate update works on either the desktop screen or on the remarkable tablet. Even when connected via WLAN the delay of an update is hardly noticeable. Requirements for building are meson, ninja, a C compiler and certainly some header files. The patched gvncviewer has a menu option under "View", "Rotate 90° clockwise", that can be toggled.

To build, download gtk-vnc-1.2.0.tar.xz and the attached patch file,

tar -xJf gtk-vnc-1.2.0.tar.xz
cd gtk-vnc-1.2.0
patch -p1 ../add_rotation_to_gtk-vnc-1.2.0.txt
meson ../build
cd ../build
ninja examples/gvncviewer
# now start rM2-vnc-server on, e.g., 192.168.43.105, then start the vnc client
examples/gvncviewer 192.168.43.105