rk3566: vulkan sorta'

This commit is contained in:
sydarn
2026-02-13 18:16:39 +01:00
parent 768f244d9b
commit da5a6591e8
4 changed files with 43 additions and 10 deletions

View File

@@ -48,6 +48,12 @@
# For maximum cross compatbility
PREFER_GLES="yes"
# VULKAN_SUPPORT
VULKAN_SUPPORT="yes"
# Vulkan implementation to use (vulkan-loader / no)
VULKAN="vulkan-loader"
# Displayserver to use (wl / no)
DISPLAYSERVER="wl"
@@ -69,7 +75,7 @@
FIRMWARE=""
# Additional packages to install
ADDITIONAL_PACKAGES="libmali"
ADDITIONAL_PACKAGES="libmali libmali-vulkan"
ADDITIONAL_PACKAGES_32BIT="libmali"
# Debug tty path

View File

@@ -2,23 +2,46 @@
# Copyright (C) 2024-present ROCKNIX (https://github.com/ROCKNIX)
PKG_NAME="libmali-vulkan"
PKG_VERSION="11759f18e195e89300bcfeb5ada0d977a7851151"
PKG_LICENSE="mali_driver"
PKG_ARCH="arm aarch64"
PKG_URL="https://github.com/r3claimer/packages/raw/${PKG_VERSION}/g610-vulkan-mali.tar.gz"
PKG_SOURCE_NAME="g610-vulkan-mali.tar.gz"
PKG_DEPENDS_TARGET="toolchain mesa vulkan-tools vulkan-headers libmali vulkan-wsi-layer"
PKG_TOOLCHAIN="manual"
PKG_LONGDESC="Vulkan Mali drivers for RK3588 soc"
case ${DEVICE} in
RK3588)
PKG_VERSION="11759f18e195e89300bcfeb5ada0d977a7851151"
PKG_SOURCE_NAME="g610-vulkan-mali.tar.gz"
FILENAME="libmali-valhall-g610-g6p0-wayland-gbm-vulkan.so"
# This is some weird default? I didn't want to change behavior of rk3588
APIVER="1.0.5"
PKG_URL="https://github.com/r3claimer/packages/raw/${PKG_VERSION}/g610-vulkan-mali.tar.gz"
;;
RK3566)
PKG_VERSION="rk3576"
PKG_SOURCE_NAME="g52-vulkan-mali.tar.gz"
FILENAME="libmali-vulkan-g52.so"
APIVER="1.2.207"
PKG_URL="https://github.com/sydarn/libmali/releases/download/${PKG_VERSION}/libmali.so.1.9.0.zip"
;;
esac
# Need a custom unpack() as --strip-components=1 in extract script strips everything
unpack() {
mkdir -p ${PKG_BUILD}
tar -xf ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} -C ${PKG_BUILD}
mkdir -p ${PKG_BUILD}
case ${DEVICE} in
RK3588)
tar -xf ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} -C ${PKG_BUILD}
;;
RK3566)
unzip -j ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} libmali.so.1.9.0 -d ${PKG_BUILD}
mv ${PKG_BUILD}/libmali.so.1.9.0 ${PKG_BUILD}/${FILENAME}
;;
esac
}
make_target() {
:
sed -i "s~@APIVER@~${APIVER}~g" ${PKG_BUILD}/mali.json
}
makeinstall_target() {
@@ -26,9 +49,9 @@ makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/vulkan/implicit_layer.d
mkdir -p ${INSTALL}/usr/share/vulkan/icd.d
cp -r ${PKG_BUILD}/libmali-valhall-g610-g6p0-wayland-gbm-vulkan.so ${INSTALL}/usr/lib/
cp ${PKG_BUILD}/${FILENAME} ${INSTALL}/usr/lib/
cp -r ${PKG_BUILD}/mali.json ${INSTALL}/usr/share/vulkan/icd.d
ln -sfv /usr/lib/libmali-valhall-g610-g6p0-wayland-gbm-vulkan.so ${INSTALL}/usr/lib/libMaliVulkan.so.1
ln -sfv /usr/lib/${FILENAME} ${INSTALL}/usr/lib/libMaliVulkan.so.1
ln -sfv /usr/lib/libMaliVulkan.so.1 ${INSTALL}/usr/lib/libMaliVulkan.so
}

View File

@@ -2,6 +2,6 @@
"file_format_version" : "1.0.0",
"ICD" : {
"library_path" : "/usr/lib/libMaliVulkan.so.1",
"api_version" : "1.0.5"
"api_version" : "@APIVER@"
}
}

View File

@@ -6,5 +6,9 @@
### Set the default device configuration
cat <<EOF >/storage/.config/profile.d/090-ui_service
UI_SERVICE="sway.service essway.service"
if [ "$(gpudriver)" = "libmali" ]; then
MALI_WAYLAND_AFBC=0
# libmali has no working Xorg
unset DISPLAY
fi
EOF