Archive

Posts Tagged ‘fosdem 2013’

Open ARM GPU Drivers FOSDEM 2013 Video and Call to ARM Management

February 14th, 2013 4 comments

As I previously wrote, FOSDEM organizers are slowly uploading FOSDEM 2013 videos. One of the most interesting talk “Open ARM GPU Drivers” is now available. I’ve also uploaded it to YouTube (embedded below) to give it more exposure. Luc Verhaegen has also written a recent blog post entitled “Hey ARM!” where he announces the release of the modified source for Quake 3 Arena demo, and asks ARM to join them in making an open source driver.

Open ARM GPU Drivers @ FOSDEM2013

This session covers the following key points:

  • Problem – Binary drivers are mainly designed to run in Android, and it’s very difficult to have proper GPU drivers for Linux, and companies are not interested to release open source drivers or even just documentation, as they are not convinced it will benefit them in any way.
  • Legal – This is actually the main issue, as open sourcing existing driver is a legal nightmare, and may cost a lot of money.
  • ARM Mali Overview – Mali-200/400, 450 & T6xx
  • Lima Project Status – No big secrets left in command-stream, compiler is tough due to Mali architecture, and actual driver work will start after FOSDEM. Full GNU/linux systems available.
  • Qualcomm Adreno Overview – Adreno 2xx/3xx
  • Freedreno Project Status – WIP driver. Command-stream and Shader architecture is mostly known. WIP xf86 (exa), mesa (gallium) drivers available. No proper GNU/linux available (The developer is currently using Android)
  • Nvidia Geforce ULP (Tegra) Overview
  • Tegra-re Project Status – Early research, early shader disassembler and early command stream capture. Limited availability of GNU/linux systems (AC-100, Trimslice).
  • Vivante GCxxxx Overview
  • Etnaviv project Status – Early research: Slowly prying apart command stream, full command stream capture and replay, and shader disassembler and assembler.
  • Broadcom Videocore Overview
  • The Raspberry Pi is a closed platform – “Open source” driver release by the Raspberry Pi foundation is just a shim (message-passing interface between ARM and the GPU), and the GPU itself runs a RTOS that handles the real processing.
  • Videocore Project Status – Research stage: documentation, assembler/disassembler., compiler work started,
    scalar processor fully reverse engineered, and some some “Hello World” code is available for booting the Raspberry Pi. 9 people are currently working on this project.
  • Imagination PowerVR SGX Overview – PowerVR SGX (5xx), and Rogue (6xx) in the future
  • Open Source Project Status (from the slides):PowerVR SGX Open Source Driver
  • Lima driver demos on Mele A1000 – Cube demos and Quake 3 Arena timedemo.


You can also download the presentation slides for his sessions

Quake 3 Arena Time Demo Source Code for Lima and Limare Driver

As I just mentioned, part of the session was a demo of Quake 3 Arena running on top of Lima drivers in Mele A1000 set-top box running Linux. Luc has now made the source code available on github, and you can get it as follows:

git clone git://github.com/libv/ioquake3-mali_fb.git

You can them compile it natively in any AllWinner A10 device:

make ARCH=arm

You’ll also need to get a full Quake 3 Arena version first as the binary data files (paks files) must be copied to   ~/ioquake3/baseq3 (NB: Those files can not be redistributed, as they belong to ID Software), and edit demofour.cfg as follows:

    cg_drawfps 1
    timedemo 1
    set demodone  "quit"
    set demoloop1 "demo four; set nextdemo vstr demodone"
    vstr demoloop1

You can now run the game demo with (I haven’t tried, so I’m not sure of the quake binary name):

ioquake3.arm +exec demofour.cfg

The full games is not playable yet, and Luc welcomes fixes for input support, sound, or even for the missing GLES2 shaders.

Call to ARM Management to Work with Open Source Developers

Luc Verhaegen claims “Absolutely nothing stops us now from delivering an open source driver that broadly matches the binary driver in performance! And this is exactly what we will be doing next!”, and calls upon ARM to join them:

We are not going away, we are here to stay. We cannot be silenced or stopped anymore, and we are becoming harder and harder to ignore.

It is only a matter of time before we produce an open source graphics driver stack which rivals your binary in performance. And that time is measured in weeks and months now. The requests from your own customers, for support for this open source stack, will only grow louder and louder.

So please, stop fighting us. Embrace us. Work with us. Your customers and shareholders will love you for it.

Open source developers are not the only ones to ask for this, if you’ve ever wanted to use Linux with proper 2D/3D GPU drivers on ARM, you are in the same boat, and even Linaro engineers complain about this (Linaro is an organization working on open source software for ARM SoCs, and ARM is obviously a core member), because those need to be updated for each kernel version, and it’s a nightmare as they have to go through the GPU company’s FAE which talks to the engineer and back. This wastes a lot of time (and money), as a task that could be done within a few hours/days with open source drivers, may instead take days or weeks because of binary blobs. An example is Linux Mali-400 support on Hardkernel ODROID-X/U2, they announced their intention to provide hardware GPU acceleration months ago, last month they released an Ubuntu image which can support GPU drivers (but not the driver), and they could only release the drivers yesterday (I’ll have to try that). The point is that it could have taken a much shorter time with open source drivers.

I understand there must be complicated legal issues, but there must certainly be a way to provide open source drivers, as it would just benefit everyone (from end users to engineers to SoC companies). Since Lima developers have now proven they can match the performance binary drivers for their “research” driver, and seem to be committed to deliver a proper open source driver for Mali-400, that should be a sufficient reason for ARM to cooperate with open source developers, even if it is only by releasing the GPU documentation.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linux Conference Australia and FOSDEM 2013 Videos are Now Online

February 8th, 2013 3 comments

FOSDEM 2013 took place last week, and the organizers are in the process of uploading videos. Up to now, 5 main tracks sessions have been uploaded (Firefox OS;  Free, open, secure and convenient communications; FreedomBox 1.0;  Samba 4; and systemd, Two Years Later) as well as over 20 lightning talks.

You can find the videos at http://video.fosdem.org/2013. You may also want to check my previous post for a lists of interesting talks, and I’ll probably feature some FOSDEM 2013 videos in this blog, at least the open source GPU driver talk.

LCA_2013Linux Conference Australia took place on January 28 – February 1, 2013, and the 5-day conference featured lots of talks including several dealing with graphics in Linux, and one developer apparently trashing X in terms of complexity and performance, and explaining how Wayland was better. Others Linux sessions dealt with subject such as 3D printing, supercomputing, Arduino, big.LITTLE processing, open source, git, Raspberry Pi, UEFI, and much more.

You can download LCA 2013 videos in MP4 or OGV formats.

Via H-Online

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Quake 3 Arena Demo Using Lima Driver is (Slightly) Faster than Mali-400 Binary Driver

February 7th, 2013 6 comments

As mentioned previously, Luc Verhaegen was to give a talk about the status of Lima driver (reverse-engineered Mali-200/400 GPU driver), as well as other GPU open source implementation, at FOSDEM 2013. This is now done, and part of the talk included a demo of Quake 3 Arena (q3a timedemo) running on tablet featuring AllWinner A10 SoC (Cortex A8 @ 1Ghz, Mali-400MP1 GPU @ 320 Mhz, and DDR3 memory @ 360MHz), and a 1024×600 LCD. The fact it works is already a great achievement in itself, but this demo runs at 47.2fps with Lima driver (limare), whereas it can be rendered at 46.2fps using the binary driver. In his blog, Luc also explains that apart from being 2% faster, it also uses 3% less cpu than the binary driver! Take that binary blobs!

There’s still more work to do however, as this Quake 3 Arena port is not playable yet for 2 reasons:

  1. There’s no input support via the touchscreen driver yet.
  2. Luc only included the shaders needed to run the timedemo, but the full game requires more shaders.

He goes on to explain that Lima is not fully open source just yet, as they are still using the binary shader compiler, but he will push Q3A demo source code soon. If you want to learn more of the steps he and others went through to reverse-engineer Mali-400 driver, and optimize it for Q3A timedemo, read “Quake 3 Arena timedemo on top of the lima driver!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

A Selection of FOSDEM 2013 Events

February 1st, 2013 No comments

FOSDEM is a 2-day (or 3 if you include Friday beer event) event where over 5,000 members of open source communities meet, share ideas and collaborate. It’s free to attend, and there’s no registration, so you just show up to attend. FOSDEM 2013 takes place on Feb 2-3 (yep, this week-end) in Brussels

There are 7 main tracks where sessions are organized:

  • fosdem logoOperating systems
  • Open source challenges
  • Security Janson
  • Beyond operating systems
  • Web development
  • Miscellaneous
  • Robotics

There are also keynotes and devroom for a total of 488 sessions. Developers rooms that may particularly be of interest to readers of this blog are:

All in all that’s a lot of sessions, and even though I won’t attend, I’m going to select a few from the main tracks:

This talk introduces the Fedora ARM Project and in particular the work we are doing to bring Fedora to emerging 64-bit ARM server systems.

Where are we today, one year after the unveiling of the Lima driver. This talk will cover the Lima driver (ARM Mali 200/400), but also other open source GPU driver projects such as the freedreno driver (Qualcomm Adreno), open source driver for Nvidia Tegra, etnaviv project (Vivante GC) and cover the status for Broadcoms Videocore and Imaginations PowerVR GPUs.

Based on the speaker’s experience of getting the support for the new Armada 370 and Armada XP ARM processors from Marvell into the mainline Linux kernel, this talk will detail the most important steps involved in this effort, and through this, give an overview of those changes and summarize the new rules for ARM Linux support.

  • Sunday 11:00 – 11:50 – Firefox OS by Jonas Sicking

Firefox OS is the next product being developed by Mozilla. It’s an open source OS based on the web and following the principals which have made the web a success. A phone running recent builds of Firefox OS (it’s not a finished product yet) will be demoed, and  the technologies and ideas behind Firefox OS will be discussed.

The systemd project is now two years old (almost three). It found adoption as the core of many big community and commercial Linux distributions. It’s time to look back what we achieved, what we didn’t achieve, how we dealt with the various controversies, and what’s to come next.

How Aldebaran Robotics is using open source on their NAO robot.

This talk will provide an overview of the Robot Operating System (ROS), an open software integration framework for robots.

This talk describes how the automotive industry has moved to embedded Linux and Open Source to develop the next generation of In-Vehicle Infotainment (IVI) and how it has met the challenges along the way.

What, why, when, where and how SecureBoot changes the way we build F/LOSS

 

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter