ARM Mali Graphics Drivers
cover ARM Mali Graphics Drivers
This patch adds the ARM Mali graphics driver for Allwinner based systems.
Spenser Gilliland (4):
a10disp: new package
sunxi-mali: new package
opengl: add sunxi-mali as possible egl/gles provider
sunxi-cedar: add cedar hardware video decoding library
package/Config.in | 4 ++ package/a10disp/Config.in | 12 +++++ package/a10disp/a10disp.mk | 21 ++++++++ package/opengl/libegl/libegl.mk | 4 ++ package/opengl/libgles/libgles.mk | 4 ++ package/sunxi-cedar/Config.in | 10 ++++ package/sunxi-cedar/sunxi-cedar.mk | 49 ++++++++++++++++++ package/sunxi-mali-prop/Config.in | 4 ++ package/sunxi-mali-prop/sunxi-mali-prop.mk | 10 ++++ package/sunxi-mali/Config.in | 52 +++++++++++++++++++ package/sunxi-mali/S80mali | 54 ++++++++++++++++++++ package/sunxi-mali/egl.pc | 12 +++++ package/sunxi-mali/glesv2.pc | 12 +++++ package/sunxi-mali/sunxi-mali.mk | 82 ++++++++++++++++++++++++++++++ 14 files changed, 330 insertions(+) create mode 100644 package/a10disp/Config.in create mode 100644 package/a10disp/a10disp.mk create mode 100644 package/sunxi-cedar/Config.in create mode 100644 package/sunxi-cedar/sunxi-cedar.mk create mode 100644 package/sunxi-mali-prop/Config.in create mode 100644 package/sunxi-mali-prop/sunxi-mali-prop.mk create mode 100644 package/sunxi-mali/Config.in create mode 100644 package/sunxi-mali/S80mali create mode 100644 package/sunxi-mali/egl.pc create mode 100644 package/sunxi-mali/glesv2.pc create mode 100644 package/sunxi-mali/sunxi-mali.mk
Signature · 1 line
1.8.1.2
PATCH 1/4 a10disp: new package
--- package/Config.in | 1 + package/a10disp/Config.in | 12 ++++++++++++ package/a10disp/a10disp.mk | 21 +++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 package/a10disp/Config.in create mode 100644 package/a10disp/a10disp.mk
package/Config.in +1 -0
@@ -229,6 +229,7 @@ source "package/ux500-firmware/Config.in" source "package/zd1211-firmware/Config.in" endmenu source "package/freescale-imx/Config.in" +source "package/a10disp/Config.in" source "package/acpid/Config.in" source "package/cdrkit/Config.in" source "package/dbus/Config.in"
package/a10disp/Config.in new file +12 -0
@@ -0,0 +1,12 @@ +config BR2_PACKAGE_A10DISP + bool "a10disp" + depends on BR2_arm + depends on BR2_LINUX_KERNEL + help + Program to change the display mode of Allwinner ARM SOCs running + the linux-sunxi kernel (and not the mainline kernel.) + + http://github.com/hglm/a10disp + +comment "a10disp requires the linux kernel" + depends on BR2_arm && !BR2_LINUX_KERNEL
package/a10disp/a10disp.mk new file +21 -0
@@ -0,0 +1,21 @@ +################################################################################ +# +# a10disp +# +################################################################################ + +A10DISP_VERSION = a899cc6dcf +A10DISP_SITE = http://github.com/hglm/a10disp/tarball/$(A10DISP_VERSION) + +A10DISP_DEPENDENCIES = linux + +define A10DISP_BUILD_CMDS + cp -f $(LINUX_DIR)/include/video/sunxi_disp_ioctl.h $(@D)/ + $(TARGET_CC) $(TARGET_CFLAGS) $(@D)/a10disp.c -o $(@D)/a10disp +endef + +define A10DISP_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/a10disp $(TARGET_DIR)/usr/bin/a10disp +endef + +$(eval $(generic-package))
Signature · 1 line
1.8.1.2
PATCH 2/4 sunxi-mali: new package
In reply to Spenser Gilliland--- package/Config.in | 2 + package/sunxi-mali-prop/Config.in | 4 ++ package/sunxi-mali-prop/sunxi-mali-prop.mk | 10 ++++ package/sunxi-mali/Config.in | 52 +++++++++++++++++++ package/sunxi-mali/S80mali | 54 ++++++++++++++++++++ package/sunxi-mali/egl.pc | 12 +++++ package/sunxi-mali/glesv2.pc | 12 +++++ package/sunxi-mali/sunxi-mali.mk | 82 ++++++++++++++++++++++++++++++ 8 files changed, 228 insertions(+) create mode 100644 package/sunxi-mali-prop/Config.in create mode 100644 package/sunxi-mali-prop/sunxi-mali-prop.mk create mode 100644 package/sunxi-mali/Config.in create mode 100644 package/sunxi-mali/S80mali create mode 100644 package/sunxi-mali/egl.pc create mode 100644 package/sunxi-mali/glesv2.pc create mode 100644 package/sunxi-mali/sunxi-mali.mk
package/Config.in +2 -0
@@ -294,6 +294,8 @@ source "package/smartmontools/Config.in" source "package/snowball-hdmiservice/Config.in" source "package/sredird/Config.in" source "package/statserial/Config.in" +source "package/sunxi-mali/Config.in" +source "package/sunxi-mali-prop/Config.in" source "package/sysstat/Config.in" source "package/ti-gfx/Config.in" source "package/ti-utils/Config.in"
package/sunxi-mali-prop/Config.in new file +4 -0
@@ -0,0 +1,4 @@ +# Sunxi-mali-prop is a git submodule of sunxi-mali. To use this package +# select the sunxi-mali option. +config BR2_PACKAGE_SUNXI_MALI_PROP + bool
package/sunxi-mali-prop/sunxi-mali-prop.mk new file +10 -0
@@ -0,0 +1,10 @@ +################################################################################ +# +# sunxi-mali-prop +# +################################################################################ + +SUNXI_MALI_PROP_VERSION = e4ced47 +SUNXI_MALI_PROP_SITE = http://github.com/linux-sunxi/sunxi-mali-proprietary/tarball/$(SUNXI_MALI_PROP_VERSION) + +$(eval $(generic-package))
package/sunxi-mali/Config.in new file +52 -0
52 lines not on this page · raw message
package/sunxi-mali/S80mali new file +54 -0
54 lines not on this page · raw message
package/sunxi-mali/egl.pc new file +12 -0
@@ -0,0 +1,12 @@ +prefix=/usr/ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: egl +Description: ARM Mali implementation of EGL +Version: 1.4 +Requires: +Libs: -L${libdir} -lEGL -lGLESv2 -lUMP +Cflags: -I{includedir}/EGL/ -I${includedir} +
package/sunxi-mali/glesv2.pc new file +12 -0
@@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: glesv2 +Description: ARM Mali implementation of OpenGL ESv2 +Version: 2.0 +Requires: +Libs: -L${libdir} -lGLESv2 -lGLES_CM -lUMP +Cflags: -I${includedir}/GLES2 +
package/sunxi-mali/sunxi-mali.mk new file +82 -0
82 lines not on this page · raw message
Signature · 1 line
1.8.1.2
PATCH 2/4 sunxi-mali: new package
Dear Spenser Gilliland,
package/sunxi-mali/Config.in line 34
Quoted 2 lines · Spenser Gilliland
package/sunxi-mali/Config.in new file +2
-0+config BR2_PACKAGE_SUNXI_MALI_R2P4 + bool "r2p4"
This one is only available on EABI toolchains.
package/sunxi-mali/Config.in line 37
Quoted 3 lines
package/sunxi-mali/Config.in new file +3
-0+ +config BR2_PACKAGE_SUNXI_MALI_R3P0 + bool "r3p0"
and this one on EABIhf toolchains.
package/sunxi-mali/sunxi-mali.mk line 70
Quoted 3 lines
package/sunxi-mali/sunxi-mali.mk new file +3
-0+define SUNXI_MALI_INSTALL_TARGET_CMDS + $(SUNXI_MALI_MAKE_ENV) $(MAKE) -C $(@D)/lib \ + $(SUNXI_MALI_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
I've added here a chmod +x to ensure libraries are installed with execution permissions, so that they are properly stripped by Buildroot.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 3/4 opengl: add sunxi-mali as possible egl/gles provider
In reply to Spenser Gilliland--- package/opengl/libegl/libegl.mk | 4 ++++ package/opengl/libgles/libgles.mk | 4 ++++ 2 files changed, 8 insertions(+)
package/opengl/libegl/libegl.mk +4 -0
@@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_TI_GFX),y) LIBEGL_DEPENDENCIES += ti-gfx endif +ifeq ($(BR2_PACKAGE_SUNXI_MALI),y) +LIBEGL_DEPENDENCIES += sunxi-mali +endif + ifeq ($(LIBEGL_DEPENDENCIES),) define LIBEGL_CONFIGURE_CMDS echo "No libEGL implementation selected. Configuration error."
package/opengl/libgles/libgles.mk +4 -0
@@ -14,6 +14,10 @@ ifeq ($(BR2_PACKAGE_TI_GFX),y) LIBGLES_DEPENDENCIES += ti-gfx endif +ifeq ($(BR2_PACKAGE_SUNXI_MALI),y) +LIBGLES_DEPENDENCIES += sunxi-mali +endif + ifeq ($(LIBGLES_DEPENDENCIES),) define LIBGLES_CONFIGURE_CMDS echo "No libGLES implementation selected. Configuration error."
Signature · 1 line
1.8.1.2
PATCH 4/4 sunxi-cedar: add cedar hardware video decoding library
In reply to Spenser Gilliland--- package/Config.in | 1 + package/sunxi-cedar/Config.in | 10 ++++++++ package/sunxi-cedar/sunxi-cedar.mk | 49 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 package/sunxi-cedar/Config.in create mode 100644 package/sunxi-cedar/sunxi-cedar.mk
package/Config.in +1 -0
@@ -294,6 +294,7 @@ source "package/smartmontools/Config.in" source "package/snowball-hdmiservice/Config.in" source "package/sredird/Config.in" source "package/statserial/Config.in" +source "package/sunxi-cedar/Config.in" source "package/sunxi-mali/Config.in" source "package/sunxi-mali-prop/Config.in" source "package/sysstat/Config.in"
package/sunxi-cedar/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_SUNXI_CEDAR + bool "sunxi-cedar" + depends on BR2_TOOLCHAIN_USES_GLIBC && BR2_arm + help + Sunxi cedar decoder libraries + + http://github.com/linux-sunxi/cedarx-libs + +comment "sunxi-cedar requires an eglibc/glibc based toolchain" + depends on !(BR2_TOOLCHAIN_USES_GLIBC) && BR2_arm
package/sunxi-cedar/sunxi-cedar.mk new file +49 -0
49 lines not on this page · raw message
Signature · 1 line
1.8.1.2
PATCH 4/4 sunxi-cedar: add cedar hardware video decoding library
Dear Spenser Gilliland,
Quoted 9 lines · Spenser Gilliland
Signed-off-by Spenser Gilliland <[email protected]>--- package/Config.in | 1 + package/sunxi-cedar/Config.in | 10 ++++++++ package/sunxi-cedar/sunxi-cedar.mk | 49 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 package/sunxi-cedar/Config.in create mode 100644 package/sunxi-cedar/sunxi-cedar.mk
I've renamed this package to sunxi-cedarx and modified the installation steps to ensure libraries are installed with execution permissions.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 4/4 sunxi-cedar: add cedar hardware video decoding library
In reply to Spenser GillilandDear Spenser Gilliland,
package/sunxi-cedar/sunxi-cedar.mk line 16
Quoted 5 lines · Spenser Gilliland
package/sunxi-cedar/sunxi-cedar.mk new file +5
-0+ifeq ($(BR2_ARM_EABIHF),y) +SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armhf +else +SUNXI_CEDAR_BIN_DIR = $(@D)/libcedarv/linux-armel +endif
The package fails to build in the linux-armel case, because avheap.c doesn't exist in this case:
http://autobuild.buildroot.org/results/739/7395780dafedb6126dad7f9405609c2fe02104ec/build-end.log
Also for some reason, in another build it uses the host compiler instead of the cross compiler:
http://autobuild.buildroot.org/results/5b0/5b0e52f2fd59916e46572b0f34403972e77e8283/build-end.log
Could you have a look into these issues?
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
cover ARM Mali Graphics Drivers
In reply to Spenser GillilandDear Spenser Gilliland,
Quoted 5 lines · Spenser Gilliland
Spenser Gilliland (4):
a10disp: new package
sunxi-mali: new package
opengl: add sunxi-mali as possible egl/gles provider
sunxi-cedar: add cedar hardware video decoding library
Committed, thanks. I did a few fixes, which I detailed in a reply to each patch.
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com