Graphics Hardware Acceleration for Android 4.0 on Origen and Snowball Development Boards

Last week, Linaro Android team announced that graphics hardware acceleration (2D and 3D) was coming to Android 4.0 for ST Ericsson Nova A9500 Snowball and Samsung Exynos 4210 Origen development boards. They have now release 2 videos to show the progress on the implementation. The first video (around 5 minutes) showcases Samsung Origen development board running Linaro’s build of Android ICS with 2D and 3D demo. The second video (1:21) shows 2D hardware acceleration on ST Ericsson Snowball board. Snowball Android 4.0 daily snapshots and instructions are available at https://android-build.linaro.org/builds/~linaro-android/staging-snowball/ and Origen builds at https://android-build.linaro.org/builds/~linaro-android/staging-origen/ The official December 2011 releases should also come pretty soon are available at http://releases.linaro.org/11.12/android/. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

Qt Labs Releases Qt 4.8.0

Qt Labs has just announced the release of Qt 4.8.0 featuring Qt Platform Abstraction, threaded OpenGL support, multithreaded HTTP and optimized file system access. Here are some of the new key features  in Qt 4.8.0: Qt Platform Abstraction (QPA) QPA restructures the GUI stack to enable easier porting of Qt to different windowing systems and devices. Previously called Lighthouse. Threaded OpenGL supportEnables developers to render OpenGL from more than one thread concurrently. See Threaded OpenGL in 4.8 for more details. Multithreaded HTTP HTTP requests are now handled in a separate thread by default. This should make application guis smoother, as networking will no longer use the main event loop. Optimized file system access The file system stack received some heavy lifting under the hood. The result is better I/O performance, achieved by reducing the number of system calls performed for I/O and by better use of cached data, when available. […]

Enable OpenGL 2.0 and WebGL for Intel GMA3150 in Ubuntu

I wanted to use WebGL in my Acer Aspire One D255E netbook that uses an Intel GMA 3150 onboard graphics card, but it did not work in Chromium nor Firefox. WebGL requires OpenGL 2.0 support, but I found out I only had support for OpenGL 1.4:

But I found out it was possible to enable OpenGL 2.0 for GMA 3150 in Linux by installing and running driconf:

and clicking on “Enable limited ARB_fragment_shader support on 915/945.” and “Enable stub ARB_occlusion_query support on 915/945.” options. They are not enabled by default because they do cause problems. After those two options were enabled, OpenGL 2.0 was enabled.

But I still could not use WebGL in either Chromium nor Firefox, so I decided to install the latest version of Mesa (7.11) with indirect rendering (software) enabled with libOSMesa:

Even with the latest Mesa library, I could not use WebGL […]

Android Developer Conference: DroidCon 2011 Schedule

DroidCon UK will be held for two days (October 6th & 7th 2011) at the Islington Design Center in London and boasts to be United Kingdom’s largest Android-only developer conference. Here’s the program for day 1 (6th of October): 9:00 Barcamp Talks will be selected by attended among the following proposals: From Publisher to Platform – the role of OpenSource in engaging with developers by Oscar Clark, Papaya Mobile. Reality of Mobile Advertising by Terence Eden, Inmobi. OpenGLES2 & Android QEMU Emulator by Jonathan White and Jose Commins, Accenture. Enhancing User Experience with HTC: 3D, Pen, and Audio Lance Nanek, HTC. Cisco Workshop by Marcus O’Sullivan, Cisco. OpenGL & NDK by Ashraf Hegab, Orange. Fed up with trying to make pay per download pay back? Try API revenue share by James Parton, o2. (Re)Branding Headache? Here’s your Pain Killer by Joana Cruz e Costa, Masabi. Smooth and User Friendly UI […]

Cross Compiling libavg for ARM

libavg is a high-level development platform for media-centric applications using Python as scripting language and written in C++. Bear in mind that are many dependencies with libavg 1.6. I have not built all the libraries required, but instead simply taken the pre-built binaries and header files in the qemu overo image and copied the files as follows: mkdir mnt sudo mount -o loop,offset=$[106496*512] overo_sd_alip.img mnt mkdir ~/edev/beagleboard/libs/lib -p mkdir ~/edev/beagleboard/libs/include cp mnt/usr/lib/* ~/edev/beagleboard/libs/lib/ -rf -d cp mnt/lib/* ~/edev/beagleboard/libs/lib/ -rf -d cp /mnt/usr/include/* ~/edev/beagleboard/libs/include -rf -d sudo umount mnt The -d flag skips the symlink, so we need to recreate then for all library so that the compiler can find libname.so instead of libname.so.12. Save the following scripts to symlinks.sh:

and run it where the arm libraries are located (in my case in /home/jaufranc/edev/beagleboard/libs/lib, /home/jaufranc/edev/beagleboard/libs/lib/arm-linux-gnueabi and /home/jaufranc/edev/beagleboard/libs/lib/mesa). This will  create symlinks for most libraries, but not all. Some will still […]

Cross-Compiling Mesa 3D Graphics Library for ARM

Mesa is an open-source implementation of the OpenGL specification that can be used for software emulation or  complete hardware acceleration for modern GPUs.The Mesa library is used by a variety of games (e.g. Quake 2.3), libraries (e.g PyOpenGL), science and technical applications and utilities (e.g. xscreensaver). MesaLib requires X11 libraries. I’ll assume those are already cross-compiled here. For this build, I used pre-built X11 libraries found in ALIP (ARM Internet Platform) binaries. I used the method described here and copied the libs in /lib and /usr/lib and header files in /lib/include found in the qemu overo image respectively to /home/jaufranc/edeve/beagleboard/libs/lib and /home/jaufranc/edeve/beagleboard/libs/include. make sure you use the “-d” with cp to avoid copying the symlinks or some symbolic links would point to x86 binaries or files that do not exist. Here are the instructions to cross-compile MesaLib 7.11 for ARM using arm-linux-guneabi-gcc: Download the latest version of Mesa source code: […]

UP 7000 x86 SBC