Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion projects/ROCKNIX/devices/RK3566/options
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
FIRMWARE=""

# Additional packages to install
ADDITIONAL_PACKAGES="libmali libmali-vulkan"
ADDITIONAL_PACKAGES="libmali"
ADDITIONAL_PACKAGES_32BIT="libmali"

# Debug tty path
Expand Down
2 changes: 1 addition & 1 deletion projects/ROCKNIX/devices/RK3576/options
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
FIRMWARE=""

# Additional packages to install
ADDITIONAL_PACKAGES="libmali libmali-vulkan inputplumber"
ADDITIONAL_PACKAGES="libmali inputplumber"
ADDITIONAL_PACKAGES_32BIT="libmali"

# Debug tty path
Expand Down
11 changes: 0 additions & 11 deletions projects/ROCKNIX/packages/graphics/libmali-vulkan/package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,6 @@ case ${DEVICE} in
APIVER="1.0.5"
PKG_URL="https://github.com/r3claimer/packages/raw/${PKG_VERSION}/g610-vulkan-mali.tar.gz"
;;
RK3566|RK3576)
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
Expand All @@ -33,10 +26,6 @@ case ${DEVICE} in
RK3588)
tar -xf ${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME} -C ${PKG_BUILD}
;;
RK3566|RK3576)
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
}

Expand Down
42 changes: 33 additions & 9 deletions projects/ROCKNIX/packages/graphics/libmali/package.mk
Original file line number Diff line number Diff line change
Expand Up @@ -25,37 +25,58 @@ case "${DEVICE}" in
RK3588)
DRIVER_VERSION="g13p0"
;;
*) # RK3326 and RK3566
RK3326) # RK3326 and RK3566
DRIVER_VERSION="g24p0"
;;
esac

case "${DISPLAYSERVER}" in
wl)
PLATFORM="wayland-gbm"
PLATFORM="-wayland-gbm"
PKG_DEPENDS_TARGET+=" wayland"
;;
x11)
PLATFORM="x11-gbm"
PLATFORM="-x11-gbm"
;;
*)
PLATFORM="gbm"
PLATFORM="-gbm"
;;
esac

# new repo base from jeffycn mirror
case "${DEVICE}" in
RK3566|RK3576)
PKG_SITE="https://github.com/JeffyCN/mirrors"
PKG_VERSION="1a082323f1001874a007e4e522029d6c46d75ae9"
# zip format makes extract very fast (<1s). tgz takes 20 seconds to scan the whole file
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.zip"
PKG_DEPENDS_TARGET+=" mesa vulkan-tools vulkan-headers vulkan-wsi-layer"
DRIVER_VERSION="g29p1"
PLATFORM=""
ZIPDIRNAME="mirrors"
PKG_PATCH_DIRS+=" next"
OPTS=" -Dwrappers=true "
;;
*)
OPTS=" -Dwrappers=enabled "
ZIPDIRNAME="libmali"
;;
esac


PKG_MESON_OPTS_TARGET+=" -Darch=${ARCH} -Dgpu=${MALI_FAMILY} -Dversion=${DRIVER_VERSION} -Dplatform=${PLATFORM} \
-Dkhr-header=false -Dvendor-package=true -Dwrappers=enabled -Dhooks=true"
-Dkhr-header=false -Dvendor-package=true -Dhooks=true ${OPTS}"


unpack() {
mkdir -p "${PKG_BUILD}"
cd "${PKG_BUILD}"
pwd
# Extract only what is needed
LIBNAME="libmali-${MALI_FAMILY}-${DRIVER_VERSION}-${PLATFORM}.so"
LIBNAME="libmali-${MALI_FAMILY}-${DRIVER_VERSION}${PLATFORM}.so"
unzip -q "${SOURCES}/${PKG_NAME}/${PKG_SOURCE_NAME}" "*/hook/*" "*/include/*" "*/scripts/*" "*/meson*" "*/data/*" "*/${LIBNAME}"
mv libmali*/* .
rmdir libmali-*
mv ${ZIPDIRNAME}*/* .
rmdir ${ZIPDIRNAME}-*
if [ "${MALI_FAMILY}" = "meson" ]; then
mv data/vulkan/mali_meson.json.in data/vulkan/mali.json.in
fi
Expand All @@ -77,7 +98,10 @@ post_makeinstall_target() {
curl -Lo ${INSTALL}/usr/lib/libmali-${MALI_FAMILY}-${DRIVER_VERSION}-x11-gbm.so ${PKG_SITE}/raw/master/lib/aarch64-linux-gnu/libmali-${MALI_FAMILY}-${DRIVER_VERSION}-x11-gbm.so
fi
# S922X - mali vulkan libs need moving
if [ "${DEVICE}" = "S922X" ] && [ "${ARCH}" = "aarch64" ]; then
if [[ "${DEVICE}" =~ S922X|RK3566|RK3576 ]] && [ "${ARCH}" = "aarch64" ]; then
mv "${INSTALL}"/usr/lib/mali/libMaliVulkan.* "${INSTALL}"/usr/lib/
fi
if [[ "${DEVICE}" =~ RK3566|RK3576 ]] && [ "${ARCH}" = "arm" ]; then
mv "${INSTALL}"/usr/lib32/mali/libMaliVulkan.* "${INSTALL}"/usr/lib32/
fi
}
111 changes: 111 additions & 0 deletions projects/ROCKNIX/packages/graphics/libmali/patches/next/next.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
diff --git a/data/vulkan/VkLayer_window_system_integration.json.in b/data/vulkan/VkLayer_window_system_integration.json.in
deleted file mode 100755
index a89127960595..000000000000
--- a/data/vulkan/VkLayer_window_system_integration.json.in
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "file_format_version": "1.1.2",
- "layer": {
- "name": "VK_LAYER_window_system_integration",
- "type": "GLOBAL",
- "library_path": "@LIB@",
- "api_version": "1.4.299",
- "implementation_version": "1",
- "description": "Window system integration layer",
- "functions": {
- "vkNegotiateLoaderLayerInterfaceVersion": "wsi_layer_vkNegotiateLoaderLayerInterfaceVersion"
- },
- "instance_extensions": [
- {"name" : "VK_KHR_wayland_surface", "spec_version" : "6"},
- {"name" : "VK_KHR_xcb_surface", "spec_version" : "6"},
- {"name" : "VK_KHR_xlib_surface", "spec_version" : "6"},
- {"name" : "VK_KHR_surface", "spec_version" : "25"},
- {"name" : "VK_KHR_get_surface_capabilities2", "spec_version" : "1"},
- {"name" : "VK_EXT_surface_maintenance1", "spec_version" : "1"}
- ],
- "device_extensions": [
- {"name": "VK_EXT_image_compression_control_swapchain", "spec_version": "1"},
- {
- "name": "VK_KHR_swapchain",
- "spec_version": "70",
- "entrypoints": [
- "vkAcquireNextImageKHR",
- "vkCreateSwapchainKHR",
- "vkDestroySwapchainKHR",
- "vkGetSwapchainImagesKHR",
- "vkQueuePresentKHR",
- "vkAcquireNextImage2KHR",
- "vkGetDeviceGroupPresentCapabilitiesKHR",
- "vkGetDeviceGroupSurfacePresentModesKHR",
- "vkGetPhysicalDevicePresentRectanglesKHR"
- ]
- },
- {"name": "VK_KHR_present_id", "spec_version": "1"},
- {
- "name": "VK_EXT_swapchain_maintenance1",
- "spec_version": "1",
- "entrypoints": [
- "vkReleaseSwapchainImagesEXT"
- ]
- },
- {
- "name": "VK_KHR_present_wait",
- "spec_version": "1",
- "entrypoints": [
- "vkWaitForPresentKHR"
- ]
- },
- {
- "name": "VK_EXT_present_mode_fifo_latest_ready",
- "spec_version": "1"
- }
- ],
- "disable_environment": {
- "DISABLE_WSI_LAYER": "1"
- }
- }
-}
diff --git a/data/vulkan/mali.json.in b/data/vulkan/mali.json.in
index 11e8941bc9c8..ca4d984e9177 100644
--- a/data/vulkan/mali.json.in
+++ b/data/vulkan/mali.json.in
@@ -1,7 +1,7 @@
{
"file_format_version" : "1.0.0",
"ICD" : {
- "library_path" : "@LIB@",
+ "library_path" : "/usr/lib/libMaliVulkan.so.1",
"api_version" : "1.3.276"
}
}
diff --git a/meson.build b/meson.build
index 451e48528c09..83ea2084fa88 100644
--- a/meson.build
+++ b/meson.build
@@ -252,25 +252,6 @@ foreach name, values : map
install : true)
endif

- if is_vulkan_icd
- # Install Vulkan WSI config
- custom_target(
- 'Vulkan manifest layer file',
- input : 'data/vulkan/VkLayer_window_system_integration.json.in',
- output : 'VkLayer_window_system_integration.json',
- command : ['sed', 's/@LIB@/libVkLayer_window_system_integration.so/', '@INPUT@'],
- capture : true,
- install_dir : get_option('datadir') / 'vulkan' / 'implicit_layer.d',
- install : true)
-
- # Install Vulkan WSI library
- lib_source = join_paths('data/vulkan/lib', arch, 'libVkLayer_window_system_integration.so')
- install_data(
- lib_source,
- install_dir: get_option('libdir')
- )
- endif
-
# No {headers, pkgconfig} for OpenCL ICD and vendor packages
if is_opencl_icd or vendor_package
continue
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ 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
MALI_DEFAULT_DISPLAY=wayland
fi
EOF
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ 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
MALI_DEFAULT_DISPLAY=wayland
fi
EOF
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ export OS_VERSION \
WLR_BACKENDS \
WLR_CON \
MALI_WAYLAND_AFBC \
MALI_DEFAULT_DISPLAY \
ALSA_PRIMARY_CARD \
SDL_VIDEO_DISPLAY_PRIORITY \
TU_DEBUG \
Expand Down
Loading