The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Zephyr

From Mer Wiki
(Difference between revisions)
Jump to: navigation, search
(Steps to create Zephyr livecd image (without OpenGL support))
 
(3 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, Busybox, Qt5, QML compositor and Wayland. Come to #mer on irc.freenode.net to discuss and participate.
+
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 ===
Line 12: Line 12:
  
 
* Android devices through https://github.com/stskeeps/libhybris
 
* 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 ===
 
=== Kickstart files ===
Line 40: Line 62:
 
   
 
   
 
before starting first time, here "Mer" is the name of your virtual machine. Set this to your desired resolution.
 
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)

[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)

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
Personal tools