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
m
(Steps to create Zephyr livecd image (without OpenGL support))
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= 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, Busybox, Qt5, QML compositor and Wayland
+
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)
* Nokia N950/N9 with QML compositor hardware integration for SGX chips (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)

[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