The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Zephyr
(→Steps to create Zephyr livecd image (without OpenGL support)) |
|||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
(work in progress) | (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 | + | 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 === | === Reference hardware === | ||
* VirtualBox on X86, with LLVMpipe+Wayland | * VirtualBox on X86, with LLVMpipe+Wayland | ||
+ | |||
* ExoPC, X86 with Intel+Wayland (TBD) | * ExoPC, X86 with Intel+Wayland (TBD) | ||
+ | |||
* Raspberry Pi with QML compositor hardware integration for BRCM (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 === | === 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) === | ||
+ | |||
+ | * Get the kickstart file from https://github.com/stskeeps/zephyr/blob/master/nogl-i586-vm.ks | ||
+ | * In the Mer platform SDK session, execute | ||
+ | sudo mic cr livecd -A i686 nogl-i586-vm.ks | ||
+ | This will create iso image. | ||
+ | * 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 : | ||
+ | cd /usr/lib/qt5/examples/qtwayland/qwidget-compositor | ||
+ | QT_QPA_EGLFS_DEPTH=16 ./qwidget-compositor -platform linuxfb & | ||
+ | qmlviewer -platform wayland |
Latest revision as of 10:46, 9 February 2013
(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.
Contents |
[edit] 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
[edit] OBS projects and architecture
We're hosting on the new Mer community OBS (https://build.merproject.org )
[edit] zephyr:devel:mw
Shared middleware for Zephyr based stacks.
- Lipstick2 (homescreen and compositor framework)
[edit] zephyr:devel:ux:breeze
Breeze is a open source, low end, QtQuick1, non-GLESv2 UX based on Zephyr middleware
[edit] zephyr:devel:ux:storm
Storm is a open source, QtQuick2, GLESv2 UX based on Zephyr middleware
[edit] zephyr:devel:hw
Zephyr-specific hardware adaptation pieces building against Zephyr middleware.
[edit] 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.
[edit] 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
[edit] 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.
[edit] 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.
[edit] Steps to create Zephyr livecd image (without OpenGL support)
- Get the kickstart file from https://github.com/stskeeps/zephyr/blob/master/nogl-i586-vm.ks
- In the Mer platform SDK session, execute
sudo mic cr livecd -A i686 nogl-i586-vm.ks
This will create iso image.
- 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 :
cd /usr/lib/qt5/examples/qtwayland/qwidget-compositor QT_QPA_EGLFS_DEPTH=16 ./qwidget-compositor -platform linuxfb & qmlviewer -platform wayland