Jump to content

Hildon: Difference between revisions

From postmarketOS Wiki
Montvid (talk | contribs)
No edit summary
Drebrez (talk | contribs)
No edit summary
Line 55: Line 55:
</pre>
</pre>
'Your touchscreen name' should be your touchscreen name. You can find out your touchscreen name by running <code>sudo libinput list-devices</code>. hildon-desktop can then be started by running <code>startx</code>. To run programs you need to <code>export DISPLAY=:0</code>. To set it by default edit <code>sudo nano /etc/profile</code>.
'Your touchscreen name' should be your touchscreen name. You can find out your touchscreen name by running <code>sudo libinput list-devices</code>. hildon-desktop can then be started by running <code>startx</code>. To run programs you need to <code>export DISPLAY=:0</code>. To set it by default edit <code>sudo nano /etc/profile</code>.
=== Rotate screen when using ''fbdev'' driver ===
In order to rotate the screen when using the framebuffer, you need to create this file:
'''/etc/X11/xorg.conf.d/1-fbdev.conf'''
<pre>
Section "Device"
  Identifier "LCD"
  Driver "fbdev"
  Option "Rotate" "CW"
EndSection
</pre>
reference: https://www.x.org/archive//X11R6.8.0/doc/fbdev.4.html


=== WIP: Possible fix for performance problems ===
=== WIP: Possible fix for performance problems ===

Revision as of 16:50, 30 September 2017

Hildon
Hildon running in QEMU
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,dbus-x11,xrandr,xinput,xorg-server,xf86-input-libinput,libinput

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 rc-service dbus start
Xorg &
export DISPLAY=:0
hildon-desktop

Running

hildon-desktop can be run in a horizontal view only so 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_US.UTF-8
xrandr -o left
xinput set-prop 'Your touchscreen name' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1
exec hildon-desktop

'Your touchscreen name' should be your touchscreen name. You can find out your touchscreen name by running sudo libinput list-devices. hildon-desktop can then be started by running startx. To run programs you need to export DISPLAY=:0. To set it by default edit sudo nano /etc/profile.

Rotate screen when using fbdev driver

In order to rotate the screen when using the framebuffer, you need to create this file:

/etc/X11/xorg.conf.d/1-fbdev.conf

Section "Device"
  Identifier "LCD"
  Driver "fbdev"
  Option "Rotate" "CW"
EndSection

reference: https://www.x.org/archive//X11R6.8.0/doc/fbdev.4.html

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:

See also