commit: 01cb5b2658d9421ab5a35e6a36c29e305e68c8f4 Author: Matt Turner <mattst88 <AT> gentoo <DOT> org> AuthorDate: Fri May 12 17:37:34 2023 +0000 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> CommitDate: Fri May 12 17:38:25 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01cb5b26
media-libs/mesa-amber: Fix loading i915c driver Thanks to Allan Mondor <bugs.gentoo <AT> acmondor.ca> for the patch. Closes: https://bugs.gentoo.org/866425 Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> media-libs/mesa-amber/files/mesa-amber-i915c.patch | 46 ++++++++++++++++++++++ ...r-21.3.9.ebuild => mesa-amber-21.3.9-r1.ebuild} | 4 ++ 2 files changed, 50 insertions(+) diff --git a/media-libs/mesa-amber/files/mesa-amber-i915c.patch b/media-libs/mesa-amber/files/mesa-amber-i915c.patch new file mode 100644 index 000000000000..826f8cb3ca86 --- /dev/null +++ b/media-libs/mesa-amber/files/mesa-amber-i915c.patch @@ -0,0 +1,46 @@ + +This patch is fixed the issue created when /usr/lib/dri/i915_dri.so is renamed to /usr/lib/dri/i915c_dri.so +by mesa-amber/mesa-amber-21.3.9.ebuild + +Without this patch the driver cannot be loaded using the environment variable MESA_LOADER_DRIVER_OVERRIDE="i915c" +as that mechanism expects to find the __driDriverGetExtensions_i915c: + +MESA-LOADER: dlopen(/usr/lib/dri/i915c_dri.so) +MESA-LOADER: driver does not expose __driDriverGetExtensions_i915c(): /usr/lib/dri/i915c_dri.so: undefined symbol: __driDriverGetExtensions_i915c +MESA-LOADER: dlopen(/usr/lib/dri/swrast_dri.so) + +This patch adds the __driDriverGetExtensions_i915c symbol by simply cloning the code for the original +__driDriverGetExtensions_i915 symbol. + +Allan Mondor [email protected] + + +diff -w -ruN mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.c mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.c +--- mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.c 2022-06-08 12:13:35.000000000 -0600 ++++ mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.c 2022-08-23 11:32:19.151578025 -0600 +@@ -1290,6 +1290,13 @@ + return i915_driver_extensions; + } + ++PUBLIC const __DRIextension **__driDriverGetExtensions_i915c(void) ++{ ++ globalDriverAPI = &i915_driver_api; ++ ++ return i915_driver_extensions; ++} ++ + PUBLIC const __DRIextension **__driDriverGetExtensions_i830(void) + { + globalDriverAPI = &i915_driver_api; +diff -w -ruN mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.h mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.h +--- mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.h 2022-06-08 12:13:35.000000000 -0600 ++++ mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.h 2022-08-23 11:31:54.047576393 -0600 +@@ -160,6 +160,7 @@ + + const __DRIextension **__driDriverGetExtensions_i830(void); + const __DRIextension **__driDriverGetExtensions_i915(void); ++const __DRIextension **__driDriverGetExtensions_i915c(void); + extern const __DRI2fenceExtension intelFenceExtension; + + extern GLboolean diff --git a/media-libs/mesa-amber/mesa-amber-21.3.9.ebuild b/media-libs/mesa-amber/mesa-amber-21.3.9-r1.ebuild similarity index 99% rename from media-libs/mesa-amber/mesa-amber-21.3.9.ebuild rename to media-libs/mesa-amber/mesa-amber-21.3.9-r1.ebuild index 6c7e27f41616..9c94daeeb8f3 100644 --- a/media-libs/mesa-amber/mesa-amber-21.3.9.ebuild +++ b/media-libs/mesa-amber/mesa-amber-21.3.9-r1.ebuild @@ -94,6 +94,10 @@ x86? ( usr/lib/libGLX_amber.so.0.0.0 )" +PATCHES=( + "${FILESDIR}"/${PN}-i915c.patch +) + python_check_deps() { python_has_version ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" }
