===== Preface ===== * 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. ===== Pre-requisite ===== ===== Ubuntu Version ===== * To get the Mali support working you'll need Ubuntu 9-Feb image and upwards. * Check below the Download link for your board. ==== ODROID-X ==== * http://forum.odroid.com/viewtopic.php?f=22&t=28 ==== ODROID-X2 ==== * http://forum.odroid.com/viewtopic.php?f=15&t=27 ==== ODROID-U2 ==== * http://forum.odroid.com/viewtopic.php?f=8&t=12 ===== Development Libs ===== * 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 ===== Speed test : Mesa Software rendering vs Mali400 Hardware rendering ===== * 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 ===== Mali MP400-4 Specs ===== 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. ===== Building Mesa Demos from 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: ./autogen.sh make - 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. ===== OpenGL ES Book Samples ===== - 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 $make - 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 ===== Other OpenGL ES Applications ===== 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 ===== * 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 ===== Known Issues ===== * 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. ===== References ===== * Mali Developer SDK: http://malideveloper.arm.com/develop-for-mali/sdks/opengl-es-sdk-for-linux/ * OpenGL ES Book: http://www.opengles-book.com/ * Khronos OpenGL ES API: http://www.khronos.org/registry/gles/ * ARM Mali 400 MP: http://www.arm.com/products/multimedia/mali-graphics-hardware/mali-400-mp.php