About me

I'm a web and software developer from Kaohsiung, Taiwan.
I design and implement user interfaces, also contribute to open source projects.

2014年5月29日 星期四

QtWebEngine Build Instruction for Embedded Linux and Qt 5.3

Digia recently released Qt 5.3, but it reads like they provides Qt WebEngine exclusively for their Qt Enterprise Embedded customers, which is not true because you can totally build it from source, and it even works on EGLFS QPA without any modification.

All you need to do is:

  • Check out the source from repo
  • Edit src/core/gyp_run.pro, and replace desktop_linux.pri with:
    linux: include(config/embedded_linux.pri)
  • Build as usual: qmake -r CONFIG+=release && make -j4 && sudo make install
I've also uploaded pre-built deb packages of Mesa 10.1, Qt 5.2.1 and QtWebEngine for Ubuntu 14.04 AMD64.
NOTE: this may breaks your desktop Mesa and GL driver, use at your own risk.

If you're looking for a minimal QtWebEngine QML example, here it is: https://gist.github.com/penk/dea91ab88e3e8c838662.

2014年5月18日 星期日

SlateKit Base for Nexus 7 (2013) Released

SlateKit is a drop-in replacement of Android UI stack, to help makers building custom tablet UI, by using Qt/QML, JavaScript and Chromium.

Today we announce the first technical preview of SlateKit Base for Nexus 7 (2013), the platform-specific port, alone with other UI components like SlateKit Shell, LockScreen and Keyboard.


  • Nexus 7 “razor” [2013] (WiFi)
  • Android 4.4.2 (KOT49H)
  • rooted and adb shell access


  1. Download the image: slatekit-flo-0423.zip (146.7 MB)
  2. Unzip files to /data, make sure busybox has executable permission
  3. Start the UI by: ./chroot.sh

Technical details

SlateKit Base essentially consists:

  • a minimal Ubuntu root filesystem (Trusty/armhf)
  • Qt 5.2.1 and Oxide 1.0 (Chromium content API wrapper)
  • libhybris for hardware accelerated graphics
  • hwcomposer QPA from Mer project

What's next?

Theoretically this rootfs works for all Android 4.4 system with HW composer 1.1/1.2, so I'll try to enable it on other SoC and make an installer.

If you find this interesting or useful, welcome to join the project on Github, and ping me on Twitter @penk or penkia@gmail.com.

Happy Hacking!