View Single Post
Old 12-29-2012, 11:21 PM   #2
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Týr
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,552
Karma: 6021146
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
This is excellent work. surprised it didn't get more attention. appreciation from me.
https://github.com/tjwei/WebKitGtkKindleDXG is a worthy touchstone.

Thanks again


QUOTE:::

(If you dont read chinese) This is a very rough translation...
Quote:
WebKit Kindle DX backport
Kindle DX netfront browser worthy, but many pages could not be read.

For example, my blog home page appears insufficient memory message page rendering effects, although it seems very fresh and clean, but the DX screen 824x1200 resolution enough to display the full page.
Overall, or the the Kindle browser preferred. A practice directly DX execution kindle 3 operating system . Very amazing, actually no problem. But since kindle is based on the open source release of the revised code, so I try to be ported to the dx kindle 3's webkit.
The preliminary results are as follows:



It is not complete, but at least able to play in google search, display some pages.

The process is Directfb -> Gtk + -> WebKit

Compilation environment; scratchbox
toolchain is glibc2.5 2007q1. Although libstdc + + and kindle dx incompatible , but 2006q3 too old, it is difficult to compile. And gtk + with C instead of C + + webkit Although C + + but not used libstdc + + but comes with a library, so not a big problem. The android extremely poor C + + runtime seen. Because apparently the same WebKit based Android web browser without complete libstdc + +. So the toolchain of glibc2.5 should be all OK.

Scratchbox i386 binary, kernel vdso32 = 0 parameter to increase the amd64 linux, otherwise there will be Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph-> the p_vaddr == error
The My cputransp not up and running, so I have compiled a static linked x64 qemu-arm. Then write a wrapper eat binfmt feed come - sbox parameters. In addition to the the pthread outside, it seems no problem. Ran configure some pthread test program will not stop down, maybe qemu problem. When encountered this problem, are manual to modify configure.in inside test program, he directly through.
I broke a 200mb of the ext3 loop filesystem, mount to the /usr/local/mnt/us. After just set ld.so or set LD_LIBRARY_PATH = /usr/local/lib can not affect the original system.


Compile DirectFB
With kindle 3 source. Set - prefix=/usr/local, gfxdriver=none
When to compile required jepg and libpng, set the - prefix=/usr. libpng version 1.2. I had temporary police with libpng 1.4 amending the little DirectFB of code libpng 1.2 compatibility issues, but also additional install the libpng 1.4 to the /usr/local
The compiler does not have any problems, then /usr/local copy to kindle complete the installation. Can use ssh + tar or ssh mount to copy files.
kindle eink framebuffer 4bit grayscale can not be directFB to direct support, so I had to use as indirect fb. If you take 0.5 seconds to think about how to solve this problem, here you will be found that the amazon's lab126 want the solution you. He spent a LUT8 (8bit indexed color) virtual framebuffer to pretend is true the frame buffer, and then will be able to successfully construct the DirectFB. Next, as long as trying to get virtual pass on to the frame buffer and the real frame buffer. lab126 is a call back to the user program to decide how to deal with. From the code, lab126 for frame buffer address seems a little insurance.
the kindle 3 eink more than the DX update eink screen several ways.
the lab126 version DirectfB basically have to take into account the DX keys, in addition to a keymap file. So you want to modify this file, or after some key problems. I am the way, the Sym key as Tab.
Use no-vt mode execution. No-vt ~~ /. Directfbrc the inside.

Compile GTK +
Compile basically not much of a problem, but it is complicated. Some kindle 3 source no autogen.sh or configure aclocal && autoconf && automake. Is not enough to catch the copy of the same version of genuine source, then copy past lab126 version.
DX's glib is too old to get hold of the new version to the /usr/local. In scratchbox, I am also the way to a new version of glib installed to /usr/compiled after more relaxed. Although no rationale to gtk-doc does not seem installed to /usr/ , automake grasp unlikely to.

Although often can be turned off when configure gtk-doc, but sometimes need autogen, do not install a gtk-doc to pass the test. autogen should be designed to simplify the problem, rather than to the question of increase.
automake the versions use SBOX_DEFAULT_AUTOMAKE set to 1.9. Otherwise there will be tar-ustar error.
Compiled directly execute gtk-demo will appear like the case here . I practice in gdk_init inside plus the own kindle dirty rect callback, and to change flies box update eink screen. So, gtk-demo can be displayed properly.
Directfb's keymap in front did not change the situation will occur inside the up and down keys can not be used in gtk-demo.

I met the fonts into the grid this problem. google query to, it seems that some pango + of cairo combination of this happens, so I will be pango and cairo replaced the slightly newer version. lab126 cairo code has been modified, but it looks just hack some font information is not a fatal problem, so I directly using correction board.
I set gtkrc-2.0, so that the font bigger set fontconfig to use the /usr/java/lib/fonts corresponding font.
In addition to the gtk-demo, I tried leafpad, gtkterm, gqview. the leafpad and gtkterm can compile correctly executed but the window you want to modify or set larger point, the best full-screen. The reason is that the gtk cursor in the middle of the screen, If gtk Programs window is too small, because the mouse is not in the window and not catch keyboard focus. This is probably the directfb wm's characteristics. the gqview also executable and operation, but it seems graphical display. gtkterm need vte, compile vte time, need termcap. The ncurses replace termcap line, but ncurses I compiled it up, do not bother to get. In addition to gtkterm, vte itself should also be able to run. Vte based terminal can be a big advantage compared to kindle on the other terminal program display correctly display utf8 Chinese. LXDE's gpicview Although the advertised pure gtk but in fact useful to X11. Alone gdkx.h bad enough, which is useful to the X11 file, so I can not directly compile. gedit need gtksourceview bunch of looks too complicated, you do not really get it.

WebKit
View kindle the Changelog in 3 source code, to May 18, 2009, so the download webkit r43841.
Untie will kindle 3 inside the modified source copy and covering the past.
Modify configure.ac, default directfb become. Because this option does not seem to build-webkit.
The execution WebKitTools/Script/build-webkit - gtk, I choose to shut down xslt unwanted option.
make the process error because some. h file did not put on the position. Can to modify GNUMakefile source, or to properly position. H ln-s. In short, according to personal preference, so that he compiled in the past it wants to.
There are some errors kindle profiling, I deleted directly related part.
The link of GtkPerf will be a problem should .libs/libWebcore.a into the box.
make install /usr/local copy to kindle on the line.
The series out GtkLauncher be able to execute, but kindle the proxy requires special x-fsn http header, we do not yet Internet. You can try GtkLauncher Browse the kindle inside local files, use the full file name. If you only see the html source code, it is because there is no mime data. Your computer inside /usr/share/mime copy can go kindle.
Webkit settings for this version does not support user-agent to modify, and also does not support proxy not to support custom http header, so modify the code to send the appropriate header and use the proxy.
Modify the be modified GtkLauncher lab126 code, let urlbar displayed.
urlbar can enter, but can not enter text google search box. Google query, ICU problems. I use ICU 3.6, in scratchbox unable to successfully compile because pkgdata unable to perform. I modify the makefile, pkgdata smooth execution, to complete the make. But apparently I missed something. In accordance with the way here , to be recompiled. At this time, the input box will be able to enter.

I do not know how to use the keyboard complete the operation, GtkLauncher, even if open caret browsing, do not know how to operate, also need to modify the interface. Chinese input method is not integrated into it.

Last edited by twobob; 12-30-2012 at 11:44 AM.
twobob is offline   Reply With Quote