summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc18
-rw-r--r--meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend8
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb8
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend7
-rw-r--r--meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend7
-rw-r--r--meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb1
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc4
-rw-r--r--meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass6
-rw-r--r--meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass10
-rw-r--r--meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc22
-rw-r--r--meta-xilinx-mali400/conf/layer.conf34
-rw-r--r--meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend (renamed from meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch110
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch31
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend41
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend7
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch34
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch31
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch20
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch32
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend21
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend1
-rw-r--r--meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend8
-rw-r--r--meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend (renamed from meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch31
-rw-r--r--meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch33
-rw-r--r--meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch104
-rw-r--r--meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend14
-rw-r--r--meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend6
-rw-r--r--meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend6
-rw-r--r--meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libgles/files/egl.pc (renamed from meta-xilinx-core/recipes-graphics/libgles/files/egl.pc)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libgles/files/gbm.pc (renamed from meta-xilinx-core/recipes-graphics/libgles/files/gbm.pc)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1.pc (renamed from meta-xilinx-core/recipes-graphics/libgles/files/glesv1.pc)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1_cm.pc (renamed from meta-xilinx-core/recipes-graphics/libgles/files/glesv1_cm.pc)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libgles/files/glesv2.pc (renamed from meta-xilinx-core/recipes-graphics/libgles/files/glesv2.pc)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb (renamed from meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libglu/libglu_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/libglu/libglu_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb (renamed from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch (renamed from meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch (renamed from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch (renamed from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch (renamed from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/mesa/mesa-demos_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mesa/mesa-gl_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/mesa/mesa-gl_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/mesa/mesa_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend6
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch (renamed from meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch (renamed from meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/files/init (renamed from meta-xilinx-core/recipes-graphics/wayland/files/init)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/files/weston.service (renamed from meta-xilinx-core/recipes-graphics/wayland/files/weston.service)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston-init.bbappend (renamed from meta-xilinx-core/recipes-graphics/wayland/weston-init.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston.inc (renamed from meta-xilinx-core/recipes-graphics/wayland/weston.inc)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/systemd-notify.weston-start (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/systemd-notify.weston-start)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.desktop (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/weston.desktop)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.png (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/weston.png)bin2383 -> 2383 bytes
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston/xwayland.weston-start (renamed from meta-xilinx-core/recipes-graphics/wayland/weston/xwayland.weston-start)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston_13.%.bbappend (renamed from meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bb (renamed from meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bb)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bbappend (renamed from meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend6
-rw-r--r--meta-xilinx-mali400/recipes-graphics/xwayland/xwayland_%.bbappend (renamed from meta-xilinx-core/recipes-graphics/xwayland/xwayland_%.bbappend)0
-rw-r--r--meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend3
-rw-r--r--meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules (renamed from meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules)0
-rw-r--r--meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc3
-rw-r--r--meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend1
99 files changed, 621 insertions, 53 deletions
diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc
index 1837da26..904b4861 100644
--- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc
+++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc
@@ -34,24 +34,6 @@ UBOOT_SUFFIX ?= "bin"
34UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" 34UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
35UBOOT_ELF ?= "u-boot.elf" 35UBOOT_ELF ?= "u-boot.elf"
36 36
37# libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400
38# lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400
39# default mesa because otherwise
40def xlnx_is_libmali_enabled(d):
41 if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1':
42 if bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '', d) == '1':
43 return True
44 return False
45
46# libmali requires certain preferred providers to be selected
47PREFERRED_PROVIDER_virtual/egl ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
48PREFERRED_PROVIDER_virtual/libgl ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}"
49PREFERRED_PROVIDER_virtual/libgles1 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
50PREFERRED_PROVIDER_virtual/libgles2 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
51PREFERRED_PROVIDER_virtual/libgles3 ?= "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}"
52PREFERRED_PROVIDER_virtual/libgbm ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
53PREFERRED_PROVIDER_virtual/mesa ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}"
54
55XSERVER ?= " \ 37XSERVER ?= " \
56 xserver-xorg \ 38 xserver-xorg \
57 xf86-input-evdev \ 39 xf86-input-evdev \
diff --git a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
index 81aa8e9e..0c305c78 100644
--- a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
+++ b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
@@ -9,11 +9,3 @@ SRC_URI:append = " \
9PACKAGECONFIG[fbdev-glesv2] = ",,virtual/libgles2 virtual/egl" 9PACKAGECONFIG[fbdev-glesv2] = ",,virtual/libgles2 virtual/egl"
10 10
11EXTRA_OECONF:append = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', ' --with-flavors=fbdev-glesv2', '', d)}" 11EXTRA_OECONF:append = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', ' --with-flavors=fbdev-glesv2', '', d)}"
12
13# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
14DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
15MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
16MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
17PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
18PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
19
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb
index 50d9922f..4679174b 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb
@@ -4,14 +4,6 @@ require qemu-8.1.inc
4require qemu-xilinx-8.1.inc 4require qemu-xilinx-8.1.inc
5require qemu-alt.inc 5require qemu-alt.inc
6 6
7# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
8DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
9MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
10MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
11PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
12PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
13
14
15DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" 7DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native"
16 8
17DEPENDS:append:libc-musl = " libucontext" 9DEPENDS:append:libc-musl = " libucontext"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend
index 04c89b83..9140060e 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend
@@ -1,8 +1 @@
1require qemu-alt.inc require qemu-alt.inc
2
3# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
4DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
5MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
6MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
7PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
8PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index 3306f1c4..fe24534f 100644
--- a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1,10 +1,3 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
7
8FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
9 2
10SRC_URI += " \ 3SRC_URI += " \
diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
index a09ae9ed..a2fc6765 100644
--- a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
+++ b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
5 5
6SRC_URI = "\ 6SRC_URI = "\
7 file://99-aie-device.rules \ 7 file://99-aie-device.rules \
8 file://99-mali-device.rules \
9" 8"
10 9
11S = "${UNPACKDIR}" 10S = "${UNPACKDIR}"
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc
index 63052933..27d79964 100644
--- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc
@@ -61,7 +61,3 @@ KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc'
61KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc" 61KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc"
62 62
63KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}" 63KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}"
64
65# Enable DRM_LIMA support if DISTRO_FEATURES != 'libmali' and MACHINE_FEATURES mali400 is enabled
66MALI_FEATURE = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '', 'features/drm-lima/drm-lima.scc', d)}"
67KERNEL_FEATURES:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' ${MALI_FEATURE}', '', d)}"
diff --git a/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass b/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass
new file mode 100644
index 00000000..26d54f59
--- /dev/null
+++ b/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass
@@ -0,0 +1,6 @@
1# We need to load the meta-xilinx-mali400 config components, only if "libmali"
2# is in the distro features. Since we don't know the distro flags during
3# layer.conf load time, we delay using a special bbclass that simply includes
4# the META_XILINX_MALI400_CONFIG_PATH file.
5
6include ${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '${META_XILINX_MALI400_CONFIG_PATH}', '', d)}
diff --git a/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass b/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass
new file mode 100644
index 00000000..25353fd6
--- /dev/null
+++ b/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass
@@ -0,0 +1,10 @@
1addhandler mali400_bbappend_distrocheck
2mali400_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck"
3python mali400_bbappend_distrocheck() {
4 skip_check = e.data.getVar('SKIP_META_XILINX_MALI400_SANITY_CHECK') == "1"
5 if 'libmali' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check:
6 bb.warn("You have included the meta-xilinx-mali400 layer, but \
7'libmali' has not been enabled in your DISTRO_FEATURES. Some bbappend files \
8may not take effect. See the meta-xilinx-mali400 README for details on enabling \
9libmali - mali400 support.")
10}
diff --git a/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc b/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc
new file mode 100644
index 00000000..9975eff4
--- /dev/null
+++ b/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc
@@ -0,0 +1,22 @@
1SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
2 *->qtbase \
3 *->qtmultimedia \
4"
5
6# libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400
7# lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400
8# default mesa because otherwise
9def xlnx_is_libmali_enabled(d):
10 if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1':
11 if bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '', d) == '1':
12 return True
13 return False
14
15# libmali requires certain preferred providers to be selected
16PREFERRED_PROVIDER_virtual/egl = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
17PREFERRED_PROVIDER_virtual/libgl = "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}"
18PREFERRED_PROVIDER_virtual/libgles1 = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
19PREFERRED_PROVIDER_virtual/libgles2 = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
20PREFERRED_PROVIDER_virtual/libgles3 = "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}"
21PREFERRED_PROVIDER_virtual/libgbm = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}"
22PREFERRED_PROVIDER_virtual/mesa = "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}"
diff --git a/meta-xilinx-mali400/conf/layer.conf b/meta-xilinx-mali400/conf/layer.conf
new file mode 100644
index 00000000..7bc75aa8
--- /dev/null
+++ b/meta-xilinx-mali400/conf/layer.conf
@@ -0,0 +1,34 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH .= ":${LAYERDIR}"
3
4# We have a packages directory, add to BBFILES
5BBFILES += " \
6 ${LAYERDIR}/recipes-*/*/*.bb \
7 ${LAYERDIR}/recipes-*/*/*.bbappend \
8 "
9
10BBFILES_DYNAMIC += " \
11 openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bb \
12 openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bbappend \
13 qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/recipes-*/*/*.bb \
14 qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/recipes-*/*/*.bbappend \
15 xilinx-multimedia:${LAYERDIR}/dynamic-layers/xilinx-multimedia/recipes-*/*/*.bb \
16 xilinx-multimedia:${LAYERDIR}/dynamic-layers/xilinx-multimedia/recipes-*/*/*.bbappend \
17"
18
19BBFILE_COLLECTIONS += "xilinx-mali400"
20BBFILE_PATTERN_xilinx-mali400 = "^${LAYERDIR}/"
21BBFILE_PRIORITY_xilinx-mali400 = "5"
22
23LAYERDEPENDS_xilinx-mali400 = " \
24 core \
25 xilinx \
26 "
27
28LAYERSERIES_COMPAT_xilinx-mali400 = "scarthgap"
29
30INHERIT += "sanity-meta-xilinx-mali400"
31
32META_XILINX_MALI400_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-xilinx-mali400-default-versions.inc"
33
34USER_CLASSES:append = " meta-xilinx-mali400-cfg"
diff --git a/meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend b/meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
index 03823f6e..03823f6e 100644
--- a/meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend
+++ b/meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch
new file mode 100644
index 00000000..363edd4d
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch
@@ -0,0 +1,110 @@
1From f791102afb7c65601042b697a9d85c4f4fce5dab Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Tue, 19 Nov 2019 13:45:58 -0800
4Subject: [PATCH] egl_kms: Modify the default color format to RGB565
5
6DP supports RGB565 hence modify the default color format to RGB565.
7
8Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
9Upstream-Status: Inappropriate [Xilinx specific]
10
11---
12 .../kmsconvenience/qkmsdevice.cpp | 4 ++--
13 .../eglfs_kms/qeglfskmsgbmcursor.cpp | 6 +++---
14 .../eglfs_kms/qeglfskmsgbmintegration.cpp | 2 +-
15 .../eglfs_kms_support/qeglfskmsintegration.cpp | 16 +++++++++++++---
16 4 files changed, 19 insertions(+), 9 deletions(-)
17
18diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
19index 8cd7f9b368..657b3d553e 100644
20--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp
21+++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
22@@ -369,7 +369,7 @@ QPlatformScreen *QKmsDevice::createScreenForConnector(drmModeResPtr resources,
23 uint32_t drmFormat;
24 bool drmFormatExplicit = true;
25 if (formatStr.isEmpty()) {
26- drmFormat = DRM_FORMAT_XRGB8888;
27+ drmFormat = DRM_FORMAT_RGB565;
28 drmFormatExplicit = false;
29 } else if (formatStr == "xrgb8888") {
30 drmFormat = DRM_FORMAT_XRGB8888;
31@@ -393,7 +393,7 @@ QPlatformScreen *QKmsDevice::createScreenForConnector(drmModeResPtr resources,
32 drmFormat = DRM_FORMAT_ABGR2101010;
33 } else {
34 qWarning("Invalid pixel format \"%s\" for output %s", formatStr.constData(), connectorName.constData());
35- drmFormat = DRM_FORMAT_XRGB8888;
36+ drmFormat = DRM_FORMAT_RGB565;
37 drmFormatExplicit = false;
38 }
39 qCDebug(qLcKmsDebug) << "Format is" << Qt::hex << drmFormat << Qt::dec << "requested_by_user =" << drmFormatExplicit
40diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
41index 612eec4ce0..39073a42c2 100644
42--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
43+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
44@@ -87,7 +87,7 @@ QEglFSKmsGbmCursor::QEglFSKmsGbmCursor(QEglFSKmsGbmScreen *screen)
45 }
46
47 m_bo = gbm_bo_create(static_cast<QEglFSKmsGbmDevice *>(m_screen->device())->gbmDevice(), m_cursorSize.width(), m_cursorSize.height(),
48- GBM_FORMAT_ARGB8888, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE);
49+ DRM_FORMAT_RGB565, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE);
50 if (!m_bo) {
51 qWarning("Could not create buffer for cursor!");
52 } else {
53@@ -197,7 +197,7 @@ void QEglFSKmsGbmCursor::changeCursor(QCursor *windowCursor, QWindow *window)
54 if (m_cursorImage.image()->width() > m_cursorSize.width() || m_cursorImage.image()->height() > m_cursorSize.height())
55 qWarning("Cursor larger than %dx%d, cursor will be clipped.", m_cursorSize.width(), m_cursorSize.height());
56
57- QImage cursorImage(m_cursorSize, QImage::Format_ARGB32);
58+ QImage cursorImage(m_cursorSize, QImage::Format_RGB16);
59 cursorImage.fill(Qt::transparent);
60
61 QPainter painter;
62@@ -302,7 +302,7 @@ void QEglFSKmsGbmCursor::initCursorAtlas()
63 m_cursorAtlas.hotSpots << hotSpot;
64 }
65
66- QImage image = QImage(atlas).convertToFormat(QImage::Format_ARGB32);
67+ QImage image = QImage(atlas).convertToFormat(QImage::Format_RGB16);
68 m_cursorAtlas.cursorWidth = image.width() / m_cursorAtlas.cursorsPerRow;
69 m_cursorAtlas.cursorHeight = image.height() / ((Qt::LastCursor + cursorsPerRow) / cursorsPerRow);
70 m_cursorAtlas.width = image.width();
71diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
72index caa1187b40..b8f129212c 100644
73--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
74+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
75@@ -96,7 +96,7 @@ EGLNativeWindowType QEglFSKmsGbmIntegration::createNativeOffscreenWindow(const Q
76
77 gbm_surface *surface = gbm_surface_create(static_cast<QEglFSKmsGbmDevice *>(device())->gbmDevice(),
78 1, 1,
79- GBM_FORMAT_XRGB8888,
80+ DRM_FORMAT_RGB565,
81 GBM_BO_USE_RENDERING);
82
83 return reinterpret_cast<EGLNativeWindowType>(surface);
84diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp
85index 28b6b7df63..91dd092311 100644
86--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp
87+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp
88@@ -102,9 +102,19 @@ QSurfaceFormat QEglFSKmsIntegration::surfaceFormatFor(const QSurfaceFormat &inpu
89 QSurfaceFormat format(inputFormat);
90 format.setRenderableType(QSurfaceFormat::OpenGLES);
91 format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
92- format.setRedBufferSize(8);
93- format.setGreenBufferSize(8);
94- format.setBlueBufferSize(8);
95+
96+ static const bool force888 = qEnvironmentVariableIntValue("QT_QPA_EGLFS_FORCE888");
97+ if (force888){
98+ format.setRedBufferSize(8);
99+ format.setGreenBufferSize(8);
100+ format.setBlueBufferSize(8);
101+ }
102+ else{
103+ format.setRedBufferSize(5);
104+ format.setGreenBufferSize(6);
105+ format.setBlueBufferSize(5);
106+ }
107+
108 return format;
109 }
110
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch
new file mode 100644
index 00000000..8a357d3d
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch
@@ -0,0 +1,31 @@
1From b8bdd78fc2836f7ecb8777c3bd99fc2d48dfeda4 Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Fri, 8 Mar 2019 16:23:29 -0800
4Subject: [PATCH] qkmsdevice.cpp: Disable hw cursor as a default option.
5
6Zynqmp does not support hardware cursor, hence disable it as a default
7choice and enable pbuffer.
8
9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
10Upstream-Status: Inappropriate [Xilinx specific]
11
12---
13 src/platformsupport/kmsconvenience/qkmsdevice.cpp | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
17index 657b3d553e..64aafb2247 100644
18--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp
19+++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
20@@ -1028,9 +1028,9 @@ QKmsScreenConfig *QKmsDevice::screenConfig() const
21
22 QKmsScreenConfig::QKmsScreenConfig()
23 : m_headless(false)
24- , m_hwCursor(true)
25+ , m_hwCursor(false)
26 , m_separateScreens(false)
27- , m_pbuffers(false)
28+ , m_pbuffers(true)
29 , m_virtualDesktopLayout(VirtualDesktopLayoutHorizontal)
30 {
31 loadConfig();
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
new file mode 100644
index 00000000..2e80a4c8
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -0,0 +1,41 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/qtbase:"
2
3SRC_URI:append = " \
4 file://0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch \
5 file://0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch \
6"
7
8PACKAGECONFIG:append = " \
9 examples accessibility tools libinput fontconfig \
10 ${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'linuxfb gles2 eglfs', '', d)} \
11 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gles2 eglfs', '', d)} \
12 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gles2 eglfs kms gbm', '', d)} \
13 "
14
15PACKAGECONFIG:remove = "tests"
16
17# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
18DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
19MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
20MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
21PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
22PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
23
24# There is some sort of parallel make install failure
25# Makefile:144: recipe for target 'sub-dbus-install_subtargets' failed
26# make[1]: *** [sub-dbus-install_subtargets] Error 2
27PARALLEL_MAKEINST = "-j 1"
28
29EXTRA_OEMAKE:task-install = " \
30 MAKEFLAGS='${PARALLEL_MAKEINST}' \
31 OE_QMAKE_CC='${OE_QMAKE_CC}' \
32 OE_QMAKE_CXX='${OE_QMAKE_CXX}' \
33 OE_QMAKE_CFLAGS='${OE_QMAKE_CFLAGS}' \
34 OE_QMAKE_CXXFLAGS='${OE_QMAKE_CXXFLAGS}' \
35 OE_QMAKE_LINK='${OE_QMAKE_LINK}' \
36 OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \
37 OE_QMAKE_AR='${OE_QMAKE_AR}' \
38 OE_QMAKE_OBJCOPY='${OE_QMAKE_OBJCOPY}' \
39 OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \
40 OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \
41"
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend
new file mode 100644
index 00000000..1e329fbd
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend
@@ -0,0 +1,7 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'gstreamer1.0-plugins-base', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
7# Note: gstreamer1.0-plugins-base has a dependency on opengl, which infects directly linking to it
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch
new file mode 100644
index 00000000..09ad1b5b
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch
@@ -0,0 +1,34 @@
1From eb44571eab0036a9a1bcd7c423f0187abcbf7a37 Mon Sep 17 00:00:00 2001
2From: Johan Klokkhammer Helsing <johan.helsing@qt.io>
3Date: Thu, 30 Aug 2018 09:31:33 +0200
4Subject: [PATCH] Fix regression in QWaylandGlContext::makeCurrent for
5 offscreen surfaces
6
7[ChangeLog][QPA plugin] Fixed a bug where offscreen surfaces would get
8surfaceless EGL contexts.
9
10Fixes a regression in in bf09c7a1.
11
12The call, window->updateSurface(window->isExposed()), is problematic because
13offscreen textures are never exposed, and consequently, eglSurface will be
14EGL_NO_SURFACE, which will then create a surfaceless context in the call:
15
16 eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)
17
18This reverts to the old behavior of always trying to create an EGL surface,
19unless the window doesn't have a valid wl_surface, in which case it doesn't
20make sense (which is what bf09c7a1 fixed, QTBUG-65553).
21
22Task-number: QTBUG-70242
23Task-number: QTBUG-68605
24Task-number: QTBUG-67601
25Change-Id: I44b07bb8bf4b33c73c6379a1de8e9e5cfd220b51
26
27Signed-off-by: Johan Helsing <johan.helsing@qt.io>
28Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
29Upstream-Status: Backport
30---
31 src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 9 ++++++---
32 src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp | 2 +-
33 2 files changed, 7 insertions(+), 4 deletions(-)
34
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch
new file mode 100644
index 00000000..8f81ffcf
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch
@@ -0,0 +1,31 @@
1From 30f5d53244ef4173544413124f319af272235cfd Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurki@xilinx.com>
3Date: Wed, 16 May 2018 17:16:53 -0700
4Subject: [PATCH 1/3] qwaylandwindow.cpp: Do not destroy shell suface before
5 eglDestroySurface
6
7The call to reset results in a race condition resulting in destruction
8of shell surface before the eglSurface thereby crashing libwayland-client.
9
10Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
11Upstream-Status: Pending
12---
13 src/client/qwaylandwindow.cpp | 2 --
14 1 file changed, 2 deletions(-)
15
16diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
17index 6d7c088..94c89a3 100644
18--- a/src/client/qwaylandwindow.cpp
19+++ b/src/client/qwaylandwindow.cpp
20@@ -385,8 +385,6 @@ void QWaylandWindow::setVisible(bool visible)
21 QWindowSystemInterface::flushWindowSystemEvents();
22 if (!deleteGuard.isNull() && window()->type() == Qt::Popup)
23 closePopups(this);
24- if (!deleteGuard.isNull())
25- reset();
26 }
27 }
28
29--
302.7.4
31
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch
new file mode 100644
index 00000000..52db5ac2
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch
@@ -0,0 +1,20 @@
1From 75ac221b9d78d97c121b984ffc633c8cdbe3a92d Mon Sep 17 00:00:00 2001
2From: Giulio Camuffo <giulio.camuffo@kdab.com>
3Date: Mon, 7 May 2018 17:40:57 -0700
4Subject: [PATCH 2/3] Handle maximize/minimize/fullscreen in xdg_shell_v6
5
6[ChangeLog][QPA plugin] Implement support for maximization, minimization
7and fullscreen with xdg-shell unstable v6.
8
9Task-number: QTBUG-63417
10Task-number: QTBUG-63748
11Change-Id: I385eb3279d91f1c38d2f5d46bc63b324f0456ca4
12
13signed-off-by: Giulio Camuffo <giulio.camuffo@kdab.com>
14Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com>
15Upstream-Status: Backport
16---
17 src/client/qwaylandxdgshellv6.cpp | 22 ++++++++++++++++++++++
18 src/client/qwaylandxdgshellv6_p.h | 4 ++++
19 2 files changed, 26 insertions(+)
20
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch
new file mode 100644
index 00000000..c29edab4
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch
@@ -0,0 +1,32 @@
1From 7067fce80a6e863532a86a5aeb9d6f53e538b387 Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Wed, 5 Sep 2018 14:08:16 -0700
4Subject: [PATCH 3/3] qwaylandeglwindow.cpp: Bind the context before calling
5 eglDestroySurface
6
7Call eglMakeCurrent to bind the context to the current rendering thread
8before calling eglDestroySurface to avoid a crash caused by the post
9processing activity of GPU driver.
10
11Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
12Upstream-Status: Pending
13---
14 src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 2 ++
15 1 file changed, 2 insertions(+)
16
17diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
18index 6b5c532..77cc433 100644
19--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
20+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
21@@ -171,6 +171,8 @@ void QWaylandEglWindow::doInvalidateSurface()
22 void QWaylandEglWindow::invalidateSurface()
23 {
24 if (m_eglSurface) {
25+ eglMakeCurrent(m_clientBufferIntegration->eglDisplay(), EGL_NO_SURFACE,
26+ EGL_NO_SURFACE, EGL_NO_CONTEXT);
27 eglDestroySurface(m_clientBufferIntegration->eglDisplay(), m_eglSurface);
28 m_eglSurface = 0;
29 }
30--
312.7.4
32
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
new file mode 100644
index 00000000..b51451a0
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
@@ -0,0 +1,21 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/qtwayland:"
2# file://0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch
3# file://0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch
4SRC_URI:append = " \
5 file://0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch \
6"
7# file://0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch
8
9PACKAGECONFIG = " \
10 wayland-client \
11 wayland-server \
12 wayland-egl \
13 wayland-drm-egl-server-buffer \
14"
15
16# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
17DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
18MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
19MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
20PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
21PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend
new file mode 100644
index 00000000..973608d3
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend
@@ -0,0 +1 @@
PACKAGECONFIG:append = " ffmpeg opus"
diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend
new file mode 100644
index 00000000..0997181a
--- /dev/null
+++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend
@@ -0,0 +1,8 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'qtmultimedia', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
7# Note: qtmultimedia has a dependency on gstreamer1.0-plugins-base, which has a dependency on opengl, which infects directly linking to it
8
diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_%.bbappend b/meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
index 03823f6e..03823f6e 100644
--- a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_%.bbappend
+++ b/meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch
new file mode 100644
index 00000000..aeedfd58
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch
@@ -0,0 +1,31 @@
1From 43cdcd9dbb032d32e66bab9c25d5e7000797efb8 Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Wed, 26 Sep 2018 14:44:11 -0700
4Subject: [PATCH 1/3] Make RGB565 as default EGLconfig
5
6Make RGB565 as default EGL config as that way user need not pass
7explicit parameters for RGB565 EGLconfig. In the orignial scenario, if
8user does not pass the gl-visual-config to RGB565 there will be color
9conversion resulting in lower performance.
10
11Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
12Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
13Upstream-Status: Inappropriate [Xilinx specific]
14Signed-off-by: Mark Hatle <mark.hatle@amd.com>
15---
16 src/gl-visual-config.h | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19Index: git/src/gl-visual-config.h
20===================================================================
21--- git.orig/src/gl-visual-config.h
22+++ git/src/gl-visual-config.h
23@@ -31,7 +31,7 @@ class GLVisualConfig
24 {
25 public:
26 GLVisualConfig():
27- id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(-1), buffer(1), samples(0) {}
28+ id(0), red(5), green(6), blue(5), alpha(0), depth(16), stencil(0), buffer(16), samples(0) {}
29 GLVisualConfig(const std::string &s);
30
31 /**
diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch
new file mode 100644
index 00000000..61a7cbf9
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch
@@ -0,0 +1,33 @@
1From 534a0f99b38f7a32fc07562bec3e992dfad448c0 Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Mon, 3 Feb 2020 13:00:36 -0800
4Subject: [PATCH] src: gl-state-egl: Use native_display to load EGL funcs
5 through glad
6
7EGL_DEFAULT_DISPLAY may not be suiitable for all the backends like GBM.
8Instead, use the already initialized display and only fallback to
9EGL_DEFAULT_DISPLAY if the display is unintialized (which is already
10been taken care).
11
12Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
13Upstream-status: Pending
14---
15 src/gl-state-egl.cpp | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/src/gl-state-egl.cpp b/src/gl-state-egl.cpp
19index 8d7d66e..316b856 100644
20--- a/src/gl-state-egl.cpp
21+++ b/src/gl-state-egl.cpp
22@@ -317,7 +317,7 @@ GLStateEGL::init_display(void* native_display, GLVisualConfig& visual_config)
23 return false;
24 }
25
26- if (gladLoadEGLUserPtr(EGL_NO_DISPLAY, load_egl_func, &egl_lib_) == 0) {
27+ if (gladLoadEGLUserPtr(native_display, load_egl_func, &egl_lib_) == 0) {
28 Log::error("Loading EGL entry points failed\n");
29 return false;
30 }
31--
322.7.4
33
diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch
new file mode 100644
index 00000000..015f2f49
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch
@@ -0,0 +1,104 @@
1From c5de6efc463c1f8f47d37c2423da983c016b3ce8 Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Thu, 27 Jun 2019 16:16:05 -0700
4Subject: [PATCH] src/options.cpp: Add options to configure bpp and depth
5
6Instead of hardcoding the depth and bpp for drm backend, application
7should have a knob to configure the same.
8
9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
10Upstream-Status: Inappropriate [Xilinx specific]
11---
12 src/native-state-drm.cpp | 5 +++--
13 src/options.cpp | 10 ++++++++++
14 src/options.h | 2 ++
15 3 files changed, 15 insertions(+), 2 deletions(-)
16
17diff --git a/src/native-state-drm.cpp b/src/native-state-drm.cpp
18index 62566ee..9743575 100644
19--- a/src/native-state-drm.cpp
20+++ b/src/native-state-drm.cpp
21@@ -24,6 +24,7 @@
22 */
23 #include "native-state-drm.h"
24 #include "log.h"
25+#include "options.h"
26
27 #include <fcntl.h>
28 #include <libudev.h>
29@@ -403,7 +404,7 @@ NativeStateDRM::fb_get_from_bo(gbm_bo* bo)
30 unsigned int stride = gbm_bo_get_stride(bo);
31 unsigned int handle = gbm_bo_get_handle(bo).u32;
32 unsigned int fb_id(0);
33- int status = drmModeAddFB(fd_, width, height, 24, 32, stride, handle, &fb_id);
34+ int status = drmModeAddFB(fd_, width, height, Options::depth, Options::bpp, stride, handle, &fb_id);
35 if (status < 0) {
36 Log::error("Failed to create FB: %d\n", status);
37 return 0;
38@@ -428,7 +429,7 @@ NativeStateDRM::init_gbm()
39 }
40
41 surface_ = gbm_surface_create(dev_, mode_->hdisplay, mode_->vdisplay,
42- GBM_FORMAT_XRGB8888,
43+ (Options::bpp == 32) ? GBM_FORMAT_XRGB8888 : GBM_FORMAT_RGB565,
44 GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
45 if (!surface_) {
46 Log::error("Failed to create GBM surface\n");
47diff --git a/src/options.cpp b/src/options.cpp
48index 05cd617..7de1ddc 100644
49--- a/src/options.cpp
50+++ b/src/options.cpp
51@@ -41,6 +41,8 @@ bool Options::reuse_context = false;
52 bool Options::run_forever = false;
53 bool Options::annotate = false;
54 bool Options::offscreen = false;
55+int Options::depth = 16;
56+int Options::bpp = 16;
57 GLVisualConfig Options::visual_config;
58
59 static struct option long_options[] = {
60@@ -59,6 +61,8 @@ static struct option long_options[] = {
61 {"show-all-options", 0, 0, 0},
62 {"debug", 0, 0, 0},
63 {"help", 0, 0, 0},
64+ {"depth", 1, 0, 0},
65+ {"bpp", 1, 0, 0},
66 {0, 0, 0, 0}
67 };
68
69@@ -142,6 +146,8 @@ Options::print_help()
70 " --annotate Annotate the benchmarks with on-screen information\n"
71 " (same as -b :show-fps=true:title=#info#)\n"
72 " -d, --debug Display debug messages\n"
73+ " --depth Depth for drm backend\n"
74+ " --bpp Bpp for drm backend\n"
75 " -h, --help Display help\n");
76 }
77
78@@ -193,6 +199,10 @@ Options::parse_args(int argc, char **argv)
79 Options::show_debug = true;
80 else if (c == 'h' || !strcmp(optname, "help"))
81 Options::show_help = true;
82+ else if (!strcmp(optname, "depth"))
83+ Options::depth = Util::fromString<int>(optarg);
84+ else if (!strcmp(optname, "bpp"))
85+ Options::bpp = Util::fromString<int>(optarg);
86 }
87
88 return true;
89diff --git a/src/options.h b/src/options.h
90index f62e02a..04bef5f 100644
91--- a/src/options.h
92+++ b/src/options.h
93@@ -53,6 +53,8 @@ struct Options {
94 static bool run_forever;
95 static bool annotate;
96 static bool offscreen;
97+ static int depth;
98+ static int bpp;
99 static GLVisualConfig visual_config;
100 };
101
102--
1032.7.4
104
diff --git a/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend b/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend
new file mode 100644
index 00000000..9f9ab267
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend
@@ -0,0 +1,14 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
2
3# TODO: Two patches are disabled as they do not apply to the current version of glmark2
4# This will need review by someone familiar with that code
5SRC_URI:append = " file://0001-Make-RGB565-as-default-EGLconfig.patch \
6 file://0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch;apply=0 \
7 file://0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch;apply=0 \
8 "
9
10PACKAGECONFIG = " \
11 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl x11-gles2', '', d)} \
12 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'drm-gles2 wayland-gles2', '', d)} \
13 ${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'fbdev-glesv2', '', d)} \
14"
diff --git a/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend b/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend
new file mode 100644
index 00000000..514cacaa
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend
@@ -0,0 +1,6 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend
new file mode 100644
index 00000000..514cacaa
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend
@@ -0,0 +1,6 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend b/meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend
index 03823f6e..03823f6e 100644
--- a/meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend
+++ b/meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend
index 03823f6e..03823f6e 100644
--- a/meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/egl.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/egl.pc
index 65c4c1f3..65c4c1f3 100644
--- a/meta-xilinx-core/recipes-graphics/libgles/files/egl.pc
+++ b/meta-xilinx-mali400/recipes-graphics/libgles/files/egl.pc
diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/gbm.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/gbm.pc
index c40b5f4f..c40b5f4f 100644
--- a/meta-xilinx-core/recipes-graphics/libgles/files/gbm.pc
+++ b/meta-xilinx-mali400/recipes-graphics/libgles/files/gbm.pc
diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1.pc
index 39467f33..39467f33 100644
--- a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1.pc
+++ b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1.pc
diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1_cm.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1_cm.pc
index 1547b4c8..1547b4c8 100644
--- a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1_cm.pc
+++ b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1_cm.pc
diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv2.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv2.pc
index a0a84f23..a0a84f23 100644
--- a/meta-xilinx-core/recipes-graphics/libgles/files/glesv2.pc
+++ b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv2.pc
diff --git a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb b/meta-xilinx-mali400/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb
index e8d40311..e8d40311 100644
--- a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb
+++ b/meta-xilinx-mali400/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb
diff --git a/meta-xilinx-core/recipes-graphics/libglu/libglu_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libglu/libglu_%.bbappend
index e824a179..e824a179 100644
--- a/meta-xilinx-core/recipes-graphics/libglu/libglu_%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/libglu/libglu_%.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend
index 03823f6e..03823f6e 100644
--- a/meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch
index 3c82f602..3c82f602 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch
index 0a7b6736..0a7b6736 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch
index 98aa6ac9..98aa6ac9 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch
index c5c49679..c5c49679 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch
index 3d784604..3d784604 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch
index 3e1745fd..3e1745fd 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch
index 98a86c88..98a86c88 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch
index 38ab4042..38ab4042 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch
index 24f0a22c..24f0a22c 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch
index c28a83f4..c28a83f4 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch
index a7c1d5cc..a7c1d5cc 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch
index 5363c37e..5363c37e 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch
index dc8bbebf..dc8bbebf 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch
index 9c4bbee9..9c4bbee9 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch
index 9797db62..9797db62 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch
index 154bb673..154bb673 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch
index ff86091f..ff86091f 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch
index adef8e18..adef8e18 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch
index 181df7b7..181df7b7 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch
index bab2bd37..bab2bd37 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch
index 5b3eeedc..5b3eeedc 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch
index eb5406f4..eb5406f4 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch
index 247c92ff..247c92ff 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch
index 18081dc3..18081dc3 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch
index 72275a4c..72275a4c 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch
index a3ddafed..a3ddafed 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb
index 12b117d4..12b117d4 100644
--- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb
+++ b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb
diff --git a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch b/meta-xilinx-mali400/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
index f77f1939..f77f1939 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
index fdb30564..fdb30564 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
index 7212ef27..7212ef27 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
index 6cfecb38..6cfecb38 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
+++ b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos_%.bbappend
index 5c84f56e..5c84f56e 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos_%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos_%.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-gl_%.bbappend
index a8e18a57..a8e18a57 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-gl_%.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa_%.bbappend
index 86183f54..86183f54 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/mesa/mesa_%.bbappend
diff --git a/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend b/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend
new file mode 100644
index 00000000..03823f6e
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend
@@ -0,0 +1,6 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-mali400/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
index de1f3719..de1f3719 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-mali400/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
index 6b5f53b0..6b5f53b0 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/init b/meta-xilinx-mali400/recipes-graphics/wayland/files/init
index f74ac8b1..f74ac8b1 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/files/init
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/files/init
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/weston.service b/meta-xilinx-mali400/recipes-graphics/wayland/files/weston.service
index c7583e92..c7583e92 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/files/weston.service
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/files/weston.service
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston-init.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston-init.bbappend
index f0d64e27..f0d64e27 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston-init.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston-init.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston.inc b/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc
index fadc9486..fadc9486 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston.inc
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
index f8f75894..f8f75894 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch
index 06e0f7ba..06e0f7ba 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch
index 6fe86ff3..6fe86ff3 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
index f6ebfd8f..f6ebfd8f 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
index a4444e5d..a4444e5d 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/systemd-notify.weston-start b/meta-xilinx-mali400/recipes-graphics/wayland/weston/systemd-notify.weston-start
index a97e7b38..a97e7b38 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/systemd-notify.weston-start
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/systemd-notify.weston-start
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.desktop b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.desktop
index 1086ae8b..1086ae8b 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.desktop
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.desktop
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.png b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.png
index ea8b7e0e..ea8b7e0e 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.png
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.png
Binary files differ
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/xwayland.weston-start b/meta-xilinx-mali400/recipes-graphics/wayland/weston/xwayland.weston-start
index db384b1a..db384b1a 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston/xwayland.weston-start
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston/xwayland.weston-start
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston_13.%.bbappend
index 3ee9cafa..3ee9cafa 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston_13.%.bbappend
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bb b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bb
index af329e30..af329e30 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bb
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bb
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bbappend
index 80512ac3..80512ac3 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bbappend
diff --git a/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
new file mode 100644
index 00000000..03823f6e
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -0,0 +1,6 @@
1# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
2DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
3MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
4MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
5PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
6PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-core/recipes-graphics/xwayland/xwayland_%.bbappend b/meta-xilinx-mali400/recipes-graphics/xwayland/xwayland_%.bbappend
index c1005f11..c1005f11 100644
--- a/meta-xilinx-core/recipes-graphics/xwayland/xwayland_%.bbappend
+++ b/meta-xilinx-mali400/recipes-graphics/xwayland/xwayland_%.bbappend
diff --git a/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend
new file mode 100644
index 00000000..81c660a5
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend
@@ -0,0 +1,3 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2
3SRC_URI:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' file://99-mali-device.rules', '', d)}"
diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules
index 89ec5f78..89ec5f78 100644
--- a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules
+++ b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules
diff --git a/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc
new file mode 100644
index 00000000..e49e5377
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc
@@ -0,0 +1,3 @@
1# Enable DRM_LIMA support if DISTRO_FEATURES != 'libmali' and MACHINE_FEATURES mali400 is enabled
2MALI_FEATURE = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '', 'features/drm-lima/drm-lima.scc', d)}"
3KERNEL_FEATURES:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' ${MALI_FEATURE}', '', d)}"
diff --git a/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend
new file mode 100644
index 00000000..8b6d657c
--- /dev/null
+++ b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend
@@ -0,0 +1 @@
require linux-xlnx-mali400.inc