Jump to content

Hildon: Difference between revisions

From postmarketOS Wiki
Montvid (talk | contribs)
No edit summary
move TinyGLES stuff to Software OpenGL article
Line 60: Line 60:
</pre>
</pre>


=== WIP: Possible fix for performance problems ===
=== Performance issues ===
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 [https://github.com/lunixbochs/tinygles TinyGLES] and related libraries.
Software rendering is slow. Possible fix in the [[Software OpenGL]] article with TinyGLES and similar software.


<pre>
Current stack:
(hardware) - mesa - cogl - clutter - hildon
New stack:
(hardware) - tinygles - glshim - cogl - clutter - hildon
</pre>
It makes sense to run cogl demos with tinygles before trying anything hildon or clutter related, as Clutter depends on cogl.
More information:
* [https://github.com/lunixbochs/glshim glshim]
* [https://github.com/lunixbochs/tinygles/issues/9 Asking upstream if this is possible]
* [https://github.com/lunixbochs/tinygles/issues/10 Unable to run hildon-desktop: Failed to create texture 2d due to size/format constraints]
* [https://pyra-handheld.com/boards/threads/glshim.69736/ Pandora thread about glshim] (contains debug environment variables etc!)


=== See also ===
=== See also ===

Revision as of 21:46, 23 October 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

In pmbootstrap init, select hildon as user interface, then do the installation as usually. When running postmarketOS, it should boot automatically into Hildon now!

Running

hildon-desktop can be run in a horizontal view only. To run programs from the terminal you need to export DISPLAY=:0. To set it by default edit sudo nano /etc/profile.

Rotate screen using fbdev driver

In order to rotate the screen 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

Rotate screen using xrandr

In order to rotate the screen using xrandr, you need to edit a file and put xrandr -o right or xrandr -o left:

sudo nano /etc/postmarketos-ui/xinitrc_hildon.sh
xrandr -o right
exec hildon-desktop

Calibrate the touchscreen

After rotating the screen change/add a value in this file:

sudo nano /etc/udev/rules.d/90-android-touch-dev.rules
ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1", \
# default			ENV{LIBINPUT_CALIBRATION_MATRIX}="1 0 0 0 1 0"
# Left - 90 degree clockwise	ENV{LIBINPUT_CALIBRATION_MATRIX}="0 -1 1 1 0 0"
# 180 degree clockwise		ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"
# Right - 270 degree clockwise	ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
# reflect along y axis		ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 1 0 0"

Performance issues

Software rendering is slow. Possible fix in the Software OpenGL article with TinyGLES and similar software.


See also