Hildon
![]() Hildon running in QEMU | |
Name | Hildon |
---|---|
Graphics stack | X11 |
Toolkit | GTK+2, WIP: GTK+3 |
In postmarketOS | |
Package | postmarketos-ui-hildon |
Status | Available |
This is the desktop from Maemo, which is a Debian-based distribution, that originally ran on the N900.
We do not have a postmarketos-ui-hildon
yet (but that should be easy to make, look at postmarketos-ui-weston
for reference if you're interested, dear reader).
Installation instructions
Add following packages as extra in pmbootstrap init:
mesa,mesa-dri-swrast,hildon-desktop,hildon-theme-alpha
Notice that due to swrast being used (probably) this is way too slow to be usable on N900. Even typing in xfce4-terminal results in one second lag.
To make hildon-desktop find its theme (install hildom-theme-alpha first):
sudo ln -s /usr/share/themes/alpha /usr/share/themes/default
For default wallpapers:
mkdir ~/.backgrounds cp /usr/share/themes/alpha/backgrounds/wallpaper1.png ~/.backgrounds/background-1.png cp /usr/share/themes/alpha/backgrounds/wallpaper2.png ~/.backgrounds/background-2.png cp /usr/share/themes/alpha/backgrounds/wallpaper3.png ~/.backgrounds/background-3.png cp /usr/share/themes/alpha/backgrounds/wallpaper4.png ~/.backgrounds/background-4.png
You can then verify correct operation by ssh-ing in, as root:
sudo mv /etc/profile.d/start_weston.sh /etc sudo killall weston sudo rc-update add dbus default sudo setup-xorg-base Xorg & export DISPLAY=:0 hildon-desktop
Running
To run hildon-desktop, create a ~/.xinitrc
with the following contents:
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then eval `dbus-launch --sh-syntax --exit-with-session` fi export LC_MESSAGES=en_GB.UTF-8 exec hildon-desktop
You will also have to install dbus-x11
in order to get dbus-launch
. Depending on the device you have, you may also have to install mesa-dri-swrast
.
hildon-desktop can then be started by running startx
.
WIP: Possible fix for performance problems
Hildon renders everything on the GPU, which is terribly slow when we have to resort to software rendering. At least on the N900 it looks like a slideshow. The GTK+3 version won't improve this, as it also uses Clutter for rendering. However, we should be able to improve the situation by replacing the OpenGL stuff, that mesa currently handles, with a faster software implementation from TinyGLES and related libraries.
Current stack: (hardware) - mesa - cogl - clutter - hildon New stack: (hardware) - tinygles - glshim - cogl - clutter - hildon
It makes sense to run cogl demos with tinygles before trying anything hildon or clutter related, as Clutter depends on cogl.
More information:
- glshim
- Asking upstream if this is possible
- Unable to run hildon-desktop: Failed to create texture 2d due to size/format constraints
- Pandora thread about glshim (contains debug environment variables etc!)
See also
- https://github.com/postmarketOS/pmbootstrap/pull/461 (initial PR by NotKit with a screenshot running in Qemu)
- https://github.com/fremantle-gtk3 (GTK+3 port, which we could package in the future)