Difference between revisions of "X Display Manager for odroidu2"

From odroid US
Jump to: navigation, search
m (Summary for Odroid X2)
Line 81: Line 81:
 
The X-drivers (instead of the fbturbo driver listed above):
 
The X-drivers (instead of the fbturbo driver listed above):
 
[http://malideveloper.arm.com/downloads/drivers/DX910/r3p2-01rel4/DX910-SW-99003-r3p2-01rel4.tgz official drivers]
 
[http://malideveloper.arm.com/downloads/drivers/DX910/r3p2-01rel4/DX910-SW-99003-r3p2-01rel4.tgz official drivers]
 +
 +
Make sure the device rights are set properly:
 +
<pre>
 +
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"
 +
</pre>
  
 
The [http://dn.odroid.com/MALI400_R3P2/20130429-for-xorg-1.13.3/mali_packages.tar.gz user space binay blobs] from Hardkernel.
 
The [http://dn.odroid.com/MALI400_R3P2/20130429-for-xorg-1.13.3/mali_packages.tar.gz user space binay blobs] from Hardkernel.

Revision as of 09:36, 11 May 2014

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"

The user space binay blobs from Hardkernel. Debian jessie has different installation paths, so make sure it ends op looking like:

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