Message ID | 20240430213821.3697267-4-rs@ti.com |
---|---|
State | Superseded |
Delegated to: | Ryan Eatmon |
Headers | show |
Series | GFX driver and mesa update | expand |
On Tue, Apr 30, 2024 at 04:38:21PM -0500, Randolph Sapp via lists.yoctoproject.org wrote: > From: Randolph Sapp <rs@ti.com> > > Add a recipe for mesa-pvr to use a newer branch based on mesa 23.2.1. > This branch does not currently contain SGX patches so it is also being > masked by the ltsprep branding to prevent regressing those devices > currently. > > Please note that because this recipe is currently in > SIGGEN_EXCLUDERECIPES_ABISAFE you may run into sstate errors when > switching away from the ltsprep tag. This is less specific to SIGGEN_EXCLUDERECIPES_ABISAFE and more generic to any time you downgrade a component version while having a local sstate with a new version (and use a PR server as well) - it will show "Version going backwards" errors. > Please issue a clean to mesa and > ti-img-rogue-umlibs if you get warnings from either package's > do_create_runtime_spdx step. > > Signed-off-by: Randolph Sapp <rs@ti.com> > --- > .../recipes-graphics/mesa/mesa-pvr_23.2.1.bb | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb > > diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb > new file mode 100644 > index 00000000..c83ba87d > --- /dev/null > +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb > @@ -0,0 +1,59 @@ > +# 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. > + > +DEFAULT_PREFERENCE = "-1" > +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}_${PV}:" > + > +require recipes-graphics/mesa/mesa.inc > + > +SUMMARY += " (with PowerVR support for TI platforms)" > + > +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" > + > +BRANCH = "powervr/${PV}" > + > +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://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ > + file://0001-gallium-Fix-build-with-llvm-17.patch \ > + file://0001-meson-Disable-cmake-dependency-detector-for-llvm.patch \ > +" > + > +S = "${WORKDIR}/git" > + > +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)} \ > +" > + > +SRCREV = "b12290126ba6a154f0e8b0a8c8b2b0d64f98e427" > + > +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] = "" > +PACKAGECONFIG:remove = "elf-tls" > +PACKAGECONFIG[elf-tls] = "" > +PACKAGECONFIG:remove = "xvmc" > +PACKAGECONFIG[xvmc] = "" > + > +PACKAGE_ARCH = "${MACHINE_ARCH}" > + > +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" > +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}" > + > +VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" > + > +do_install:append () { > + # remove pvr custom pkgconfig > + rm -rf ${D}${datadir}/pkgconfig > +} > + > +FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml" > +FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so" > + > +RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}" > -- > 2.44.0 >
On Wed May 1, 2024 at 11:47 AM CDT, Denys Dmytriyenko wrote: > On Tue, Apr 30, 2024 at 04:38:21PM -0500, Randolph Sapp via lists.yoctoproject.org wrote: > > From: Randolph Sapp <rs@ti.com> > > > > Add a recipe for mesa-pvr to use a newer branch based on mesa 23.2.1. > > This branch does not currently contain SGX patches so it is also being > > masked by the ltsprep branding to prevent regressing those devices > > currently. > > > > Please note that because this recipe is currently in > > SIGGEN_EXCLUDERECIPES_ABISAFE you may run into sstate errors when > > switching away from the ltsprep tag. > > This is less specific to SIGGEN_EXCLUDERECIPES_ABISAFE and more generic to > any time you downgrade a component version while having a local sstate with > a new version (and use a PR server as well) - it will show "Version going > backwards" errors. See, that's what I assumed, but because the error was specifically about the license stage, there was no generic [version-going-backwards] qa warning, and the kernel wasn't suffering from the same issue I assumed it was related to SIGGEN_EXCLUDERECIPES_ABISAFE trying to keep some artifacts around. I did not get a chance to test it though. Do you know what the kernel does to avoid this or is this? Is it some behavior handled specifically by the kernel class? I asked Ryan about it when I first saw the error but he didn't know. > > Please issue a clean to mesa and > > ti-img-rogue-umlibs if you get warnings from either package's > > do_create_runtime_spdx step. > > > > Signed-off-by: Randolph Sapp <rs@ti.com> > > --- > > .../recipes-graphics/mesa/mesa-pvr_23.2.1.bb | 59 +++++++++++++++++++ > > 1 file changed, 59 insertions(+) > > create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb > > > > diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb > > new file mode 100644 > > index 00000000..c83ba87d > > --- /dev/null > > +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb > > @@ -0,0 +1,59 @@ > > +# 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. > > + > > +DEFAULT_PREFERENCE = "-1" > > +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}_${PV}:" > > + > > +require recipes-graphics/mesa/mesa.inc > > + > > +SUMMARY += " (with PowerVR support for TI platforms)" > > + > > +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" > > + > > +BRANCH = "powervr/${PV}" > > + > > +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://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ > > + file://0001-gallium-Fix-build-with-llvm-17.patch \ > > + file://0001-meson-Disable-cmake-dependency-detector-for-llvm.patch \ > > +" > > + > > +S = "${WORKDIR}/git" > > + > > +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)} \ > > +" > > + > > +SRCREV = "b12290126ba6a154f0e8b0a8c8b2b0d64f98e427" > > + > > +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] = "" > > +PACKAGECONFIG:remove = "elf-tls" > > +PACKAGECONFIG[elf-tls] = "" > > +PACKAGECONFIG:remove = "xvmc" > > +PACKAGECONFIG[xvmc] = "" > > + > > +PACKAGE_ARCH = "${MACHINE_ARCH}" > > + > > +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" > > +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}" > > + > > +VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" > > + > > +do_install:append () { > > + # remove pvr custom pkgconfig > > + rm -rf ${D}${datadir}/pkgconfig > > +} > > + > > +FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml" > > +FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so" > > + > > +RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}" > > -- > > 2.44.0 > >
diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb new file mode 100644 index 00000000..c83ba87d --- /dev/null +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb @@ -0,0 +1,59 @@ +# 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. + +DEFAULT_PREFERENCE = "-1" +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}_${PV}:" + +require recipes-graphics/mesa/mesa.inc + +SUMMARY += " (with PowerVR support for TI platforms)" + +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10" + +BRANCH = "powervr/${PV}" + +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://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ + file://0001-gallium-Fix-build-with-llvm-17.patch \ + file://0001-meson-Disable-cmake-dependency-detector-for-llvm.patch \ +" + +S = "${WORKDIR}/git" + +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)} \ +" + +SRCREV = "b12290126ba6a154f0e8b0a8c8b2b0d64f98e427" + +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] = "" +PACKAGECONFIG:remove = "elf-tls" +PACKAGECONFIG[elf-tls] = "" +PACKAGECONFIG:remove = "xvmc" +PACKAGECONFIG[xvmc] = "" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'sgx', ',sgx', '', d)}" + +VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pvr', ',pvr', '', d)}" + +do_install:append () { + # remove pvr custom pkgconfig + rm -rf ${D}${datadir}/pkgconfig +} + +FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml" +FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so" + +RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"