![]() |
#1 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,379
Karma: 2155307
Join Date: Nov 2010
Location: Goettingen, Germany
Device: Kindle Paperwhite, Kobo Mini
|
Kindle VNC viewer (native app, GPLv2)
Hi,
this is the result of my first day off work :-) I spent it hacking on my PC, and you are welcome to profit from it. It's a VNC viewer for the Kindle. It still has it's restrictions, and it does not yet handle input. You can however use it as a e-ink screen for you PC. In order to do that, you need to run a VNC server on the PC. E.g., on Linux, I run Code:
xinit /usr/bin/openbox -- /usr/bin/Xvnc :1 -geometry 1200x824 -depth 16 -dpi 160 -alwaysshared -lazytight Then I call Code:
x2vnc -east localhost:1 On Windows, you would probably use some virtual second screen and use a VNC server that provides the contents of this screen or just fire up a VNC server and work on a clone of your main PC screen. The attached ZIP archive contains runnable executables and a file INSTALL.TXT which explains how to install the application. It also comes with a config file for Launchpad. It's tested on a Kindle DX Graphite and a Kindle 3 Wifi at the moment, also a test was done for the K4. Your connection options would be USB or Wifi (on K3/K4/K5). The source code is available at http://github.com/hwhw/kindlevncviewer. Update 2011 Oct 04: Added support for password-based authentification. See the included launchpad configuration file for an example. In short, it has 2 new optional arguments now: "-password <pwd>" which will read a password given as the following option, and "-readpassword" which will read the password from standard input, so you can pipe it from a command or a file. Update 2012 Mar 05: Added input support. This works by doing a callback into a Lua file. Currently, keys are passed to host mostly as-is. Page Forward is mapped to TAB, Page Backward is ESC. When you press Home, the viewer will quit. But you can edit config.lua and have you own layout or even macros by just scripting them in Lua. Also, I've prepared a callback function for pointer movements. Maybe I'll script that soon or someone beats me to it. Update 2012 Apr 17: Added dithered mode. This isn't very usable, but it will not flash the screen at all (i.e. not going through black). It only paints white and black pixels to archieve that. The backside is that only high contrast parts are visible. It is more or less a play thing. You can activate this mode by giving the "-dithered" switch on command line. Except for this new play mode, update doesn't bring any new stuff. Update 2012 Oct 05: Added support for 8bpp framebuffers (should now work on K2, KDX, K3, K4/K5, possibly KPW. No dithering support for 8bpp for now, that was a proof of concept anyway. The call to kaffeine was factored out (it now uses the LIPC mechanism) and a host shell script for creating an Xvnc server plus calling kindlevncviewer via ssh was introduced - thanks to dpavlin! Update 2012 Oct 27: Added missing files, otherwised unchanged to Oct 05 version. Last edited by hawhill; 10-27-2012 at 09:39 AM. |
![]() |
![]() |
![]() |
#2 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,379
Karma: 2155307
Join Date: Nov 2010
Location: Goettingen, Germany
Device: Kindle Paperwhite, Kobo Mini
|
Hints:
It works with a rotated screen. However, the screen must be rotated when the app starts up, not afterwards. Personally, I use this with USB networking configured to autostart. That way, I can just plug in the Kindle, press "Shift V U" and get going. Windows users check out kranu's "eMonitor" thread. The software does a similar things and kranu mentions ways how to set up a virtual second display for Windows. I'm not to sure how to run vnc on one display out of many, though. I recommend to start with cloning your existing desktop. You'll probably want your kindle in landscape mode for that, so do the rotation before starting kindlevncviewer. Last edited by hawhill; 09-20-2011 at 01:24 PM. |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Enthusiast
![]() Posts: 26
Karma: 10
Join Date: Oct 2007
Device: irex iliad
|
Thanks a lot for your nice effort.
|
![]() |
![]() |
![]() |
#4 |
Enthusiast
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28
Karma: 43222
Join Date: Feb 2010
Device: e-ink monitor
|
Linux distro / app versions?
Hi hawhill,
Many thanks for crafting this. Can you please indicate which Linux distro and app versions you're using? On a new Ubuntu 11.04 instance I installed vnc4server, openbox, and x2vnc, but ran into a myriad of roadblocks. Would just as soon skip all of that and use the same distro/versions as you. Sincerely, Miles |
![]() |
![]() |
![]() |
#5 |
Member
![]() Posts: 24
Karma: 10
Join Date: Sep 2011
Device: kindle
|
that's nuts vnc viewer for kindle ! i just got mine a few days ago but once i figure out the best method for reading pdf's I'll definitely try this out. thanks
|
![]() |
![]() |
Advert | |
|
![]() |
#6 |
I <3 my Kindle
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 528
Karma: 51332
Join Date: Nov 2010
Location: United States
Device: Kindle 3G + WiFi
|
Looks very nice! I will test it soon and let you know how it goes
![]() |
![]() |
![]() |
![]() |
#7 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,379
Karma: 2155307
Join Date: Nov 2010
Location: Goettingen, Germany
Device: Kindle Paperwhite, Kobo Mini
|
Thanks for the kind comments! I'm planning to add keyboard support and a mouse emulation, but that may take a few days. Then it would be feasible to use this to get a "full blown" desktop that you can use on the Kindle only. Not terribly useful when having a USB connection, but for Wifi, it would be a nice feature, I think.
Also, password support is still missing. So your server must be configured to allow access without password. That may not be desired in your Wifi network... I think giving the password on the command line (or in the launchpad config file) is the best approach to this problem. That's probably the first thing on my list now. TinyApps.Org: There shouldn't be all that many roadblocks, but admitted, the setup is a bit difficult to grasp on Linux. Personally, I'm using the ArchLinux distribution, but I would recommend that only to people who are experienced on Linux. On Ubuntu, the vncserver seems to come with its own wrapper script and config files. Maybe it's easier to start with trying to just offer the current desktop via VNC. You can use "x11vnc" for doing the first steps, it will let you test things well enough, I think. Running Code:
x11vnc -rfbport 5901 -forever You will need to edit the launchpad config when connecting via Wifi. Also, your PC's firewall must be configured to allow access. A shotgun approach to that would be to do this as root: Code:
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT |
![]() |
![]() |
![]() |
#8 | |
Enthusiast
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28
Karma: 43222
Join Date: Feb 2010
Device: e-ink monitor
|
Thanks for your reply, hawhill
I'll try just using x11vnc and serving up the whole desktop as you suggest. Will post back here after I get a chance to play with it.
Quote:
http://tinyapps.org/docs/kindle_stan..._terminal.html |
|
![]() |
![]() |
![]() |
#9 |
Enthusiast
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 28
Karma: 43222
Join Date: Feb 2010
Device: e-ink monitor
|
Thanks again, hawhill - it's working nicely
Went with your suggestion to simply serve the whole desktop and connected via wifi beautifully. The refresh rate is better than expected too. The only input I miss is being able to scroll up or down from the Kindle while viewing a document. For now, I'm just scrolling on the computer and reading on the Kindle. Many thanks, hawhill!
Last edited by TinyApps.Org; 09-20-2011 at 08:45 PM. Reason: typo |
![]() |
![]() |
![]() |
#10 |
curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,007
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
|
Thanks Hawhill. Works great and refreshes are fast.
For the record, I tried it on Windows 7, using the RealVNC Server E4.6.0. To establish a successful connection in my environment I had to configure 1- set authentication to "none" 2- set encryption to "prefer off" 3- set Protocol3.3 to "true" in the Server. |
![]() |
![]() |
![]() |
#11 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 60
Karma: 6492
Join Date: Oct 2011
Device: kindle 2
|
I've just spent 2 hours to install usbNetworking on Kindle 2. I can browse my Kindle with WinSCP. If I pres shift V U, no "success" message on the screen. If I press shift V Q - "failed" appers on the bottom.
How far am I from the finish? |
![]() |
![]() |
![]() |
#12 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84
Karma: 26720
Join Date: Mar 2011
Device: Kindle 3 WIFI
|
Awesome work, hawhill!
Would anyone mind uploading the native vncserver binary? |
![]() |
![]() |
![]() |
#13 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,379
Karma: 2155307
Join Date: Nov 2010
Location: Goettingen, Germany
Device: Kindle Paperwhite, Kobo Mini
|
@RocketsOO: Probably you're about there, networking is allright, launchpad is working (to some extent, but I think it does work). Is a VNC server already running on your desktop? Note that the default config of the viewer expects the display at TCP port 5901, which is "display #1" in VNC config lingo. Most VNC servers will come preconfigured for display #0, though.
@dasmoover: Thanks. Errm, does a native vncserver exist yet? Or were you talking about the client (it's in the attached ZIP file in the first posting)? I think creating a native vncserver would also be possible, but I did not come across one yet. Or did you mean something else with the attribute "native"? |
![]() |
![]() |
![]() |
#14 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 60
Karma: 6492
Join Date: Oct 2011
Device: kindle 2
|
I used today RealVNC. I changed a port to 5901. I get "success" message on my kindle now. That's it. How can I see my screen?
I tried tightVNC server. Here I could choose display number, but there is no "success" message on my kindle 2. Moreover, to connect WinSCP to my kindle, I used private key. TightVNC and RealVNC have no option to use a pr. key. WinSCP is a FTP client. Should I start webbrowser on my kindle? |
![]() |
![]() |
![]() |
#15 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 84
Karma: 26720
Join Date: Mar 2011
Device: Kindle 3 WIFI
|
@hawhill: On some Kindles there is a binary leftover from testing in /test titled something with "vnc" in it. It has been discussed on this forum before.
|
![]() |
![]() |
![]() |
Tags |
application, kindle, source, viewer, vnc |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Free (GPLv2) Translation Dictionaries | Elleo | Amazon Kindle | 3 | 01-11-2011 10:57 PM |
Calibre native app on iphone for reading news? | bigreat | Calibre | 2 | 07-21-2010 11:50 PM |
Android Android App: VNC | leo315 | enTourage Archive | 4 | 05-13-2010 06:06 PM |
Android VNC viewer (use your PC from the eDGe!) | devseev | enTourage Archive | 2 | 04-11-2010 01:21 AM |
PalmPDF - native PDF Viewer for Palm OS 5.x | Colin Dunstan | Reading and Management | 2 | 11-23-2005 02:09 PM |