package/sunxi-mali-utgard: rename from sunxi-mali-mainline

This package provides Mali libraries for Sunxi Mali Utgard GPUs. The
trailing -mainline is historical and was used at a time when there was
two packages providing these libraries. The "non-upstream" package has
been removed some time ago so before adding new packages bringing
support for other ARM Mali GPU versions or implementations, rename
sunxi-mali-mainline into sunxi-mali-utgard.

Add a legacy entry.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Giulio: rebase on master. Rename SUNXI_MALI_MAINLINE_REV to
SUNXI_MALI_UTGARD_REV in sunxi-mali-mailine-driver.mk and
BR2_PACKAGE_SUNXI_MALI_MAINLINE to BR2_PACKAGE_SUNXI_UTGARD in
sunxi-mali-mainline-driver/Config.in to respect bisectability]
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
[Build tested only]
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
[Arnout: also update existing select in Config.in.legacy]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Miquel Raynal 2021-11-05 23:17:56 +01:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent d164df0aef
commit 6a7a652b14
18 changed files with 140 additions and 109 deletions

View File

@ -146,6 +146,36 @@ endif
comment "Legacy options removed in 2022.02"
config BR2_PACKAGE_SUNXI_MALI_MAINLINE
bool "sunxi-mali-mainline package was renamed"
select BR2_LEGACY
select BR2_PACKAGE_SUNXI_MALI_UTGARD
help
Since the removal of the sunxi-mali package, the
sunxi-mali-mainline package that coexisted became the only
package to provide Mali blobs. The "-mainline" suffix being
undescriptive nowadays and before adding new packages bringing
Mali support for other SoCs/GPU flavors, it is clearer to
rename it SUNXI_MALI_UTGARD.
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
bool "sunxi-mali-mainline-r6p2 was renamed"
select BR2_LEGACY
select BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2
help
The sunxi-mali-mainline package has been renamed
sunxi-mali-utgard, the suboptions of this package have also
been renamed accordingly.
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1
bool "sunxi-mali-mainline-r8p1 was renamed"
select BR2_LEGACY
select BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1
help
The sunxi-mali-mainline package has been renamed
sunxi-mali-utgard, the suboptions of this package have also
been renamed accordingly.
config BR2_PACKAGE_QT5WEBKIT_EXAMPLES
bool "qt5webkit-examples removed"
select BR2_LEGACY
@ -1451,7 +1481,7 @@ config BR2_PACKAGE_LIBUMP
config BR2_PACKAGE_SUNXI_MALI
bool "sunxi-mali package removed"
select BR2_LEGACY
select BR2_PACKAGE_SUNXI_MALI_MAINLINE
select BR2_PACKAGE_SUNXI_MALI_UTGARD
help
The sunxi-mali package was removed, as the
sunxi-mali-mainline package replaces it for mainline

View File

@ -1082,8 +1082,8 @@ F: package/libnss/
F: package/minicom/
F: package/nfs-utils/
F: package/python-uvloop/
F: package/sunxi-mali-mainline/
F: package/sunxi-mali-mainline-driver/
F: package/sunxi-mali-utgard/
F: package/trace-cmd/
F: package/udisks/
F: toolchain/

View File

@ -8,7 +8,7 @@ BR2_ARM_FPU_NEON_VFPV4=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y
# Toolchain
# glibc is needed for sunxi-mali-mainline-package.
# glibc is needed for sunxi-mali-utgard package.
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
# System configuration
@ -32,7 +32,7 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y
# sunxi packages
BR2_PACKAGE_SUNXI_TOOLS=y
BR2_PACKAGE_SUNXI_MALI_MAINLINE=y
BR2_PACKAGE_SUNXI_MALI_UTGARD=y
BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER=y
# Filesystem

View File

@ -8,7 +8,7 @@ BR2_ARM_FPU_NEON_VFPV4=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_14=y
# Toolchain
# glibc is needed for sunxi-mali-mainline-package.
# glibc is needed for sunxi-mali-utgard package.
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
# System configuration
@ -32,7 +32,7 @@ BR2_LINUX_KERNEL_INSTALL_TARGET=y
# sunxi packages
BR2_PACKAGE_SUNXI_TOOLS=y
BR2_PACKAGE_SUNXI_MALI_MAINLINE=y
BR2_PACKAGE_SUNXI_MALI_UTGARD=y
BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER=y
# Filesystem

View File

@ -13,7 +13,7 @@ the provider used in the rootfs.
For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems.
The implementation of this API is different for the 'Allwinner Tech Sunxi' and
the 'Texas Instruments OMAP35xx' platforms. So +libgles+ will be a virtual
package and +sunxi-mali+ and +ti-gfx+ will be the providers.
package and +sunxi-mali-utgard+ and +ti-gfx+ will be the providers.
==== +virtual-package+ tutorial

View File

@ -571,8 +571,8 @@ endmenu
source "package/statserial/Config.in"
source "package/stm32flash/Config.in"
source "package/sunxi-cedarx/Config.in"
source "package/sunxi-mali-mainline/Config.in"
source "package/sunxi-mali-mainline-driver/Config.in"
source "package/sunxi-mali-utgard/Config.in"
source "package/sysstat/Config.in"
source "package/targetcli-fb/Config.in"
source "package/ti-gfx/Config.in"

View File

@ -55,7 +55,7 @@ config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS
choice
prompt "Native windowing system"
default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI if BR2_PACKAGE_SUNXI_MALI_MAINLINE
default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI if BR2_PACKAGE_SUNXI_MALI_UTGARD
default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI_T76X if BR2_PACKAGE_MALI_T76X
default BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI if BR2_PACKAGE_RPI_USERLAND
default BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2 if BR2_PACKAGE_SDL2_OPENGLES
@ -73,7 +73,7 @@ config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS
config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI
bool "Allwinner ARM/Mali Frame Buffer"
depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE
depends on BR2_PACKAGE_SUNXI_MALI_UTGARD
config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI_T76X
bool "ARM/Mali T76x Frame Buffer"

View File

@ -42,7 +42,7 @@ ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y)
GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm
GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms
else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y)
GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-mainline
GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-utgard
GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=mali
else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI_T76X),y)
GLSLSANDBOX_PLAYER_DEPENDENCIES += mali-t76x

View File

@ -271,7 +271,7 @@ endif
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y)
# use vivante backend
QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_viv
else ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE),y)
else ifeq ($(BR2_PACKAGE_SUNXI_MALI_UTGARD),y)
# use mali backend
QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_mali
endif

View File

@ -1,11 +1,11 @@
comment "sunxi-mali-mainline-driver needs a Linux kernel to be built"
depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE
depends on BR2_PACKAGE_SUNXI_MALI_UTGARD
depends on !BR2_LINUX_KERNEL
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER
bool "sunxi-mali-mainline-driver"
default y
depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE # runtime
depends on BR2_PACKAGE_SUNXI_MALI_UTGARD # runtime
depends on BR2_LINUX_KERNEL
select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
help

View File

@ -15,7 +15,7 @@ SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS = \
KDIR=$(LINUX_DIR)
define SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES
ln -sf $(SUNXI_MALI_MAINLINE_REV)/series $(@D)/patches
ln -sf $(SUNXI_MALI_UTGARD_REV)/series $(@D)/patches
$(SED) 's|quilt push -a|$(TOPDIR)/support/scripts/apply-patches.sh . ../patches|' \
$(@D)/build.sh
endef
@ -24,12 +24,12 @@ SUNXI_MALI_MAINLINE_DRIVER_POST_PATCH_HOOKS += SUNXI_MALI_MAINLINE_DRIVER_USE_AP
define SUNXI_MALI_MAINLINE_DRIVER_BUILD_CMDS
cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \
$(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -b
$(SHELL) ./build.sh -r $(SUNXI_MALI_UTGARD_REV) -j $(PARALLEL_JOBS) -b
endef
define SUNXI_MALI_MAINLINE_DRIVER_INSTALL_TARGET_CMDS
cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \
$(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -i
$(SHELL) ./build.sh -r $(SUNXI_MALI_UTGARD_REV) -j $(PARALLEL_JOBS) -i
endef
define SUNXI_MALI_MAINLINE_DRIVER_LINUX_CONFIG_FIXUPS

View File

@ -1,42 +0,0 @@
config BR2_PACKAGE_SUNXI_MALI_MAINLINE
bool "sunxi-mali-mainline"
depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm)
depends on BR2_TOOLCHAIN_USES_GLIBC
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
help
Install userspace Allwinner OpenGL libraries.
https://github.com/bootlin/mali-blobs
if BR2_PACKAGE_SUNXI_MALI_MAINLINE
config BR2_PACKAGE_PROVIDES_LIBEGL
default "sunxi-mali-mainline"
config BR2_PACKAGE_PROVIDES_LIBGLES
default "sunxi-mali-mainline"
choice
prompt "Version"
default BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
help
Select the version of the userspace module.
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
bool "r6p2"
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1
bool "r8p1"
endchoice
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION
string
default "r6p2" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
default "r8p1" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1
endif
comment "sunxi-mali needs an EABIhf glibc toolchain"
depends on BR2_arm
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF

View File

@ -1,49 +0,0 @@
################################################################################
#
# sunxi-mali-mainline
#
################################################################################
SUNXI_MALI_MAINLINE_VERSION = 418f55585e76f375792dbebb3e97532f0c1c556d
SUNXI_MALI_MAINLINE_SITE = $(call github,bootlin,mali-blobs,$(SUNXI_MALI_MAINLINE_VERSION))
SUNXI_MALI_MAINLINE_INSTALL_STAGING = YES
SUNXI_MALI_MAINLINE_PROVIDES = libegl libgles
SUNXI_MALI_MAINLINE_LICENSE = Allwinner End User Licence Agreement
SUNXI_MALI_MAINLINE_EULA_ORIGINAL = EULA\ for\ Mali\ 400MP\ _AW.pdf
SUNXI_MALI_MAINLINE_EULA_NO_SPACES = EULA_for_Mali_400MP_AW.pdf
SUNXI_MALI_MAINLINE_LICENSE_FILES = $(SUNXI_MALI_MAINLINE_EULA_NO_SPACES)
SUNXI_MALI_MAINLINE_REV = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION))
ifeq ($(BR2_arm),y)
SUNXI_MALI_MAINLINE_ARCH=arm
else ifeq ($(BR2_aarch64),y)
SUNXI_MALI_MAINLINE_ARCH=arm64
endif
define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS
mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include
cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \
$(STAGING_DIR)/usr/lib/
cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/
$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
endef
define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/lib
cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \
$(TARGET_DIR)/usr/lib/
endef
define SUNXI_MALI_MAINLINE_FIXUP_LICENSE_FILE
mv $(@D)/$(SUNXI_MALI_MAINLINE_EULA_ORIGINAL) $(@D)/$(SUNXI_MALI_MAINLINE_EULA_NO_SPACES)
endef
SUNXI_MALI_MAINLINE_POST_PATCH_HOOKS += SUNXI_MALI_MAINLINE_FIXUP_LICENSE_FILE
$(eval $(generic-package))

View File

@ -0,0 +1,43 @@
config BR2_PACKAGE_SUNXI_MALI_UTGARD
bool "sunxi-mali-utgard"
depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm)
depends on BR2_TOOLCHAIN_USES_GLIBC
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
help
Install userspace Allwinner OpenGL libraries for Mali
Utgard GPUs.
https://github.com/bootlin/mali-blobs
if BR2_PACKAGE_SUNXI_MALI_UTGARD
config BR2_PACKAGE_PROVIDES_LIBEGL
default "sunxi-mali-utgard"
config BR2_PACKAGE_PROVIDES_LIBGLES
default "sunxi-mali-utgard"
choice
prompt "Version"
default BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2
help
Select the version of the userspace module.
config BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2
bool "r6p2"
config BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1
bool "r8p1"
endchoice
config BR2_PACKAGE_SUNXI_MALI_UTGARD_REVISION
string
default "r6p2" if BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2
default "r8p1" if BR2_PACKAGE_SUNXI_MALI_UTGARD_R8P1
endif
comment "sunxi-mali-utgard needs an EABIhf glibc toolchain"
depends on BR2_arm
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 b5e7e8f9f2886ed0b273f72ea16ae4868711726fe33e3d80ef24e86269c90fd2 sunxi-mali-mainline-418f55585e76f375792dbebb3e97532f0c1c556d.tar.gz
sha256 b5e7e8f9f2886ed0b273f72ea16ae4868711726fe33e3d80ef24e86269c90fd2 sunxi-mali-utgard-418f55585e76f375792dbebb3e97532f0c1c556d.tar.gz
sha256 8a06bcae44a41a886f339b4338422415a786787f113e9ed6456ae117104a0b6a EULA_for_Mali_400MP_AW.pdf

View File

@ -0,0 +1,49 @@
################################################################################
#
# sunxi-mali-utgard
#
################################################################################
SUNXI_MALI_UTGARD_VERSION = 418f55585e76f375792dbebb3e97532f0c1c556d
SUNXI_MALI_UTGARD_SITE = $(call github,bootlin,mali-blobs,$(SUNXI_MALI_UTGARD_VERSION))
SUNXI_MALI_UTGARD_INSTALL_STAGING = YES
SUNXI_MALI_UTGARD_PROVIDES = libegl libgles
SUNXI_MALI_UTGARD_LICENSE = Allwinner End User Licence Agreement
SUNXI_MALI_UTGARD_EULA_ORIGINAL = EULA\ for\ Mali\ 400MP\ _AW.pdf
SUNXI_MALI_UTGARD_EULA_NO_SPACES = EULA_for_Mali_400MP_AW.pdf
SUNXI_MALI_UTGARD_LICENSE_FILES = $(SUNXI_MALI_UTGARD_EULA_NO_SPACES)
SUNXI_MALI_UTGARD_REV = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_UTGARD_REVISION))
ifeq ($(BR2_arm),y)
SUNXI_MALI_UTGARD_ARCH=arm
else ifeq ($(BR2_aarch64),y)
SUNXI_MALI_UTGARD_ARCH=arm64
endif
define SUNXI_MALI_UTGARD_INSTALL_STAGING_CMDS
mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include
cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/fbdev/*.so* \
$(STAGING_DIR)/usr/lib/
cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/
$(INSTALL) -D -m 0644 package/sunxi-mali-utgard/egl.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
$(INSTALL) -D -m 0644 package/sunxi-mali-utgard/glesv2.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
endef
define SUNXI_MALI_UTGARD_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/lib
cp -rf $(@D)/$(SUNXI_MALI_UTGARD_REV)/$(SUNXI_MALI_UTGARD_ARCH)/fbdev/*.so* \
$(TARGET_DIR)/usr/lib/
endef
define SUNXI_MALI_UTGARD_FIXUP_LICENSE_FILE
mv $(@D)/$(SUNXI_MALI_UTGARD_EULA_ORIGINAL) $(@D)/$(SUNXI_MALI_UTGARD_EULA_NO_SPACES)
endef
SUNXI_MALI_UTGARD_POST_PATCH_HOOKS += SUNXI_MALI_UTGARD_FIXUP_LICENSE_FILE
$(eval $(generic-package))