* This page will guide you to get support of Mali X11 3D acceleration. * You'll be able to test all the aspects of a Embedded System OpenGL|ES implementation.

* To get the Mali support working you'll need Ubuntu 9-Feb image and upwards. * Check below the Download link for your board.

* All the needed development files can be installed with the command below: * sudo apt-get install libjpeg-dev libpng12-dev libx11-dev libglu1-mesa-dev subversion build-essential autoconf automake make libtool xorg-dev xutils-dev libdrm-dev libdri2-1 libdri2-dev git libglew1.6 libglew1.6-dev

* Before installing or doing anything on your stock image. I welcome you to test the difference between software and hardware.

* Let's start Mali 3D driven glmark2-es2. * Open a terminal (Ctrl-Alt-t) * Install : sudo apt-get install glmark2-es2 * Run: glmark2-es2

    glmark2 2012.08
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-400 MP
    GL_VERSION:    OpenGL ES 2.0
    glmark2 Score: 70 

* Let's start Mesa Software driven glmark2. * Open a terminal (Ctrl-Alt-t) * Install : sudo apt-get install glmark2 * Run: glmark2

    glmark2 2012.08
    OpenGL Information
    GL_VENDOR:     Mesa Project
    GL_RENDERER:   Software Rasterizer
    GL_VERSION:    2.1 Mesa 8.0.4
    glmark2 Score: 2 

* Mali 3D accelerator is roughly 35 times faster!

This is the screen shot of glmark2. [attachment:glmark.png]

* 3D rendering performance is significantly affected by desktop of Linux. These are the score of glmark2-es2.

  • Unity : 70 pts
  • xfce : 110 pts
  • lxde : 140 pts

* You can download the full source code of glmark-es2, if you want.

 apt-get source glmark2-es

The Mali MP400 GPU on the your ODROID (X/X2/U2/U) board has:

  • 256KiB of L2 Cache
  • 4 GPU Cores (Known as PP)
  • Can Support OpenGL ES 1.1 and OpenGL ES 2.0
  • Full compliance with Khronos OpenGL ES 1.1/2.0 API
  • FSAA (Full Scene Anti Aliasing)
  • High Working frequency (440Mhz for ODROID-X/U and 533Mhz for ODROID-X2/U2)
  • Overclock Capabilities
  • 4xAA Multi-sampling with almost no performance drop
  • 16xAA outperforming all implementations of comparable quality

The kernel source code is fully GPL open source.

User land X11 3D libaries are IP of ARM and those are closed source.

- Make sure you have passed the dependencies and Mali drivers without issues. - Download mesa-demos sources

git clone --depth 1 git://anongit.freedesktop.org/mesa/demos

- Build it using:


- Under the src folder, you'll find a lot of examples including the folder opengles2, with es2gears_x11, s2tri and es2_info. Also you'll find alot of OpenGL and Software Rasterizer sinde.

- Make sure you have passed the dependencies and Mali drivers without issues.

- Download sources using:

* svn checkout http://opengles-book-samples.googlecode.com/svn/trunk/ opengles-book-samples-read-only - Build using:

$cd opengles-book-samples-read-only/LinuxX11

- Check the Chapter_* folders, You'll find the built in programs as well their sources * You can find more information of this book as well it on the References part of this page

There are other OpenGL ES application that can be tried on the platform.

$apt-cache search "OpenGL ES"

The command above will show you few application written for OpenGL ES

A good testing application will be glmark2-es2. Install it using:

$apt-get install glmark2-es2

* For developers compiling their own application above is listed the CFLAGS and Linker Flags to use Mali:

- CFLAGS: -I/usr/include/EGL -I/usr/include/GLES -I/usr/include/GLES2 -I/usr/include/KHR

- Linker: -lEGL -lGLES -LGLES2

* Unity3D Known to be buggy on Standard OpenGL ES. A fix waited.

* Compiz wraps OpenGL content into OpenGL ES causing heavy instabilities as well frame rate dropping.

* XBMC, the present version of XBMC inside Linaro's repo, is old and doesn't support the Exynos MFC, so its software decoding everything. Its known that a team of developers is fixing XBMC on Linux to build again over X11 GLES. This wiki will be update as soon as we heard from them.

  • old_product/odroid-x_u_q/opengleslinux.txt
  • Last modified: 2017/05/31 11:08
  • by luke.go