WebKit for Kindle DX binary files
Posted by tjwei on 星期四, 9月 01, 2011 with 7 comments
下面的 tar ball是一套可以在 kindle dx 執行的 directfb, gtk+, webkit 環境:
WebKitGtkKindleDXG.tar.xz
使用方式
GitHub Project: https://github.com/tjwei/WebKitGtkKindleDXG
WebKitGtkKindleDXG.tar.xz
使用方式
- jailbreak, ssh 到你的 kindle DXG (2.5.8 版本)
- 解開 tar ball,放到一個 loop file system 下,然後 mount 到 /usr/local
- mount -o bind /usr/local/root /var/tmp/root
- 執行 /usr/local/bin/gwebkit 即可,會打開一個 html 檔。
- shift+方向鍵控制游標。Sym 是 Tab。Menu 可以跳到 URL 輸入框。
- Alt-x 離開,Alt-a Alt-z Zoom in, out。Alt-l 刷新螢幕。
- 雖然可以使用免費的 3G 網路,但是由於怕違反 Amazon 的使用規範,所以預設關閉,只能手動啟動,
- 沒有內附中文輸入法,但是許多的 gtk+ 的輸入法 module 都可以用。scim 不能用的原因有兩個,stdc++ 的版本,我編譯的 DirectFB 只允許單一程式。我自己是寫了個 chewing 的 gtk+ im-module,但是還不完整,沒有附在裡面。
- 其他一些程式,也可以試試看,如 gtk-demo, leafpad, gqview, vte, gtkterm2 等。
- 基本上是使用 kindle 3 source code,修改過的 source 在 /usr/local/src 。
GitHub Project: https://github.com/tjwei/WebKitGtkKindleDXG
7 意見:
你好!請問可否把3.x系統中的pdf閱讀器也移植到2.5.8上?
3.x對pdf增加了調整對比度的支持,如果能把這一功能也移植到2.5.8,將會很方便于pdf閱讀。
謝謝
pdf 閱讀器沒有 open source,所以無法移植。
但是我會試試看將對比度調整的功能從 kindle 3 kernel 移植回 kindle 2。
Hi,
I tried your webkit binary file. I untar the tar-ball onto my loop file system and mount it to /usr/local... now it looks like this:
[root@kindle local]# ls
bin etc lib lost+found root sbin share src ssl var
then I tried to start webkit but get following error:
[root@kindle lib]# export LD_LIBRARY_PATH=`pwd`
[root@kindle lib]# /usr/local/bin/gwebkit
starting webkit
please set enviroment variable x_fsn
~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.0 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2001-2008 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2011-08-30 07:53)
(!) Direct/Modules: Unable to dlopen `/usr/local/lib/directfb-1.2-0-pure/systems/libdirectfb_devmem.so'!
--> /usr/local/lib/directfb-1.2-0-pure/systems/libdirectfb_devmem.so: undefined symbol: system_set_mode
(!) DirectFB/core/vt: Couldn't open neither `/dev/tty0' nor `/dev/vc/0'!
--> No such file or directory
(!) DirectFB/Core: Could not initialize 'system_core' core!
--> Initialization error!
(#) DirectFBError [gdk_display_open: DirectFBCreate]: Initialization error!
(GtkLauncher:5697): Gtk-WARNING **: cannot open display:
Did I do something wrong?
I am in Kindle DXG.
Thanks,
Liuto
@匿名:
我把 kindle 3 的 eink module 移回到 kindle 2 了,參考我在 www.mobileread.com 的回覆。
@Liuto:
You need to setup no-vt option for DirectFB.
you can try
cp -r /usr/local/root /var/tmp
or
mount -o bind /usr/local/root /var/tmp/root
I copied /usr/local/root, now I can see it starts... but after while it abort again:
-----------------------------
[root@kindle root]# /usr/local/bin/gwebkit
starting webkit
please set enviroment variable x_fsn
~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.0 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2001-2008 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2011-08-30 07:53)
(!) Direct/Modules: Unable to dlopen `/usr/local/lib/directfb-1.2-0-pure/systems/libdirectfb_devmem.so'!
--> /usr/local/lib/directfb-1.2-0-pure/systems/libdirectfb_devmem.so: undefined symbol: system_set_mode
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: mxckpd (1) 0.1 (directfb.org)
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: fiveway (2) 0.1 (directfb.org)
(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) FBDev/Mode: Setting 824x1200 videomode x=824, y=1200
(*) FBDev/Mode: Setting 824x1200 videomode x=824, y=1200
(*) FBDev/Mode: Setting 824x1200 videomode x=824, y=1200
(*) FBDev/Mode: Setting 824x1200 videomode x=824, y=1200
(*) FBDev/Mode: Setting 824x1200 videomode x=824, y=1200
(*) FBDev/Surface: Allocated 824x1200 8 bit LUT8 buffer (index 0) at offset 0 and pitch 824.
(*) FBDev/Mode: Setting 824x1200 videomode x=824, y=1200
(!!!) *** WARNING [Non-flipping window surface and no 'autoflip-window' option used] *** [idirectfbsurface_window.c:310 in IDirectFBSurface_Window_Construct()]
in _gdk_windowing_window_init creating primary surface window - w=824, h=1200
create_directfb_window( 824x1200, caps 0x00000009 )
(GtkLauncher:5591): Gdk-CRITICAL **: IA__gdk_drawable_set_colormap: assertion `cmap == NULL || gdk_drawable_get_depth (drawable) == cmap->visual->depth' failed
(*) Direct/Thread: Started 'EventBufferFeed' (-1) [MESSAGING OTHER/OTHER 0/0] <8388608>...
(GtkLauncher:5591): GLib-GObject-WARNING **: gsignal.c:2275: signal `focus-on-link' is invalid for instance `0x4f0b8'
(GtkLauncher:5591): GLib-GObject-WARNING **: g_object_set_valist: object class `WebKitWebSettings' has no property named `tab-key-cycles-through-elements'
Proxy is not set
create_directfb_window( 824x1200, caps 0x00000001 )
(GtkLauncher:5591): Gdk-DirectFB-WARNING **: gdk_display_request_selection_notification Unimplemented function
(GtkLauncher:5591): Gdk-DirectFB-WARNING **: gdk_window_set_keep_above() not implemented.
(GtkLauncher:5591): Gdk-DirectFB-WARNING **: gdk_window_set_keep_below() not implemented.
(GtkLauncher:5591): Pango-WARNING **: shaping failure, expect ugly output. shape-engine='BasicEngineFc', font='PMN Caecilia LT 15.9990234375', text='Loading (19.0%) -'
(GtkLauncher:5591): GLib-GObject-WARNING **: cannot create instance of abstract (non-instantiatable) type `PangoFallbackEngine'
(!) [ 5591: 0.000] --> Caught signal 11 (at (nil), invalid address) <--
(!!!) *** WARNING [still objects in 'Window Pool'] *** [object.c:241 in fusion_object_pool_destroy()]
(!!!) *** WARNING [still objects in 'Layer Region Pool'] *** [object.c:241 in fusion_object_pool_destroy()]
(!!!) *** WARNING [still objects in 'Layer Context Pool'] *** [object.c:241 in fusion_object_pool_destroy()]
(!!!) *** WARNING [still objects in 'Surface Pool'] *** [object.c:241 in fusion_object_pool_destroy()]
Aborted
-----------------------------
Hi我有照你的方式將webkit backport到kindle dx,可以運作,謝謝你.但我有一個問題是我的webkit只能連線到www.amazon.com的網站,其他網站如:www.yahoo.com好像無法連線,可以告訴我問題何在嗎?謝謝!
你有設 x-fsn 和 proxy 嗎? kindle 的 free 3g 要透過 proxy 還要設定特別的通關密語 xfsn(每台機器都不一樣)
我改過的 webkit 是靠環境變數 http_proxy=http://fints-g7g.amazon.com:80 和 x_fsn="...." 來設定
binary release 裡的 showxfsn 有大致上說明如何去找 x-fsn
張貼留言