Mesa and DRI fixes
cover Mesa and DRI fixes
Hi,
This series is mostly based on Valentin's Mesa upgrade with some tweaks to the Python, a build fix, and changing DRI3 to be disabled rather than enabled. I spoke to a few colleagues who work on the graphics system and the conclusion was that DRI3 isn't ready to replace DRI2 just yet.
Ross
The following changes since commit 66d5be204fd339cc84a0ae92d3923a8c1e6f1389:
bitbake: bitbake: show wildcard appends for bitbake-layers (2014-06-06 10:33:19 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib ross/mesa
for you to fetch changes up to 521c60cab274b7833562f18907efe4bf51bd5d42:
xorg-xserver: disable DRI3 by default (2014-06-09 13:49:38 +0100)
----------------------------------------------------------------
Ross Burton (2):
mesa: add build-dependency on libxml2-native
xorg-xserver: disable DRI3 by default
Valentin Popa (1):
mesa: upgrade to 10.1.3
.../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} | 0
meta/recipes-graphics/mesa/mesa.inc | 30 +++++++++++++-------
.../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} | 4 +--
meta/recipes-graphics/mesa/mesa_git.bb | 4 +--
.../recipes-graphics/xorg-xserver/xserver-xorg.inc | 1 +
5 files changed, 24 insertions(+), 15 deletions(-)
rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)Ross Burton (2):
mesa: add build-dependency on libxml2-native
xorg-xserver: disable DRI3 by default
Valentin Popa (1):
mesa: upgrade to 10.1.3
.../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} | 0
meta/recipes-graphics/mesa/mesa.inc | 30 +++++++++++++-------
.../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} | 4 +--
meta/recipes-graphics/mesa/mesa_git.bb | 4 +--
.../recipes-graphics/xorg-xserver/xserver-xorg.inc | 1 +
5 files changed, 24 insertions(+), 15 deletions(-)
rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)Signature · 1 line
1.7.10.4
PATCH 1/3 mesa: add build-dependency on libxml2-native
glapi/gen needs the libxml2 Python module, but this isn't listed as a build dependency.
--- meta/recipes-graphics/mesa/mesa.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-graphics/mesa/mesa.inc +1 -1
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eac INC_PR = "r9" PE = "2" -DEPENDS = "expat makedepend-native flex-native bison-native udev" +DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native udev" PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa"
Signature · 1 line
1.7.10.4
PATCH 2/3 mesa: upgrade to 10.1.3
In reply to Ross BurtonFrom: Valentin Popa <[email protected]>
libdricore was removed and replaced with a megadriver with hardlinks from the old driver names.
Add PACKAGECONFIG for DRI3 but disable by default as there are currently regressions compared to DRI2.
License is unchanged.
---
.../mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} | 0
meta/recipes-graphics/mesa/mesa.inc | 28 +++++++++++++-------
.../mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} | 4 +--
meta/recipes-graphics/mesa/mesa_git.bb | 4 +--
4 files changed, 22 insertions(+), 14 deletions(-)
rename meta/recipes-graphics/mesa/{mesa-gl_9.2.5.bb => mesa-gl_10.1.3.bb} (100%)
rename meta/recipes-graphics/mesa/{mesa_9.2.5.bb => mesa_10.1.3.bb} (82%)meta/recipes-graphics/mesa/mesa-gl_10.1.3.bb renamed from meta/recipes-graphics/mesa/mesa-gl_9.2.5.bb +0 -0
meta/recipes-graphics/mesa/mesa.inc +18 -10
@@ -10,9 +10,8 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf" +LIC_FILES_CHKSUM = "file://docs/license.html;md5=6a23445982a7a972ac198e93cc1cb3de" -INC_PR = "r9" PE = "2" DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native udev"
@@ -39,6 +38,7 @@ DRIDRIVERS = "swrast" DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915" DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915" PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm" +PACKAGECONFIG[dri3] = "--enable-dri3, --disable-dri3, dri3proto presentproto libxshmfence" EXTRA_OECONF += "--enable-gbm"
@@ -78,7 +78,6 @@ RDEPENDS_${PN}-dev = "" PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libosmesa libosmesa-dev \ libgl-mesa libgl-mesa-dev \ - libdricore libdricore-dev \ libglapi libglapi-dev \ libgbm libgbm-dev \ libgles1-mesa libgles1-mesa-dev \
@@ -88,6 +87,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libegl-gallium libgbm-gallium \ libopenvg libopenvg-dev \ libxvmcsoftpipe libxvmcsoftpipe-dev \ + mesa-megadriver \ " do_install_append () {
@@ -130,15 +130,24 @@ python __anonymous() { } python mesa_populate_packages() { - dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri") - pkgs = ['mesa', 'mesa-dev', 'mesa-dbg'] - pkgs += do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-driver-%s', 'Mesa %s DRI driver', extra_depends='') for pkg in pkgs: d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-")) d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa-", "mesa-dri-")) d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-")) - + + import re + dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri") + dri_pkgs = os.listdir(d.getVar('PKGD', True) + dri_drivers_root) + lib_name = d.expand("${MLPREFIX}mesa-megadriver") + for p in dri_pkgs: + m = re.match('^(.*)_dri\.so$', p) + if m: + pkg_name = " mesa-driver-%s" % legitimize_package_name(m.group(1)) + d.appendVar("RPROVIDES_%s" % lib_name, pkg_name) + d.appendVar("RCONFLICTS_%s" % lib_name, pkg_name) + d.appendVar("RREPLACES_%s" % lib_name, pkg_name) + pipe_drivers_root = os.path.join(d.getVar('libdir', True), "gallium-pipe") do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='') }
@@ -148,8 +157,8 @@ PACKAGESPLITFUNCS_prepend = "mesa_populate_packages " PACKAGES_DYNAMIC += "^mesa-driver-.*" FILES_${PN}-dbg += "${libdir}/dri/.debug/*" - -FILES_libdricore = "${sysconfdir}/drirc ${libdir}/libdricore*.so.*" +FILES_${PN} += "${sysconfdir}/drirc" +FILES_mesa-megadriver = "${libdir}/dri/*" FILES_libegl-mesa = "${libdir}/libEGL.so.*" FILES_libgbm = "${libdir}/libgbm.so.*" FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
@@ -164,7 +173,6 @@ FILES_libopenvg = "${libdir}/libOpenVG.so.*" FILES_libxvmcsoftpipe = "${libdir}/libXvMCsoftpipe.so.*" FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc" -FILES_libdricore-dev = "${libdir}/libdricore*.*" FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
meta/recipes-graphics/mesa/mesa_10.1.3.bb renamed from meta/recipes-graphics/mesa/mesa_9.2.5.bb +2 -2
@@ -5,8 +5,8 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \ file://0006-fix-out-of-tree-egl.patch \ " -SRC_URI[md5sum] = "9fb4de29ca1d9cfd03cbdefa123ba336" -SRC_URI[sha256sum] = "b46ab9efed176df0591993397594d712ada9da6a47fd31bbe75050fe28eb6bf0" +SRC_URI[md5sum] = "ba6dbe2b9cab0b4de840c996b9b6a3ad" +SRC_URI[sha256sum] = "b2615e236ef25d0fb94b8420bdd2e2a520b7dd5ca2d4b93306154f7fd4adecc3" S = "${WORKDIR}/Mesa-${PV}"
meta/recipes-graphics/mesa/mesa_git.bb +2 -2
@@ -5,8 +5,8 @@ DEFAULT_PREFERENCE = "-1" LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf" PR = "${INC_PR}.0" -SRCREV = "4636e87191fddd492ed8c61ba61faf4b2d89b2e4" -PV = "9.2.5+git${SRCPV}" +SRCREV = "0028eb1083e6adc110a23a5f02c993cda217067a" +PV = "10.1.3+git${SRCPV}" SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa \ file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
Signature · 1 line
1.7.10.4
PATCH 3/3 xorg-xserver: disable DRI3 by default
In reply to Ross BurtonAdd a PACKAGECONFIG for DRI3 but don't enable it yet.
Based on a patch by Valentin Popa <[email protected]>.
[YOCTO #6402]
--- meta/recipes-graphics/xorg-xserver/xserver-xorg.inc | 1 + 1 file changed, 1 insertion(+)
meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +1 -0
@@ -120,6 +120,7 @@ PACKAGECONFIG ??= "udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri d PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev" PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,glproto virtual/mesa xf86driproto" PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,dri2proto" +PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,dri3proto libxshmfence" PACKAGECONFIG[glx] = "--enable-glx --enable-glx-tls,--disable-glx,glproto virtual/libgl virtual/libx11" do_install_append () {
Signature · 1 line
1.7.10.4