hwhw / kindlevncviewer Goto Github PK
View Code? Open in Web Editor NEWA VNC viewer for ebook readers
License: GNU General Public License v2.0
A VNC viewer for ebook readers
License: GNU General Public License v2.0
I am using this on K3 and have a problem, that did not occur with the non-jit vnc viewer:
When I have a running vnc connection on the K3 and I press a key, the key event is captured and sent to the remote machine as required.
BUT the key event is ALSO sent to the Kindle user interface (covered by the vnc viewer).
Say I press the arrow down key, the I see the line which marks the currently selected entry on the kindle start page "bleed through" the vnc image and move down the screen.
If I press enter, a ebook gets started (which then blocks out the vnc image until the vnc screen update), etc.
Is there any way to prevent the key event from being sent to the kindle UI? With the native version, this problem of the kindle UI reacting to keys pressed in the vnc viewer did not occur.
Or there are too many dependencies on kindle stuff?
For example pocketbook 840:
Linux 3.0.8
ARMv7 Processor rev 2 (v7l)
BogoMIPS : 811.04
Features : swp half thumb fastmult vfp edsp neon vfpv3
Hello and thank you for the great work.
I'm trying kvncviewer from the extracted zip file (1st post on mobileread forum) on my Kobo Aura HD (firmware 4.35.20400).
When I use files extracted from this zip file I get the error:
# ./luajit vncviewer.lua -password ahahah 192.168.1.51:1
./luajit: ./ffi/framebuffer_linux.lua:183: unknown bpp value for the mxc eink driver
stack traceback:
[C]: in function 'error'
./ffi/framebuffer_linux.lua:183: in function 'open'
vncviewer.lua:3: in main chunk
[C]: at 0x0000bd31
A look at the kobo framebuffer gives:
# fbset
mode "1080x1440-0"
# D: 0.008 MHz, H: 0.005 kHz, V: 0.003 Hz
geometry 1080 1440 1088 1536 32
timings 120000000 32 508 4 5 32 2
accel false
rgba 8/16,8/8,8/0,8/24
endmode
I tried to add a condition for 32bit fb in framebuffer_linux.lua
:
...
-- TODO: implement a better check for Kobo
if fb.vinfo.bits_per_pixel == 32 then
-- this ought to be a Kobo
local dummy = require("ffi/mxcfb_kobo_h")
fb.einkUpdateFunc = kobo_update
fb.bb = BB.new(fb.vinfo.xres, fb.vinfo.yres, BB.TYPE_BB32, fb.data, fb.finfo.line_length)
fb.bb:invert()
if fb.vinfo.xres > fb.vinfo.yres then
-- Kobo framebuffers need to be rotated counter-clockwise (they start in landscape mode)
fb.bb:rotate(-90)
end
elseif fb.vinfo.bits_per_pixel == 16 then
-- this ought to be a Kobo
local dummy = require("ffi/mxcfb_kobo_h")
...
I got the program to run and draw part of the VNC session screen on the flickering Kobo screen.
Nikel was not killed before trying that, maybe its interface interferes with kvncviewer display ? (and touch inputs ?)
The framebuffer settings I put in the above code is a quick and dirty trial to get the program running, but probably all wrong. Would you have suggestions on how to get a correct init of the display ?
I saw this issue: #4
Updating these files by the latest commit of kvncviewer did not help with the first error, so I guess the 32bit reported by fbset
is the result of a firmware change between his version and the newest ?
I'll try to get a better control of the flickering (don't need quick updates or frequent fullscreen refresh, the screen I'm targeting is mostly static), and get the touch input to work, feel free to let me know if you have suggestions.
TightVNC server running on windows on port 5901.
Thank you for your help !
I am a long time fan of the old kindlevncviewer. I love the idea of the hackable lua version and tried to install it on my K3.
Unfortunately the release published on the forum is compiled for a different glibc version:
[root@kindle kvncviewer]# ./luajit vncviewer.lua
./luajit: /lib/libc.so.6: version `GLIBC_2.7' not found (required by ./luajit)
Is there any chance you could provide a K3 compatible binary release for the less tech-savy users?
Hi,
trying to cross-compile c9c29f0 on Debian I get:
> make ARCH=arm-linux-gnueabihf
fatal: No names found, cannot describe anything.
fatal: No names found, cannot describe anything.
touch libvncserver/libvncclient/../rfb/rfbconfig.h
arm-linux-gnueabihf-gcc-4.9 -fPIC -shared -DLIBVNCSERVER_HAVE_LIBZ -DLIBVNCSERVER_HAVE_LIBJPEG -Ilibvncserver/libvncclient/.. -Ilibvncserver/libvncclient/../common/ -Ilibvncclient.so -Izlib/ -Ilibjpeg-turbo-1.3.0/ -Wl,-E -Wl,-rpath,'$ORIGIN' -o libvncclient.so libvncserver/libvncclient/cursor.c libvncserver/libvncclient/listen.c libvncserver/libvncclient/rfbproto.c libvncserver/libvncclient/sockets.c libvncserver/libvncclient/vncviewer.c libvncserver/libvncclient/tls_none.c libvncserver/libvncclient/../common/minilzo.c zlib/libz.so.1 libjpeg-turbo-1.3.0/.libs/libjpeg.so.62
In file included from libvncserver/libvncclient/../rfb/rfbclient.h:39:0,
from libvncserver/libvncclient/cursor.c:25:
libvncserver/libvncclient/../rfb/rfbproto.h:73:24: fatal error: rfb/rfbint.h: No such file or directory
#include <rfb/rfbint.h>
^
compilation terminated.
In file included from libvncserver/libvncclient/../rfb/rfbclient.h:39:0,
from libvncserver/libvncclient/listen.c:39:
libvncserver/libvncclient/../rfb/rfbproto.h:73:24: fatal error: rfb/rfbint.h: No such file or directory
#include <rfb/rfbint.h>
^
compilation terminated.
In file included from libvncserver/libvncclient/../rfb/rfbclient.h:39:0,
from libvncserver/libvncclient/rfbproto.c:38:
libvncserver/libvncclient/../rfb/rfbproto.h:73:24: fatal error: rfb/rfbint.h: No such file or directory
#include <rfb/rfbint.h>
^
compilation terminated.
In file included from libvncserver/libvncclient/../rfb/rfbclient.h:39:0,
from libvncserver/libvncclient/sockets.c:37:
libvncserver/libvncclient/../rfb/rfbproto.h:73:24: fatal error: rfb/rfbint.h: No such file or directory
#include <rfb/rfbint.h>
^
compilation terminated.
In file included from libvncserver/libvncclient/../rfb/rfbclient.h:39:0,
from libvncserver/libvncclient/vncviewer.c:32:
libvncserver/libvncclient/../rfb/rfbproto.h:73:24: fatal error: rfb/rfbint.h: No such file or directory
#include <rfb/rfbint.h>
^
compilation terminated.
In file included from libvncserver/libvncclient/../rfb/rfbclient.h:39:0,
from libvncserver/libvncclient/tls_none.c:20:
libvncserver/libvncclient/../rfb/rfbproto.h:73:24: fatal error: rfb/rfbint.h: No such file or directory
#include <rfb/rfbint.h>
^
compilation terminated.
Makefile:67: recipe for target 'libvncclient.so' failed
make: *** [libvncclient.so] Error 1
Any ideas?
Hi,
as reported at http://www.mobileread.com/forums/showpost.php?p=2929418&postcount=22 I had to adjust a few things to get the “colors” correct on Aura HD.
I know you are fiddling with the LUA stuff atm.
But "make" will just fail right now.
make kindlevncviewer
is the bare minimum.
Word the the wise and all that...
After I run ./kvncviewer.sh ...
, the log shows that the connection was successful and that the display is updating, but the user interface still shows on the screen. This seems similar to #9 but instead of bleed-through, there is no VNC display on the screen.
Here's part of the output:
06/10/2019 17:25:44 VNC server supports protocol version 3.8 (viewer 3.8)
06/10/2019 17:25:44 We have 2 security types to read
06/10/2019 17:25:44 0) Received security type 2
06/10/2019 17:25:44 Selecting security type 2 (0/2 in the list)
06/10/2019 17:25:44 1) Received security type 16
06/10/2019 17:25:44 Selected Security Scheme 2
06/10/2019 17:25:44 VNC authentication succeeded
06/10/2019 17:25:44 Desktop name "pi's X desktop (octopi:1)"
06/10/2019 17:25:44 Connected to VNC server, using protocol version 3.8
06/10/2019 17:25:44 VNC server default format:
06/10/2019 17:25:44 16 bits per pixel.
06/10/2019 17:25:44 Least significant byte first in each pixel.
06/10/2019 17:25:44 TRUE colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0
partially updating eink display (0,0)-(1071,1447)
partially updating eink display (279,0)-(1071,884)
partially updating eink display (0,0)-(1071,1447)
partially updating eink display (0,0)-(1071,1447)
partially updating eink display (0,0)-(1071,1447)
partially updating eink display (0,0)-(1071,1447)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.