mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-06-05 02:11:00 +00:00
meta-ti-bsp: graphics: Resolve dependency chain
Patched mesa will now be configured based on what virtual/gpudriver preferred provider is selected. The gpu drivers will now runtime recommend the associated UM components. Signed-off-by: Randolph Sapp <rs@ti.com> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
This commit is contained in:
committed by
Ryan Eatmon
parent
b5d687fe46
commit
600d45cdb0
+9
-11
@@ -3,40 +3,38 @@ HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-driver"
|
||||
LICENSE = "MIT | GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://README;beginline=14;endline=19;md5=0403c7dea01a2b8232261e805325fac2"
|
||||
|
||||
inherit module features_check
|
||||
inherit module
|
||||
|
||||
REQUIRED_MACHINE_FEATURES = "gpu"
|
||||
PROVIDES = "virtual/gpudriver"
|
||||
|
||||
MACHINE_KERNEL_PR:append = "b"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx"
|
||||
|
||||
DEPENDS = "virtual/kernel"
|
||||
|
||||
PROVIDES = "virtual/gpudriver"
|
||||
BRANCH = "linuxws/kirkstone/k5.10/${PV}"
|
||||
|
||||
BRANCH = "linuxws/dunfell/k5.10/${PV}_unified_fw_pagesize"
|
||||
|
||||
SRC_URI = " \
|
||||
git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;branch=${BRANCH} \
|
||||
file://0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch \
|
||||
"
|
||||
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;branch=${BRANCH}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "c901804e8221d477983a6f7224a9cdc6e832f050"
|
||||
SRCREV = "d575e4f64c95a3534e10e85da15bd303febf133f"
|
||||
|
||||
TARGET_PRODUCT:j721e = "j721e_linux"
|
||||
TARGET_PRODUCT:j721s2 = "j721s2_linux"
|
||||
TARGET_PRODUCT:j784s4 = "j784s4_linux"
|
||||
TARGET_PRODUCT:am62xx = "am62_linux"
|
||||
PVR_BUILD = "release"
|
||||
PVR_WS = "wayland"
|
||||
PVR_WS = "lws-generic"
|
||||
|
||||
EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" BUILD=${PVR_BUILD} PVR_BUILD_DIR=${TARGET_PRODUCT} WINDOW_SYSTEM=${PVR_WS}'
|
||||
|
||||
do_install() {
|
||||
make -C ${STAGING_KERNEL_DIR} M=${B}/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
|
||||
}
|
||||
|
||||
RRECOMMENDS:${PN} += "ti-img-rogue-umlibs"
|
||||
@@ -3,9 +3,9 @@ HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-linux"
|
||||
LICENSE = "MIT | GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://eurasia_km/README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12"
|
||||
|
||||
inherit module features_check
|
||||
inherit module
|
||||
|
||||
REQUIRED_MACHINE_FEATURES = "gpu"
|
||||
PROVIDES = "virtual/gpudriver"
|
||||
|
||||
COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|k3"
|
||||
|
||||
@@ -16,8 +16,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
DEPENDS = "virtual/kernel"
|
||||
|
||||
PROVIDES = "virtual/gpudriver"
|
||||
|
||||
BRANCH = "ti-img-sgx/${PV}/k5.10"
|
||||
|
||||
SRC_URI = "git://git.ti.com/git/graphics/omap5-sgx-ddk-linux.git;protocol=https;branch=${BRANCH}"
|
||||
@@ -44,3 +42,5 @@ do_install() {
|
||||
do_install:k3() {
|
||||
make -C ${STAGING_KERNEL_DIR} M=${B}/eurasia_km/eurasiacon/binary_omap_linux_nulldrmws_release/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
|
||||
}
|
||||
|
||||
RRECOMMENDS:${PN} += "ti-sgx-ddk-um"
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
DESCRIPTION = "Userspace libraries for PowerVR Rogue GPU on TI SoCs"
|
||||
HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-umlibs"
|
||||
LICENSE = "TI-TFL"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
|
||||
|
||||
inherit features_check
|
||||
|
||||
REQUIRED_MACHINE_FEATURES = "gpu"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx"
|
||||
|
||||
PR = "r2"
|
||||
|
||||
BRANCH = "linuxws/dunfell/k5.10/${PV}_unified_fw_pagesize"
|
||||
|
||||
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
|
||||
SRCREV = "5977e82b96028f783d39c7219f016c1faf8dc5f5"
|
||||
|
||||
TARGET_PRODUCT:j721e = "j721e_linux"
|
||||
TARGET_PRODUCT:j721s2 = "j721s2_linux"
|
||||
TARGET_PRODUCT:j784s4 = "j784s4_linux"
|
||||
TARGET_PRODUCT:am62xx = "am62_linux"
|
||||
PVR_BUILD ?= "release"
|
||||
PVR_WS = "wayland"
|
||||
|
||||
INITSCRIPT_NAME = "rc.pvr"
|
||||
INITSCRIPT_PARAMS = "defaults 8"
|
||||
|
||||
inherit update-rc.d
|
||||
|
||||
PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgbm"
|
||||
|
||||
DEPENDS += "libdrm wayland expat"
|
||||
RDEPENDS:${PN} += "bash"
|
||||
RDEPENDS:${PN} += "wayland expat"
|
||||
|
||||
RPROVIDES:${PN} = "libegl libgles1 libgles2 libgbm"
|
||||
RPROVIDES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev"
|
||||
RPROVIDES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
RREPLACES:${PN} = "libegl libgles1 liblges2 libgbm"
|
||||
RREPLACES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev"
|
||||
RREPLACES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
RCONFLICTS:${PN} = "libegl libgles1 libgles2 libgbm"
|
||||
RCONFLICTS:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev"
|
||||
RCONFLICTS:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
RRECOMMENDS:${PN} += "ti-img-rogue-driver"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
oe_runmake install DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT} BUILD=${PVR_BUILD} WINDOW_SYSTEM=${PVR_WS}
|
||||
chown -R root:root ${D}
|
||||
}
|
||||
|
||||
FILES:${PN} += " ${nonarch_base_libdir}/firmware/"
|
||||
FILES:${PN} += " ${datadir}/"
|
||||
|
||||
PACKAGES =+ "${PN}-plugins"
|
||||
FILES:${PN}-plugins = "${libdir}/libGLESv2.so ${libdir}/libGLESv1_CM.so ${libdir}/libEGL.so ${libdir}/dri/pvr_dri.so"
|
||||
RDEPENDS:${PN} += "${PN}-plugins"
|
||||
|
||||
ALLOW_EMPTY:${PN}-plugins = "1"
|
||||
|
||||
INSANE_SKIP:${PN} += "ldflags arch already-stripped"
|
||||
INSANE_SKIP:${PN}-plugins = "dev-so"
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
@@ -0,0 +1,39 @@
|
||||
DESCRIPTION = "Userspace libraries for PowerVR Rogue GPU on TI SoCs"
|
||||
HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-umlibs"
|
||||
LICENSE = "TI-TFL"
|
||||
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx"
|
||||
|
||||
PR = "r2"
|
||||
|
||||
BRANCH = "linuxws/kirkstone/k5.10/${PV}"
|
||||
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
|
||||
SRCREV = "51e598919641d51156a631efa5447124a3c0f543"
|
||||
S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}"
|
||||
|
||||
TARGET_PRODUCT:j721e = "j721e_linux"
|
||||
TARGET_PRODUCT:j721s2 = "j721s2_linux"
|
||||
TARGET_PRODUCT:j784s4 = "j784s4_linux"
|
||||
TARGET_PRODUCT:am62xx = "am62_linux"
|
||||
PVR_BUILD = "release"
|
||||
PVR_WS = "lws-generic"
|
||||
|
||||
RDEPENDS:${PN} += "mesa-megadriver libdrm ti-img-rogue-driver"
|
||||
|
||||
do_install:append() {
|
||||
rm -rf "${D}/etc/init.d"
|
||||
rm -rf "${D}/usr/lib/libvulkan.so"
|
||||
rm -rf "${D}/usr/lib/libvulkan.so.0"
|
||||
rm -rf "${D}/usr/lib/libvulkan.so.1"
|
||||
}
|
||||
|
||||
PACKAGES = "${PN}-tools ${PN}"
|
||||
FILES:${PN}-tools = "${bindir}/"
|
||||
RDEPENDS:${PN}-tools = "python3-core"
|
||||
RRECOMMENDS:${PN} += "${PN}-tools"
|
||||
|
||||
INSANE_SKIP:${PN} += "ldflags arch already-stripped dev-so"
|
||||
@@ -3,22 +3,18 @@ HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-um-linux"
|
||||
LICENSE = "TI-TSPA"
|
||||
LIC_FILES_CHKSUM = "file://TI-Linux-Graphics-DDK-UM-Manifest.doc;md5=b17390502bc89535c86cfbbae961a2a8"
|
||||
|
||||
inherit features_check
|
||||
|
||||
REQUIRED_MACHINE_FEATURES = "gpu"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|am65xx"
|
||||
|
||||
PR = "r38"
|
||||
|
||||
BRANCH = "ti-img-sgx/kirkstone/${PV}"
|
||||
BRANCH = "ti-img-sgx/kirkstone-mesa/${PV}"
|
||||
|
||||
SRC_URI = " \
|
||||
git://git.ti.com/git/graphics/omap5-sgx-ddk-um-linux.git;protocol=https;branch=${BRANCH} \
|
||||
file://pvrsrvkm.rules \
|
||||
"
|
||||
SRCREV = "905809029b877fea42e91b9738825a6294ff1775"
|
||||
SRCREV = "bbae7217051341f515515ec190e165119102f45a"
|
||||
|
||||
TARGET_PRODUCT:ti33x = "ti335x"
|
||||
TARGET_PRODUCT:ti43x = "ti437x"
|
||||
@@ -33,26 +29,7 @@ inherit update-rc.d
|
||||
PACKAGECONFIG ??= "udev"
|
||||
PACKAGECONFIG[udev] = ",,,udev"
|
||||
|
||||
PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgbm"
|
||||
|
||||
DEPENDS += "libdrm udev wayland wayland-protocols libffi expat"
|
||||
DEPENDS:append:libc-musl = " gcompat"
|
||||
RDEPENDS:${PN} += "libdrm libdrm-omap udev wayland wayland-protocols libffi expat"
|
||||
|
||||
RPROVIDES:${PN} = "libegl libgles1 libgles2 libgbm"
|
||||
RPROVIDES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev"
|
||||
RPROVIDES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg libgbm-dbg"
|
||||
|
||||
RREPLACES:${PN} = "libegl libgles1 libgles2 libgbm"
|
||||
RREPLACES:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev"
|
||||
RREPLACES:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg libgbm-dbg"
|
||||
|
||||
RCONFLICTS:${PN} = "libegl libgles1 libgles2 libgbm"
|
||||
RCONFLICTS:${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev"
|
||||
RCONFLICTS:${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg libgbm-dbg"
|
||||
|
||||
# The actual SONAME is libGLESv2.so.2, so need to explicitly specify RPROVIDES for .so.1 here
|
||||
RPROVIDES:${PN} += "libGLESv2.so.1"
|
||||
RDEPENDS:${PN} += "libdrm libdrm-omap"
|
||||
|
||||
RRECOMMENDS:${PN} += "ti-sgx-ddk-km"
|
||||
|
||||
@@ -60,7 +37,6 @@ S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
oe_runmake install DESTDIR=${D} TARGET_PRODUCT=${TARGET_PRODUCT}
|
||||
ln -sf libGLESv2.so.2 ${D}${libdir}/libGLESv2.so.1
|
||||
|
||||
without_sysvinit=${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}
|
||||
with_udev=${@bb.utils.contains('PACKAGECONFIG', 'udev', 'true', 'false', d)}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)}
|
||||
@@ -0,0 +1 @@
|
||||
require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-mesa.inc', '', d)}
|
||||
@@ -0,0 +1,48 @@
|
||||
# PowerVR Graphics require several patches that have not made their way
|
||||
# upstream yet. This allows us to build the shims we need without completely
|
||||
# clobbering mesa.
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9a383ee9f65a4e939d6630e9b067ff58"
|
||||
|
||||
BRANCH = "powervr/kirkstone/22.0"
|
||||
|
||||
SRC_URI = " \
|
||||
git://gitlab.freedesktop.org/StaticRocket/mesa.git;protocol=https;branch=${BRANCH} \
|
||||
file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
|
||||
file://0002-meson.build-make-TLS-ELF-optional.patch \
|
||||
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
|
||||
file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
|
||||
file://0001-util-format-Check-for-NEON-before-using-it.patch \
|
||||
file://0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "44b82a7b6fa8a86243911b1b0d6a07b0fd8ecfba"
|
||||
|
||||
PACKAGECONFIG:append = " \
|
||||
${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', 'pvr', '', d)} \
|
||||
${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-sgx-ddk-km', 'sgx', '', d)} \
|
||||
"
|
||||
|
||||
PVR_DISPLAY_CONTROLLER_ALIAS ??= "tidss"
|
||||
PACKAGECONFIG[pvr] = "-Dgallium-pvr-alias=${PVR_DISPLAY_CONTROLLER_ALIAS},"
|
||||
PACKAGECONFIG[sgx] = "-Dgallium-sgx-alias=${PVR_DISPLAY_CONTROLLER_ALIAS},"
|
||||
|
||||
PACKAGECONFIG:remove = "video-codecs"
|
||||
PACKAGECONFIG[video-codecs] = ""
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
PV = "22.0.3+pvr"
|
||||
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}"
|
||||
|
||||
do_install:append () {
|
||||
# remove pvr custom pkgconfig
|
||||
rm -rf ${D}${datadir}/pkgconfig
|
||||
}
|
||||
|
||||
RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"
|
||||
Reference in New Issue
Block a user