|
|
| Line 1: |
Line 1: |
| Qt Device/Embedded board support vision:
| |
|
| |
|
| * Qt needs to work out of the box for embedded boards without having to patch Qt and mkspecs over and over again
| |
| * Provide an optimal build for the device
| |
| * Focus is on cross-compilation and not on on-target compilation
| |
|
| |
| Note: Most of the stuff below is already in qtbase. -device is currently marked as ‘experimental’
| |
|
| |
| configure
| |
|
| |
| * -device <device> specifies the device.
| |
| * Together with -sysroot and -device-option <span class="caps">CROSS</span>_COMPILE to specify the compiler, you will have Qt for your board!
| |
| ** For example, for the raspberry-pi, all one needs to do is:<br />
| |
| * There is mechanism to pass arbitrary device specific options (requires for most <span class="caps">BSP</span>s)
| |
| ** Also allows us to use the same mkspec to support multiple distros (hardfp/softfp)
| |
| * Currently supported boards/devices
| |
| ** ST7540, ST7108, Trident Shiner (PNX8473), Broadcom 97425, N9, beagleboard, snowball
| |
| ** More information here: [[:Category:Devices|http://wiki.qt.io/Category:Devices]]
| |
| * passing options to configure like -no-neon
| |
| ** https://codereview.qt.io/#change,27782
| |
|
| |
| eglfs:
| |
|
| |
| * No more depends on widgets, uses raster engine to paint widgets instead of opengl engine
| |
| * Integrated the build into configure
| |
| * hooks for board specific initialization
| |
| ** screen depth, format, gl caps
| |
| ** does not pollute board specific stuff into eglfs
| |
| * even has a xlib hook, so eglfs can be tested on the desktop just like wayland
| |
| * input
| |
| ** eglfs now depends on evdev. Future task is to make it compile when evdev is absent but we are yet to see such a device (qnx?)
| |
| ** can now be without udev, we have a static discovery
| |
| ** moved to platformsupport
| |
| ** eglfs loads input statically avoiding obscure args like -plugin EvdevKeyboard
| |
| ** synchronized position with multiple cursors
| |
| * minimalegl is the old eglfs
| |
| * cursor support
| |
| ** by default, you get a gl “composed” cursor
| |
| ** supports hotspots
| |
| ** hw accel on the pi, the cursor is a separate layer
| |
| ** it’s now CI (compile) tested
| |
| * allows creation of multiple windows and supports the surface format requested by the user
| |
| ** required for context menus
| |
| ** qmlscene —transparent allows one to create a transparent toplevel
| |
| ** on the pi, each window is a layer. poor man’s wayland
| |
| * Jorgen suggested moving large parts of code to platformsupport and move device stuff to separate repo
| |
| ** Will be investigated post 5.0
| |
|
| |
| directfb:
| |
|
| |
| * similar hooks design as eglfs
| |
| * integrated into configure
| |
| * supports IDirectFBGL and DirectFB+EGL
| |
| * holger maintains directfb these days
| |
|
| |
| pkg-config changes:
| |
|
| |
| * no more a second class citizen for embedded targets unlike qt4
| |
| * -force-pkg-config was used only for xcompile builds and used to just check for environment variables.
| |
| * Checks <span class="caps">PKG</span>_CONFIG_LIBDIR instead of <span class="caps">PKG</span>_CONFIG_PATH since the latter pulls in host paths. Checks <span class="caps">PKG</span>_CONFIG_SYSROOT_DIR
| |
| * <del>(no</del>)pkg-config works for all builds, default ‘auto’
| |
| * pkg-config env variables are now stored as part of qdevice.pri (“session”)
| |
|
| |
| configure:
| |
|
| |
| * -sysroot now being actively tested and it also documented
| |
| * Saves it’s output into config.summary
| |
| * Fixed <span class="caps">QPA</span> plugin detection
| |
| ** -qpa foo sets the default qpa
| |
| * Still have the problem of runtime of autodetection
| |
| ** Decided that this was unnecessary
| |
|
| |
| What’s coming
| |
|
| |
| * Hardware image decoding for the pi (based on openmax IL – girish)
| |
| * Layer based video rendering for the pi (based on openmax IL – johannes)
| |
| * qdoc documentation
| |
| * passing options to configure like -no-neon
| |
| ** https://codereview.qt.io/#change,27782
| |
| * Host tools when xcompiling
| |
| * Support for host compilation with -device
| |
| * Out of the box serial port configuration with QSerialPort
| |
|
| |
| What’s missing from Qt4/Embedded support
| |
|
| |
| * linuxfb needs to be resurrected
| |
| * openvg backend
| |
| * wayland will be suggested for multiprocess support, eglfs for single process
| |