Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:opengleslinux [2014/06/30 16:33] ruppi [OpenGL ES Book Samples] |
en:opengleslinux [2014/07/01 11:52] (current) ruppi [Other OpenGL ES Applications] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== 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 | ||
+ | <code> | ||
+ | ======================================================= | ||
+ | glmark2 2012.08 | ||
+ | ======================================================= | ||
+ | OpenGL Information | ||
+ | GL_VENDOR: ARM | ||
+ | GL_RENDERER: Mali-400 MP | ||
+ | GL_VERSION: OpenGL ES 2.0 | ||
+ | ======================================================= | ||
+ | ..... | ||
+ | ..... | ||
+ | ======================================================= | ||
+ | glmark2 Score: 70 | ||
+ | ======================================================= | ||
+ | </code> | ||
+ | |||
+ | * Let's start Mesa Software driven glmark2. | ||
+ | * Open a terminal (Ctrl-Alt-t) | ||
+ | * Install : sudo apt-get install glmark2 | ||
+ | * Run: glmark2 | ||
+ | <code> | ||
+ | ======================================================= | ||
+ | glmark2 2012.08 | ||
+ | ======================================================= | ||
+ | OpenGL Information | ||
+ | GL_VENDOR: Mesa Project | ||
+ | GL_RENDERER: Software Rasterizer | ||
+ | GL_VERSION: 2.1 Mesa 8.0.4 | ||
+ | ======================================================= | ||
+ | ..... | ||
+ | ..... | ||
+ | ======================================================= | ||
+ | glmark2 Score: 2 | ||
+ | ======================================================= | ||
+ | </code> | ||
+ | * 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. | ||
+ | <code> | ||
+ | apt-get source glmark2-es | ||
+ | </code> | ||
+ | |||
+ | ===== 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 | ||
+ | <code> | ||
+ | git clone --depth 1 git://anongit.freedesktop.org/mesa/demos | ||
+ | </code> | ||
+ | - Build it using: | ||
+ | <code> | ||
+ | ./autogen.sh | ||
+ | make | ||
+ | </code> | ||
+ | - 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: | ||
+ | <code> | ||
+ | $cd opengles-book-samples-read-only/LinuxX11 | ||
+ | $make | ||
+ | </code> | ||
+ | - 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. | ||
+ | <code> | ||
+ | $apt-cache search "OpenGL ES" | ||
+ | </code> | ||
+ | The command above will show you few application written for OpenGL ES | ||
+ | |||
+ | A good testing application will be glmark2-es2. Install it using: | ||
+ | <code> | ||
+ | $apt-get install glmark2-es2 | ||
+ | </code> | ||
+ | |||
+ | ===== 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 | ||