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: […]