Giter Site home page Giter Site logo

hwhw / kindlevncviewer Goto Github PK

View Code? Open in Web Editor NEW
191.0 20.0 27.0 1.48 MB

A VNC viewer for ebook readers

License: GNU General Public License v2.0

Makefile 6.30% Shell 6.80% Lua 3.87% C 44.85% HTML 9.12% CSS 0.50% Perl 0.07% JavaScript 0.54% Java 4.29% Assembly 21.38% CMake 0.83% M4 0.53% Roff 0.87% Rich Text Format 0.06%

kindlevncviewer's Issues

Key-events "bleed through" to Kindle user interface on K3

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.

Kobo Aura HD 32bit fb ?

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 !

Publish binaries for K3

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?

rfb/rfbint.h: No such file or directory

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?

makefile documentation is out of sync?

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...

Kindle UI stays on screen after running shell script on Kindle Paperwhite 3

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.