ARM Community: Mali GPUs Linux Device Drivers r2p0-05rel0 Source Code released - ARM Community

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Mali GPUs Linux Device Drivers r2p0-05rel0 Source Code released

#1 User is offline   Nizar Romdan 

  • Member
  • Pip
  • View blog
  • Group: Moderators
  • Posts: 27
  • Joined: 12-October 09

Posted 03 June 2010 - 03:23 PM

Hi guys,

We're pleased to announce the availability of the latest open source release r2p0-05rel0 of the the Mali-200 and Mali-400 GPUs Linux Device Drivers available under GPLv2 license http://www.malidevel...com/drivers.php

The Linux version of the Mali DDKs include two components which run within the kernel. The most important of these, known as the Device Driver, provides the low-level access to the Mali-200 or Mali-400 GPU. An important, secondary component is the Unified Memory Profider (UMP) which can be used in a variety of ways to faciliate zero-copy operations within the driver stack.

From the r2p0 release onwards, both of these components are being made available under the GPLv2 licence. This page provides access to the source packages from which loadable kernel modules can be built.

Note that these two components are not a complete driver stack. To build a functional OpenGL ES or OpenVG driver you need access to the full source code of the Mali DDK, which is provided under the standard ARM commercial licence to all Mali GPU customers.

The two open source components provided on this page are designed to run with r2p0 release of the Mali DDK. In functional and performance terms they are identical to the Device Driver and UMP implementations provided under the commercial licence. By also releasing them under the GPLv2 licence we hope to make it easier to include Mali drivers in any Linux platform.

Happy Hacking Guys!

Cheers,

Nizar
Mali Developer Community Manager
0

#2 User is offline   SergeySG 

  • Member
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 31-May 10

Posted 14 June 2010 - 06:35 AM

Hi Nizar! I compille this driver (mali200) for TCC8902 on SmartQV7 MID
insmod mali.ko get error "Bad address -1" - what is this address?
0

#3 User is offline   RobC 

  • Member
  • Pip
  • Group: Members.
  • Posts: 13
  • Joined: 15-October 09

Posted 15 June 2010 - 10:32 AM

View PostSergeySG, on Jun 14 2010, 07:35 AM, said:

Hi Nizar! I compille this driver (mali200) for TCC8902 on SmartQV7 MID
insmod mali.ko get error "Bad address -1" - what is this address?


Hi SergeySG,

Glad to hear you were able to build the driver.

The 'bad address' message is actually from the kernel and is the textual description of the error condition (EFAULT) that the driver returns in the event of any problem during initialisation: see mali_kernel_linux.c:91 int mali_driver_init(void). You can read the driver source code to see precisely why this is happening. You should be able to get more debug from the module by adding mali_debug_level=<n> to the insmod command i.e.

insmod mali.ko mali_debug_level=4

(I've not actually tested this)

Some typical reasons for an error during initialisation are as follows

1. A problem auto allocating a major device node

Use

cat /proc/devices

to find a free character device. You can choose an alternative number by adding mali_major=<n> to the insmod command i.e.

insmod mali.ko mali_major=240

2. Obtaining the correct values to create an SoC specific config.h e.g. arch-tcc8902/config.h

As described in the readme.txt in the GPL driver package, you need to write a config.h file to describe the memory address of the Mali components, IRQ numbers and so on. This information would normally be contained in the documentation for the SoC. The default arch-pb-virtex5-m200 is an example for an ARM FPGA based development platform and will not work on another device.

At the moment you will need to contact the SoC or device manufacturers (Telechips or SmartDevices) for the information required to create a suitable config.h. In the future ARM hopes to be able to distribute this information with the GPL driver.

Regards,
Robert

This post has been edited by RobertCatherall: 15 June 2010 - 01:24 PM

Robert
0

#4 User is offline   ktamail 

  • Member
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 24-June 10

Posted 24 June 2010 - 10:15 AM

I downloaded the r2p0-05rel0 source code. I was try compile, but i have some issue:

which version kernel source need to compiling?
My spec: ubuntu 10.04 with Code Sourcery 2007. The kernel source version which i try 2.6.32.


make -f Makefile KDIR=/usr/src/linux-source-2.6.32
i will get follow errors:
---/usr/src/linux-source-2.6.32/arch/arm/include/asm/memory.h:18: fatal error: mach/memory.h: No such file or directory
---include/linux/math64.h:43: error: '__LINUX_ARM_ARCH__' undeclared (first use in this function)
---/usr/src/linux-source-2.6.32/arch/arm/include/asm/atomic.h:30: warning: "__LINUX_ARM_ARCH__" is not defined
I tried kernel versions 2.6.28, 2.6.30, 2.6.34, but need to configure kernel, i haven't experience kernel configure.

I would like to compile, but have some help how to do.

Best regards, Tom.
0

#5 User is offline   RobC 

  • Member
  • Pip
  • Group: Members.
  • Posts: 13
  • Joined: 15-October 09

Posted 13 July 2010 - 05:10 PM

View Postktamail, on Jun 24 2010, 11:15 AM, said:

I downloaded the r2p0-05rel0 source code. I was try compile, but i have some issue:

which version kernel source need to compiling?
My spec: ubuntu 10.04 with Code Sourcery 2007. The kernel source version which i try 2.6.32.


The r2p0-05rel0 release of the Mali driver will build against more recent releases in the 2.6.xx series. I know that it will build against 2.6.28 so you might want to start there.

I'd also suggest getting a more recent toolchain e.g. 2009q3

View Postktamail, on Jun 24 2010, 11:15 AM, said:

make -f Makefile KDIR=/usr/src/linux-source-2.6.32
i will get follow errors:
---/usr/src/linux-source-2.6.32/arch/arm/include/asm/memory.h:18: fatal error: mach/memory.h: No such file or directory
---include/linux/math64.h:43: error: '__LINUX_ARM_ARCH__' undeclared (first use in this function)
---/usr/src/linux-source-2.6.32/arch/arm/include/asm/atomic.h:30: warning: "__LINUX_ARM_ARCH__" is not defined
I tried kernel versions 2.6.28, 2.6.30, 2.6.34, but need to configure kernel, i haven't experience kernel configure.


Before you can build the Mali driver you must configure and build the Linux kernel. For information on how to do this please see the README file in the top level of the Linux source package and the documentation or forums for your hardware.

Hope that helps
Robert
Robert
0

#6 User is offline   l2mali 

  • Member
  • Pip
  • Group: Members
  • Posts: 2
  • Joined: 20-November 10

Posted 14 September 2011 - 03:59 PM

Hi Nizar,
Any plan to release X11/DRM driver for 3.0 kernel?
Because there are changes in the 3.0 DRM subsystem.
I am not able to use current release driver with 3.0 kernel.

Thanks,

View PostNizar Romdan, on 03 June 2010 - 03:23 PM, said:

Hi guys,

We're pleased to announce the availability of the latest open source release r2p0-05rel0 of the the Mali-200 and Mali-400 GPUs Linux Device Drivers available under GPLv2 license http://www.malidevel...com/drivers.php

The Linux version of the Mali DDKs include two components which run within the kernel. The most important of these, known as the Device Driver, provides the low-level access to the Mali-200 or Mali-400 GPU. An important, secondary component is the Unified Memory Profider (UMP) which can be used in a variety of ways to faciliate zero-copy operations within the driver stack.

From the r2p0 release onwards, both of these components are being made available under the GPLv2 licence. This page provides access to the source packages from which loadable kernel modules can be built.

Note that these two components are not a complete driver stack. To build a functional OpenGL ES or OpenVG driver you need access to the full source code of the Mali DDK, which is provided under the standard ARM commercial licence to all Mali GPU customers.

The two open source components provided on this page are designed to run with r2p0 release of the Mali DDK. In functional and performance terms they are identical to the Device Driver and UMP implementations provided under the commercial licence. By also releasing them under the GPLv2 licence we hope to make it easier to include Mali drivers in any Linux platform.

Happy Hacking Guys!

Cheers,

Nizar
Mali Developer Community Manager

0

#7 User is offline   manuuu 

  • Member
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 07-March 12

Posted 07 March 2012 - 08:07 AM

I've read the code work on eclair and froyo.
I need mali 200 driver for ice cream sandwich.
is possible?

sorry for my english
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic