From postmarketOS
Name LuneOS UI
Graphics stack Wayland
Toolkit QT5
In postmarketOS
Package N/A
Status Unavailable
LuneOS UI running in QEMU

User interface from LuneOS, a continuation of webOS (Palm/HP's discontinued and open sourced mobile operating system updated with Wayland and QT5).


We were able to present an initial version in December of 2017. But after that, LuneOS was unmaintained and didn't build anymore (pmaports#49). The packages have been removed from postmarketOS. If you are interested in making it work again and maintaining the packages, here are the old build recipies for reference.

All information above is outdated.

It's sad that we can't maintain this right now and had to remove it. But nevertheless, some of the efforts lived on, because ncopa from Alpine Linux could use some of the musl related qt5-qtwebengine patches that magmastonealex created to make LuneOS UI work on postmarketOS. And who knows, we could be able to support this UI again in the future if someone steps up to maintain it.

Running (QEMU)

OUTDATED! You cannot choose luna in UI section anymore.
Note Choosing luna in the UI selection in pmbootstrap init is not enough to make it start right now!


  • postmarketos-ui-luna
  • mesa-dri-virtio (if in QEMU)
  • mesa
  • mesa-egl

Edit /usr/bin/, to set your desired input devices on the luna-next line. Run /usr/bin/ to start everything. The first-use app should open.

See also #629 for more instructions and ideas for getting this running on non-accelerated phones.

Complete the steps, when you get to the black screen, click where the "next" button should be. It's not clear what causes that yet.

Once the app exits and you're presented with the home screen, run luna-send -n 1 'luna://com.palm.configurator/run' '{"types":["dbkinds","dbpermissions","activities"]}' in another terminal. Stop luna, reboot, and start luna again, and everything should be usable.

Major to-dos

  • Running this on ARM (Everything is packaged. Currently seems to crash on non-hardware accellerated devices in swrast somewhere.)
  • Trying to get this running with software rendering (Appears to work somewhat, no luck on armhf yet.) Zhuowei has a lot of research in #629.
  • Getting the HAL working (nyx-lib). (Probably involved, but can support only a couple things at first)
  • Create init service files to get services starting at boot.
  • See magmastonealex's trello board
  • Applying the LuneOS patches for qt5-qtwebengine again. magmastonealex made a version that worked with QT 5.9, but these patches are incompatible with later QT versions (details: #1459)

See also