Binary Blobs Attack – ELC 2012

Zach Pfeffer, Android Platform Lead at Linaro, talks about (GPU) Binary Blobs and the problems they cause at Embedded Linux Conference 2012. Abstract: Binary Blobs Attack!!! Most SoC vendors distribute binary blobs with Linux kernel shims. These binary blobs enable graphics engines, DSPs and other cores on ARM and other architecture SoCs. These binary blobs tend to be tied to specific kernel versions which limits unreadability and hackability and complicates device manufactures, which slows down innovation and the introduction of new and unique computing devices. Here’s what I noted from this presentation: Most of the issues at Linaro come from (GPU) Binary blobs, they delay projects and cause projects to cost more as FAE and more engineers must be involved in solving problems. Blobs are here to stay mostly due to legal reasons (patents). Binary Blob are usually OS independent, e.g. the same binary is used in Windows and Linux, […]

Metaio To Introduce Augmented City Platform at MWC 2012

Metaio has unveiled plans to add 3D Object Tracking and Visual Search to its free mobile Augmented Reality SDK for Android and iOS, part of the Augmented City platform. This  SDK is optimized by major ARM chipset providers, and assembles technologies necessary for creating interactive and immersive AR experiences, such as the overlay of virtual information on building facades, city streets and almost any 3D real world object or device, says the company. Metaio Mobile SDK is specifically optimized for Texas Instruments OMAP4460/4470 and ST Ericsson NovaThor processors using respectively PowerVR SGX540, SGX544 and Mali-400 GPUs. The metaio Augmented City platform consists of diverse mobile and web software packages that use computer vision technology to insert 3D and digital information into the real world. Whereas  many existing Augmented Reality (AR) platforms limit experiences to GPS mapping and the anchoring of graphics to simple, 2D surfaces,  metaio platform can deliver real-time […]

Wayland Library: X11 Display Server Replacement for Linux

The X Window System has been implemented in Linux since the beginning and manages the graphical user interface of most Linux distributions, although some embedded systems do without X11 and use lightweight graphics libraries such as Nano-X, SDL, DirectFB etc… X11 is invisible to the end-user but does all the hard work needed to have Gnome, KDE and Unity user interfaces work properly and smoothly. However, in recent years, GNU/Linux desktop graphics has moved from having numerous rendering APIs talking to the X server which manages everything towards putting the Linux kernel in the middle with direct rending (e.g.  OpenGL, VDPAU/VAAPI) with window systems taking the backstage. This new architecture  provides a much-simplified graphics system offering more flexibility and better performance. The problem is that the X Window System is highly complex, a complexity that is not really needed with the newest version of the kernel. That’s where Wayland protocol comes […]

ARM Mali-200 and Mali-400 GPU Open Source Driver Released

There has been a lot of controversy around GPU drivers and open source, as GPU drivers usually come with a blob (a binary file). If you have been lurking in Raspberry Pi forums you’ll know what I mean. But this will change thanks to Lima. No, not the capital of Peru but the open source graphics driver for ARM Mali GPUs (Mali-200 and Mali-400) also called Lima whose goal is stated as follows: The aim of this driver is to finally bring all the advantages of open source software to ARM SoC graphics drivers. Currently, the sole availability of binary drivers is increasing development and maintenance overhead, while also reducing portability, compatibility and limiting choice. Anyone who has dealt with GPU support on ARM, be it for a Linux with a GNU stack, or for an Android, knows the pain of dealing with these binaries. Lima is going to solve […]

Raspberry Pi Codecs and Graphics/Video APIs

The Raspberry Pi Foundation has announced which codecs and API would be supported in the Raspberry Pi. The Raspberry Pi board will support the following Graphics and Video API via a set of closed source libraries that give access to the GPU acceleration features: OpenGL ES 2.0 –  OpenGL is a 3D Graphics API defined by the Khronos Group. OpenVG – OpenVG is a 2D vector drawing API also defined by the Khronos Group. EGL – EGL is the interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. OpenMAX IL – OpenMAX supplies a set of API’s that provides abstractions for routines used during audio, video, and still images processing. OpenMAX defines 3 layers, Raspberry Pi library will provide an interface to the IL layer, which provides an interface between media framework such as Gstreamer and a set of multimedia components. […]

Linaro 12.01 Release with Kernel 3.2 – Android 4.0.3

Linaro has just released version 12.01 based on Linux Kernel 3.2 and Android ICS upgraded to 4.0.3.  A lot of work has been done to have video hardware decoding on OMAP 4 (in GStreamer) enabling Pandaboard to run Ubuntu TV and XBMC with Video HW acceleration. Prebuilt binaries for Linaro GCC and Linaro GDBare now available which means you don’t need to use Ubuntu with Linaro Toolchain. It has been tested with Debian 6.0.2, Fedora 16, openSUSE 12.1 and Red Hat Enterprise Linux Workstation 5.7 and should run on any Linux Standard Base 3.0 compatible distribution. Windows binaries are also available and known to work on Windows XP Pro SP3, Windows Vista Business SP2 and Windows 7 Pro SP1. Here are the highlights of the release: Android Linaro’s ICS has been upgraded to 4.0.3. Linaro Android ICS builds are now optimized using -O3 with the Linaro Toolchain. Click through builds […]

Xibo Digital Signage in Raspberry Pi Emulator (Step 1)

Xibo (pronounced eX-E-bO) is an open source, multi-display, multi-zone, fully scheduled digital signage client/server solution written in Python and dotNET. If you are not familiar with Xibo you can visit http://xibo.org.uk/ or/and read my introduction XIBO: An Open Source Digital Signage Server/Client. The Raspberry Pi is a low cost board based on Broadcom BCM2835 (ARM1176 Core) that should be available for sale at the end of January / beginning of February at http://www.raspberrypi.com. There are two versions of the board: Model A: 128 MB RAM and no Ethernet Model B: 256 MB RAM with 10/100 Mbit Ethernet BCM 2835 also features a Videocore GPU supporting OpenGL and 1080p30 video decoding that makes it ideal for multimedia applications such as digital signage players. The board support both HDMI and composite video output. You should also be able to connect a LCD via the DSI interface. If we can make Xibo run […]

Cross-compiling libavg 1.7 for ARM on Debian

libavg is a high-level development platform for media-centric applications using Python as scripting language and written in C++ and I’ve already written a post to cross-compile libavg 1.6 in Ubuntu (with linaro cross toolchain) and using Beagleboard qemu image. Since I’ve doing some preparation work to have software running on the Raspberry Pi and that the latter won’t support Ubuntu, I’ve had to cross-compile it again. This time, I’ve found a cleaner way to do the cross-compilation with dpkg-cross and xapt tools which can load the required armel package to the arm toolchain. Those tools really make life easy, as previously (a few years ago), I would have had to cross-compile all dependencies manually. Here are the steps I followed: Install Emdebian ARM Cross Toolchain and Tools in Debian. Download libavg 1.7 source code

Extract it

Install the following armel development packages: sudo /usr/share/pdebuild-cross/xapt -a armel libpango1.0-dev libavformat-dev […]