X Display Manager for odroidu2
This topic is for Odroid-U2 and Odroid-X2 devices.
The U2 information may be dated. At the end, more recent summary for Odroid-X2 is given.
The x-server and userspace drivers provided by [1] are either X version 1.11 or 1.13, whereas the default in debian is 1.12. The X-protocols seem to be incompatible.
So after installing [2], the X-server should be replaced by something else.
Newer versions of the user-space code might require libump:
git clone https://github.com/libv/libump.git cd libump aclocal; automake --add-missing; autoconf ./configure --prefix=/usr make checkinstall --pkgname=libump --pkgversion=1 make install
One option for the X-server is to use the sunxi-mali drivers. Since debian is statically linked to libdri2, that needs to be built from source as well:
apt-get install checkinstall build-essential pkg-config git clone https://github.com/robclark/libdri2 cd libdri2 ./autogen.sh ./configure --prefix=/usr make checkinstall --pkgname=libdri2 --pkgversion=1 make install
checkinstall is used to make a debian-package while installing. This makes it easy to uninstall later on. Just press enter on all checkinstall questions should be fine.
Next up are the user-space mali drivers. The configuration script checks the X-server, so we need to install that first:
apt-get install xserver-xorg-core xserver-xorg-dev git clone https://github.com/linux-sunxi/sunxi-mali.git cd sunxi-mali git submodule init; git submodule update checkinstall --pkgname=sunxi-mali --pkgversion=1 make install VERSION=r3p2-01rel1
Finally, the x-server-module can be compiled.
git clone https://github.com/ssvb/xf86-video-sunxifb.git cd xf86-video-sunxifb ./autogen.sh ./configure --prefix=/usr make sudo checkinstall --pkgname=xf86-video-sunxifb --pkgversion=1 make install
After installation of the x-server, it needs to be configured using /etc/X11/xorg.conf. you can generate one by
cp /usr/share/X11/xorg.conf.d/99-sunxifb.conf /etc/X11/xorg.conf
For kernel version 3.8, /dev/fb0 is the LCD output, /dev/fb1 is the HDMI output 1. For an Odroid-X2 with kernel 3.8.13, the following /etc/X11/xorg.conf gives output on the HDMI interface:
Section "Device" Identifier "Sunxi FBDEV" Driver "fbturbo" # The driver is recently renamed from sunxifb to this Option "fbdev" "/dev/fb1" Option "ShadowFB" "on" EndSection Section "Screen" Identifier "Sunxi Screen" Device "Sunxi FBDEV" EndSection
After this, your favorite window manager can be installed, for example Debian-wheezy-gnome-6_Build_Notes.
Summary for Odroid X2
To get at least a working glmark2-es2 and es2gears application, the following components are required: The X-drivers (instead of the fbturbo driver listed above): official drivers
Make sure the device rights are set properly:
cat /etc/udev/rules.d/10-hkl_mali.rules KERNEL=="mali",SUBSYSTEM=="misc",MODE="0777",GROUP="video" KERNEL=="ump",SUBSYSTEM=="ump",MODE="0777",GROUP="video"
Instead of the binaries from sunxi-mali, use the user space binay blobs from Hardkernel. Debian jessie has different installation paths, so make sure it ends op looking like:
cd /usr/lib/arm-linux-gnueabihf ls -l *EGL* *GLES* *UMP* *Mali* lrwxrwxrwx 1 root root 11 May 11 14:18 libEGL.so -> libEGL.so.1 lrwxrwxrwx 1 root root 13 May 11 14:18 libEGL.so.1 -> libEGL.so.1.4 lrwxrwxrwx 1 root root 10 May 11 14:32 libEGL.so.1.4 -> libMali.so lrwxrwxrwx 1 root root 17 May 11 11:36 libGLESv1_CM.so -> libGLESv1_CM.so.1 lrwxrwxrwx 1 root root 19 May 11 11:36 libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1 lrwxrwxrwx 1 root root 10 May 11 14:32 libGLESv1_CM.so.1.1 -> libMali.so lrwxrwxrwx 1 root root 14 May 11 14:30 libGLESv2.so -> libGLESv2.so.2 lrwxrwxrwx 1 root root 16 May 11 14:30 libGLESv2.so.2 -> libGLESv2.so.2.0 lrwxrwxrwx 1 root root 10 May 11 14:32 libGLESv2.so.2.0 -> libMali.so -rw-r--r-- 1 root root 731492 Feb 22 2013 libMali.so lrwxrwxrwx 1 root root 15 May 11 11:41 libUMP.so -> libUMP.so.3.0.0 lrwxrwxrwx 1 root root 15 May 11 11:41 libUMP.so.3 -> libUMP.so.3.0.0 -rw-r--r-- 1 root root 22232 Feb 22 2013 libUMP.so.3.0.0