Archive

Posts Tagged ‘driver’

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

February 7th, 2013 5 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
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Learn How to Write a Driver for Linux 3.x With The Linux Driver Template

November 14th, 2012 No comments

A Linux Driver Template (LDT) has been published to help new Linux kernel developers writing hardware device drivers.

Constantine Shulyupin posted the Linux Driver Template (LDT) on the Linux mailing list in order to merge it into the mainline Linux kernel. The code can be used as as a starting point for new drivers, and shows how to use several Linux facilities such as  module, platform driver, file operations (read/write, mmap, ioctl, blocking and nonblocking mode, polling), kfifo, completion, interrupt, tasklet, work, kthread, timer, simple misc device,
multiple char devices, Device Model, configfs, UART, hardware loopback, software loopback and  ftracer.

This sample has been added to other device drivers samples in eLinux.org. And if you want to learn further there’s always the Linux driver bible: “Linux Device Drivers, Third Edition” which can be downloaded for free as PDF, although it’s for 2.6.10 kernel and many parts may not be up-to date.

Via: Phoronix

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

Designing An Android Sensor Subsystem: Pitfalls and Considerations – Android Builder Summit 2012

March 14th, 2012 No comments

Jen Costillo of Lab 126 discusses the Android sensor subsystem at the Android Builder Summit in February 2012.

Abstract:

This lecture will arm Android device architects with the tactical knowledge they need to navigate the Android Sensor subsystem and make knowledgeable design choices to improve user experience and improve battery performance. The talk will address:

  • Hardware architecture and trade-offs including latency, power, and software architecture implications:
  • Wake up events and power considerations
  • Gesture Detection Algorithm processing location and considerations
  • Testing methodologies (Creating tools to aid develop and collect data.

This talk targets the kernel/firmware developer responsible for the sensor architecture. They should be familiar with kernel drivers, embedded systems, hardware bring up, Android services, and the C language.

You can also download the presentation slides on linuxfoundation.org website.

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

Free Electrons Releases Embedded Linux Training Materials

March 2nd, 2012 1 comment

Free Electrons, a technology company offering embedded Linux consulting services as well as embedded Linux training, has released their training materials for Linux and system development for embedded systems including their Lab sessions.

The training materials are available in their git repository in LaTeX format.

If you want the latest documentation in PDF, you’ll need to build it by following those steps:

  1. Install the required packages:
    sudo apt-get install git dia inkscape texlive-full python-pygments
  2. Get the embedded Linux slides source:
    git clone git://git.free-electrons.com/training-materials.git
  3. Build the training materials:
    cd training-materials
    make full-sysdev-labs.pdf
    make full-kernel-labs.pdf
    make full-sysdev-slides.pdf

The last three commands will generate the PDF files respectively:

  • full-sysdev-labs.pdf – Embedded Linux Training Lab Book (58 pages) with instructions for the IGEPv2 board based on on TI DM3730 or OMAP3530.
  • full-kernel-labs.pdf – Linux kernel and driver development training Lab Book (37 pages)
  • full-sysdev-slides.pdf – Embedded Linux system development presentation slides (506 pages)

Free Electrons also have slightly older version of full-kernel-labs.pdf and full-sysdev-slides.pdf available for download as PDF so that you don’t need to build the documentation.

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

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

February 10th, 2012 No comments

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 this for you, but some time is needed still to get there.

Yesterday, the Lima developers created a repository and pushed the current code to Lima’s gitorious project.

This is not a release in the sense of having a stable binary, but an alpha (beta?) source code release. As explained on Lima’s website:

The Lima driver currently only has some preliminary and highly experimental support. This experimental phase is necessary to gain a full and complete understanding of how the Mali GPUs work. Once more is known, an actual graphics driver (most likely based off of Mesa/Gallium) can be written.

The Lima driver is supported on the following ARM SoC:

  • AMLogic 8726-M – Single core Cortex A9 with Mali-400 found in many cheap Android Tablets.
  • Allwinner A10 – Cortex A8 with Mali-400 found in some cheap tablets and the upcoming RhombusTech low cost board.There is also a development board.
  • ST-Ericsson Novathor – Dual Core Cortex A9 with Mali 400. This processor is found in Snowball development board as well as one HTC Z710t smartphone  (Only available in China).
  • Samsung Exynos – Dual core Cortex A9 with Mali 400. It is used in high-end smartphones (E.g. Samgun Galaxy S II) and the Samsung Origen development board.
  • Telechips 8902 and 8803 – ARM11 and Cortex A8 SoC with Mali-200 found in many (older) cheap tablets.

If you are interested in conrtibution to the projects, you can reach the developers on irc on freenode in the #lima channel or by subscribing to the mailing list

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