8

I want to use HTML+CSS+JavaScript to develop a user interface for a touchscreen device in a Linux environment and need a suitable rendering engine.

The device in question will have a ARM CPU with 400 to 900 MHz clock, a VGA or WVGA display and about 256 MB RAM or more with standard Debian Linux (minimalistic install).

Ideally the rendering engine would directly access /dev/fb0 and mouse events. Since the browser is just used as a rendering engine I do not need/want any GUI - no windows, no tabs, no dialog boxes, just a single full-screen HTML page that heavily uses JavaScript to interact with the user (like a dynamic web page).

It would be great if Qt / GTK / DirectFB and such could be avoided (to reduce memory overhead and startup time) but of course this is not absolutely necessary.

Of course WebKit and Gecko come to my mind but they are both hard to understand and hard to compile. Perhaps one of the numerous forks comes close to what I need (I searched but had no luck so far)?

Rex Logan
  • 23,002
  • 9
  • 33
  • 47
Udo G
  • 11,022
  • 11
  • 47
  • 77
  • You can use a distribution which has a decent, ported Webkit/Gecko. - Even NetBSD comes to mind. – vbence Apr 02 '11 at 11:46
  • That would imply a windowing system, right? I need to avoid that as the HTML page is absolutely the **only** UI the user should see and use. – Udo G Apr 02 '11 at 11:49
  • 1
    You can tailor your GUI any way you want. Window management and border decoration (move reisize) is done by compeltely different services. You can even turn them off in ALL of the distributions. – vbence Apr 02 '11 at 12:26
  • I'm also looking into some similar setup (with the additional trouble of Atom/Poulsbo graphics). I suspect something like X11 would be necessary, the question is how many libs Webkit absolutely needs as a requirement (I suspect it is able to run pretty standalone without Qt or Gtk dependency). Another question is how to handle the touch events. – Peer Stritzinger Apr 02 '11 at 13:00
  • Touch events are usually just normal mouse events that are available through /dev/input/eventX. They are rather simple but I guess some coding is necessary so that WebKit supports it. Just like I did when having Gnash running stand-alone with direct FB and /dev/input access. There are some DirectFB projects (DFBBrowser, DFBMozilla, ...) that look promising. I'm currently having a deeper look to them. – Udo G Apr 02 '11 at 13:24

1 Answers1

4

Ok, I think I found a valid solution myself. The standard Qt (embedded) distribution already includes the WebKit engine and writing a full-screen browser that directly draws to /dev/fb0 (no X11) is rather easy.

I will write such a (open source) browser for touchscreen devices (no mouse pointer, no borders, just the plain web page) with some JavaScript extensions for file system access, Syslog and console.log support and probably SQLite access.

Udo G
  • 11,022
  • 11
  • 47
  • 77
  • Looks good. So with /dev/fb0 you don't get any graphics chipset help when drawing? OTOH: you only need a fb driver for the graphics chipset ... – Peer Stritzinger Apr 04 '11 at 09:34
  • No help in terms of graphics acceleration, but I expect that Qt/Webkit is optimized so that it, for example, is smart enough to directly move memory when scrolling instead of re-rendering the content. Qt supports OpenGL (and other?) acceleration but I guess that's only available with an X11 server. However, the browser application would work under both enviroments so this is always a option and does not affect the web page itself (except for speed). – Udo G Apr 04 '11 at 10:08
  • @Udo G: Have you persist with the project? If yes, are you interested in making it open source? – SecStone Sep 20 '11 at 19:58
  • still testing, but yes, it will be open sourced. I can send you the current (mostly working) sources on request. – Udo G Sep 27 '11 at 12:27
  • Any progress Udo? We're looking for something similar (and open source required as we are entirely GPL) for our media project... – WanWizard Dec 26 '12 at 21:42
  • @UdoG Any news about this? I want to do exactly the same things, a WebKit window without any X11\tabs\title bars or something, for the ARM processor. – Dmitry Kudryavtsev Aug 14 '13 at 14:06
  • @UdoG did you got it working? I need put webkit on my device as well... – Gutemberg Ribeiro Oct 05 '16 at 22:32
  • @UdoG Did you get it? Can you tell us? – dsicari Sep 06 '19 at 14:57
  • sorry, I never finished this and ain't working on it anymore – Udo G Sep 06 '19 at 15:11