Zephyr

(work in progress)

Zephyr is an attempt at creating a stack for use by other projects to be exploring lightweight, high-performance, next-generation UIs based on Mer, Qt5, QML compositor and Wayland. Come to #mer on irc.freenode.net to discuss and participate.

Reference hardware

 * VirtualBox on X86, with LLVMpipe+Wayland


 * ExoPC, X86 with Intel+Wayland (TBD)


 * Raspberry Pi with QML compositor hardware integration for BRCM (TBD)


 * Android devices through https://github.com/stskeeps/libhybris

OBS projects and architecture
We're hosting on the new Mer community OBS (https://build.merproject.org )

zephyr:devel:mw
Shared middleware for Zephyr based stacks.


 * Lipstick2 (homescreen and compositor framework)

zephyr:devel:ux:breeze
Breeze is a open source, low end, QtQuick1, non-GLESv2 UX based on Zephyr middleware

zephyr:devel:ux:storm
Storm is a open source, QtQuick2, GLESv2 UX based on Zephyr middleware

zephyr:devel:hw
Zephyr-specific hardware adaptation pieces building against Zephyr middleware.

Kickstart files
Can be found through https://github.com/stskeeps/zephyr

zephyr-i586-vm.ks is for VirtualBox

Get Mer Platform_SDK to work with these.

TODO

 * VirtualBox/X86 QML compositor needs to wait properly for input devices and framebuffer devices to appear before launching and sometimes fails to start compositor 3-4 times
 * Get Harmattan QML components working on Qt5
 * Integrate Maliit on Qt5

Architecture
Zephyr is based on the Mer Core. It boots with the help of systemd user sessions. The user session is described in zephyr-session package and it launches the Zephyr compositor (based on example QML compositor from qt-wayland). The Zephyr compositor signals to systemd that it has started and wayland clients can connect to it.

Adaptation: VirtualBox
You can make a 'livecd' image (mic cr livecd -A i686 zephyr-i586-vm.ks    in Platform SDK) that you can run on a virtual machine.

You will need to make a virtual machine and run this:

VBoxManage setextradata "Mer" CustomVideoMode1 "800x480x16" before starting first time, here "Mer" is the name of your virtual machine. Set this to your desired resolution.

Steps to create Zephyr livecd image (without OpenGL support)
sudo mic cr livecd -A i686 nogl-i586-vm.ks This will create iso image. cd /usr/lib/qt5/examples/qtwayland/qwidget-compositor QT_QPA_EGLFS_DEPTH=16 ./qwidget-compositor -platform linuxfb & qmlviewer -platform wayland
 * Get the kickstart file from https://github.com/stskeeps/zephyr/blob/master/nogl-i586-vm.ks
 * In the Mer platform SDK session, execute
 * Boot a new VM in virtualbox with iso image, make sure VM is configured to use bridged networking in VirtualBox.
 * VM won't boot into UI, press Host + F2 to get into tty session, login as username=root and password=nemo
 * Grab address of VM using ifconfig -a in virtualbox session, then ssh in using host and execute :