Raspberry Pi OpenGL and OpenMAX IL “Hello World!” Applications

As you may already know, Raspberry Pi has released their first SD card image with Debian. This morning, I explained how to use that image in qemu. I’ve been waiting for samples to take advantage of the power Videocore GPU inside Broadcom BCM2835 SoC used in the Raspberry Pi board and the goods news is that they added Hello World code samples in C to make use of those capabilities. The sample are located in /opt/vc/src/hello_pi directory: hello_audio – Audio output demo using OpenMAX IL through the ilcient helper library hello_triangle – A rotating cube rendered with OpenGL ES with 3 images used as textures on the cube faces. hello_video – Video decode demo using OpenMAX IL through the ilcient helper library You can either compile those samples in the board or cross-compile them in your host machine. Since you need the GPU, you will obviously not be able to test those in the emulator but it’s still good to […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Raspberry Pi Releases 1st SD Card Image (Debian) – How-to use it in QEMU

The Raspberry Pi Foundation has just released the first SD Card Image that you will be able to use with your Raspberry Pi board. This image is based on Debian Squeeze (6.0) and comes with  LXDE user interface and Midori browser, development tools, and sample code for accessing the multimedia functionality on the device. You can download it using BitTorrent: debian6-17-02-2012.zip.torrent (preferred method) or via one of the many http mirrors available on RPi Community page. This image contains all necessary files including the binary blob and closed source libraries, the kernel and the root file systems. If you want to to prepare an SD Card with this image simply use dd in Linux: unzip debian6-17-02-2012.zip sudo dd if=debian6-17-02-2012/debian6-17-02-2012.img of={sd_card_path} where sd_card_path is the device pointing to you SD Card (e.g. /dev/sdc). Make sure you use the correct device (e.g. with fdisk -l) or you may wipeout your hard drive with this command. Since most of us (including myself), don’t […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Cross-compiling VMWare View for ARM Linux (in Debian/Ubuntu)

Earlier this month, I wrote an article about PCoIP Technology which shows an Android application (VMWare View) running on an OMAP4 Tablet displaying a Windows 7 desktop. This remote desktop technology relies on a powerful server to do the processing and thin clients (in that case Tablets) to display the desktop. Since only pixels are transferred any OS (supported by the server) could be displayed in the thin client. That made me wonder if there was an open source PCoIP client that could run on low end Linux client such as the Raspberry Pi. VMWare View Open Client provides just what we need, but is only available in source code so we need to cross-compile it for ARM or build it in an ARM machine. Today, I’ll show the instructions I followed to cross-compile it for ARM in Debian using Emdebian Toolchain. First download and extract VMware View Open Client 4.5 source code: Install some tools on the build machine: […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Raspberry Pi Linux Distribution: Raspberry Pi Fedora Remix 14

Several operating systems will be able to run on the Raspberry Pi boards.  However, the Raspberry Foundation had announced that they were working with Red Hat to deliver a Fedora release optimized for the board and Broadcom BCM2835 processor (ARMv6 + hard-float support). It appears the full name of this distribution is “Raspberry Pi Fedora Remix 14” most probably based on Fedora 14 (as the name implies), and not the latest Fedora 16 release. This Linux distribution will officially be launched on the 22nd of February 2011 at the  Seneca Centre for the Development of Open Technology in Toronto, Canada during a 2-hour event (15:00-17:00) featuring: A hands-on opportunity to use a Raspberry Pi Live demonstrations of the Raspberry Pi Fedora Remix software Examples of the educational uses of the Raspberry Pi The 60-computer build farm used to build the Fedora ARM software on which the remix is based Information about the Fedora ARM project There are also talks there […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

armStoneA8: 49 Euros ARM Cortex-A8 Single Board Computer

F&S Elektronik Systeme GmbH, a German company,  has announced the armStoneA8 , a Single Board Computer (SBC) based on an ARM Cortex A8 that will be available by the first day of the Embedded World 2012 Conference.  The great part is that for a limited period (27 February 2012 to 4 March 2012) you’ll be able to buy the board for 49 Euros on their (yet to be launched) online shop. The board, that comes in PicoITX form factor (100 x 72mm), is powered by a Cortex A8 CPU running at 1GHz and the company provides support for Linux, WinCE 6.0 and Windows Embedded Compact 7. The company says the bootloader, SDK, BSP and kernels are already available with support for DirectX, OpenGL and hardware accelerated GStreamer. The company plans to release the detailed specifications before Embedded World 2012, but in the meantime, I found some PDF about the board showing the followings technical specifications: ARM Cortex A8 800 Mhz […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Raspberry Pi Releases BCM2835 Datasheet for ARM Peripherals

If you have been following Raspberry Pi project, you may have noticed the dearth of documentation related to Broadcom processors. For BCM2835 (The processor used in Raspberry Pi board), Broadcom only has one laconic webpage. But the Raspberry Pi’s “super-team” has managed to get a (partial) datasheet for the SoC showing the details of BCM2835 ARM peripherals which is all that we may need. This would only be useful for people playing around with the Linux (and u-boot) drivers. The document includes details about the processor’s memory map as shown below. It also contains details (registers, implementation details, etc..) about the following ARM peripherals: Timers Interrupt controller GPIO USB PCM / I2S DMA controller I2C master I2C / SPI slave SPI0, SPI1, SPI2 PWM UART0, UART1 You can download BCM2835 datasheet to get the complete documentation. The Raspberry Pi foundation also announced that the boards will be ready on February 20. After that, the boards will have to be airfreight […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

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. The first three libraries are standard in Linux, so porting […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

Cross-compiling Berkelium for ARMv6 with Emdebian Toolchain

Berkelium is a BSD licensed library that provides off-screen browser rendering via Google’s open source Chromium web browser. This library is used by Xibo Digital Signage Player python client and I already cross-compiled it using Ubuntu/Linaro  toolchain. Since I need it to run on ARMv6 for the Raspberry Pi, I have cross-compiled it again in Debian with Emdebian ARM cross-compiler. Here are the instructions I followed to build Berkelium and Chromium for ARMv6 in Debian. First, you’ll need to install some development libraries for ARM: sudo /usr/share/pdebuild-cross/xapt -a armel libnss3-dev libgconf2-dev libgnome-keyring-dev libgtk2.0-dev libgnome-keyring-dev libgtk2.0-dev libxtst-dev libpam-dev libxss-dev libdbus-glib-1-dev libnss3-dev libgconf2-dev libgnome-keyring-dev libxss-dev libdbus-glib-1-dev libnspr4-dev libglib2.0-dev libjpeg-dev libasound2-dev libbz2-dev libgcrypt-dev libspeex-dev libcups2-dev and some tools on the build machine: sudo apt-get install git-core subversion cmake doxygen gyp gperf flex bison On 64-bit build machines (required for debug build) also install g++-multi and possibly some 32-bit libraries with xapt: If you don’t, you’ll get the following error: LINK(host) out/Release/mksnapshot /usr/bin/ld: warning: […]

Support CNX Software – Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples