Skip to contentSkip to conversation

package/x11r7/xserver_xorg-server: Fixes for dri2 and drm support

PATCH New Bernd Kuhls 2 participants 7 messages Aug 8, 2015 – Aug 25, 2015

lore
Share & tools
lore
#0 lore raw

cover package/x11r7/xserver_xorg-server: Fixes for dri2 and drm support

Hi,

this patch series is an alternative approach to Yann's patch series[1] which should fix the various build errors currently seen on the autobuilders.

Regards, Bernd

[1] http://patchwork.ozlabs.org/patch/502355/

    http://patchwork.ozlabs.org/patch/502356/

Bernd Kuhls (3):
package/x11r7/xserver_xorg-server: Fix compilation of modesetting
driver
package/x11r7/xserver_xorg-server: Fix libdrm dependency handling package/x11r7/xserver_xorg-server: Add libdrm dependency when dri or
dri2 is enabled

 .../0001-modesettings-needs-dri2.patch             | 19 +++++++++++++++++++
 package/x11r7/xserver_xorg-server/Config.in        |  2 ++
 .../xserver_xorg-server/xserver_xorg-server.mk     | 22 +++++++++++++++-------
 3 files changed, 36 insertions(+), 7 deletions(-)
 create mode 100644 package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/3 package/x11r7/xserver_xorg-server: Fix compilation of modesetting driver

Kernel modesettings support also depends on dri2, see
http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46

Fixes
http://autobuild.buildroot.net/results/f26/f26018d5ad62bc7b61623dd173dc1e92e2c958a4/

---
 .../0001-modesettings-needs-dri2.patch                | 19 +++++++++++++++++++
 .../x11r7/xserver_xorg-server/xserver_xorg-server.mk  |  7 +++++--
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch
package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch new file +19 -0
new file mode 100644
index 0000000..4ef95ef
@@ -0,0 +1,19 @@
+Kernel modesettings support also depends on dri2, see
+http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46
+
+Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=91584
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+diff -uNr xorg-server-1.17.2.org/configure.ac xorg-server-1.17.2/configure.ac
+--- xorg-server-1.17.2.org/configure.ac	2015-06-16 17:42:40.000000000 +0200
++++ xorg-server-1.17.2/configure.ac	2015-08-08 10:44:59.702382624 +0200
+@@ -2036,7 +2036,7 @@
+ 	        XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
+ 	fi
+ 
+-	if test "x$DRM" = xyes; then
++	if test "x$DRM" = xyes -a "x$DRI2" = xyes; then
+ 		dnl 2.4.46 is required for cursor hotspot support.
+ 		PKG_CHECK_EXISTS(libdrm >= 2.4.46)
+ 		XORG_DRIVER_MODESETTING=yes
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +5 -2
index 79d663c..566d93a 100644
@@ -10,7 +10,10 @@ XSERVER_XORG_SERVER_SITE = http://xorg.freedesktop.org/releases/individual/xserv
 XSERVER_XORG_SERVER_LICENSE = MIT
 XSERVER_XORG_SERVER_LICENSE_FILES = COPYING
 XSERVER_XORG_SERVER_INSTALL_STAGING = YES
+# xfont_font-util is needed only for autoreconf
+XSERVER_XORG_SERVER_AUTORECONF = YES
 XSERVER_XORG_SERVER_DEPENDENCIES = 	\
+	xfont_font-util			\
 	xutil_util-macros 		\
 	xlib_libXfont 			\
 	xlib_libX11 			\
@@ -143,8 +146,8 @@ endif
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
 XSERVER_XORG_SERVER_DEPENDENCIES += udev
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev
-# udev kms support depends on libdrm
-ifeq ($(BR2_PACKAGE_LIBDRM),y)
+# udev kms support depends on libdrm and dri2
+ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_XPROTO_DRI2PROTO),yy)
 XSERVER_XORG_SERVER_DEPENDENCIES += libdrm
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms --enable-libdrm
 else
Signature · 1 line
2.1.4
#2 lore raw

PATCH 1/3 package/x11r7/xserver_xorg-server: Fix compilation of modesetting driver

Dear Bernd Kuhls,

Quoted 55 lines · Bernd Kuhls

Kernel modesettings support also depends on dri2, see
http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46

Fixes
http://autobuild.buildroot.net/results/f26/f26018d5ad62bc7b61623dd173dc1e92e2c958a4/

---
 .../0001-modesettings-needs-dri2.patch                | 19 +++++++++++++++++++
 .../x11r7/xserver_xorg-server/xserver_xorg-server.mk  |  7 +++++--
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch
package/x11r7/xserver_xorg-server/0001-modesettings-needs-dri2.patch new file +19 -0
new file mode 100644
index 0000000..4ef95ef
@@ -0,0 +1,19 @@
+Kernel modesettings support also depends on dri2, see
+http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Makefile.am#n46
+
+Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=91584
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+diff -uNr xorg-server-1.17.2.org/configure.ac xorg-server-1.17.2/configure.ac
+--- xorg-server-1.17.2.org/configure.ac	2015-06-16 17:42:40.000000000 +0200
++++ xorg-server-1.17.2/configure.ac	2015-08-08 10:44:59.702382624 +0200
+@@ -2036,7 +2036,7 @@
+ 	        XORG_SYS_LIBS="$XORG_SYS_LIBS $XORG_MODULES_LIBS"
+ 	fi
+ 
+-	if test "x$DRM" = xyes; then
++	if test "x$DRM" = xyes -a "x$DRI2" = xyes; then
+ 		dnl 2.4.46 is required for cursor hotspot support.
+ 		PKG_CHECK_EXISTS(libdrm >= 2.4.46)
+ 		XORG_DRIVER_MODESETTING=yes
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +3 -0
index 79d663c..566d93a 100644
@@ -10,7 +10,10 @@ XSERVER_XORG_SERVER_SITE = http://xorg.freedesktop.org/releases/individual/xserv
 XSERVER_XORG_SERVER_LICENSE = MIT
 XSERVER_XORG_SERVER_LICENSE_FILES = COPYING
 XSERVER_XORG_SERVER_INSTALL_STAGING = YES
+# xfont_font-util is needed only for autoreconf
+XSERVER_XORG_SERVER_AUTORECONF = YES
 XSERVER_XORG_SERVER_DEPENDENCIES = 	\
+	xfont_font-util			\
 	xutil_util-macros 		\
 	xlib_libXfont 			\
 	xlib_libX11 			\

package/x11r7/xserver_xorg-server/xserver_xorg-server.mk endif · line 153

Quoted 10 lines
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +2 -2
@@ -143,8 +146,8 @@ endif
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
 XSERVER_XORG_SERVER_DEPENDENCIES += udev
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev
-# udev kms support depends on libdrm
-ifeq ($(BR2_PACKAGE_LIBDRM),y)
+# udev kms support depends on libdrm and dri2
+ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_XPROTO_DRI2PROTO),yy)
 XSERVER_XORG_SERVER_DEPENDENCIES += libdrm
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms --enable-libdrm
 else

My testing was just a compile test.

Regards,

Vincent.

#3 lore raw

PATCH 2/3 package/x11r7/xserver_xorg-server: Fix libdrm dependency handling

In reply to Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/2e1/2e12f1a91812f027d89fcceeb41d6c88ef7b9d32/

---
 package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +10 -5
index 566d93a..c88614b 100644
@@ -86,6 +86,12 @@ endif
 ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y)
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-xorg
 XSERVER_XORG_SERVER_DEPENDENCIES += libpciaccess
+ifeq ($(BR2_PACKAGE_LIBDRM),y)
+XSERVER_XORG_SERVER_DEPENDENCIES += libdrm
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-libdrm
+else
+XSERVER_XORG_SERVER_CONF_OPTS += --disable-libdrm
+endif
 else
 XSERVER_XORG_SERVER_CONF_OPTS += --disable-xorg
 endif
@@ -125,10 +131,10 @@ XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive --disable-xfbdev
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
-XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-libdrm --enable-glx
-XSERVER_XORG_SERVER_DEPENDENCIES += libdrm mesa3d xproto_xf86driproto
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-glx
+XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto
 else
-XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-libdrm --disable-glx
+XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-glx
 endif
 
 ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX),y)
@@ -148,8 +154,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES += udev
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev
 # udev kms support depends on libdrm and dri2
 ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_XPROTO_DRI2PROTO),yy)
-XSERVER_XORG_SERVER_DEPENDENCIES += libdrm
-XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms --enable-libdrm
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms
 else
 XSERVER_XORG_SERVER_CONF_OPTS += --disable-config-udev-kms
 endif
Signature · 1 line
2.1.4
#4 lore raw

PATCH 2/3 package/x11r7/xserver_xorg-server: Fix libdrm dependency handling

Dear Bernd Kuhls,

Quoted 41 lines · Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/2e1/2e12f1a91812f027d89fcceeb41d6c88ef7b9d32/

---
 package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +9 -3
index 566d93a..c88614b 100644
@@ -86,6 +86,12 @@ endif
 ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y)
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-xorg
 XSERVER_XORG_SERVER_DEPENDENCIES += libpciaccess
+ifeq ($(BR2_PACKAGE_LIBDRM),y)
+XSERVER_XORG_SERVER_DEPENDENCIES += libdrm
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-libdrm
+else
+XSERVER_XORG_SERVER_CONF_OPTS += --disable-libdrm
+endif
 else
 XSERVER_XORG_SERVER_CONF_OPTS += --disable-xorg
 endif
@@ -125,10 +131,10 @@ XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive --disable-xfbdev
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
-XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-libdrm --enable-glx
-XSERVER_XORG_SERVER_DEPENDENCIES += libdrm mesa3d xproto_xf86driproto
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-glx
+XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto
 else
-XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-libdrm --disable-glx
+XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-glx
 endif
 
 ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX),y)

package/x11r7/xserver_xorg-server/xserver_xorg-server.mk XSERVER_XORG_SERVER_DEPENDENCIES += udev · line 160

Quoted 9 lines
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +1 -2
@@ -148,8 +154,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES += udev
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev
 # udev kms support depends on libdrm and dri2
 ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_XPROTO_DRI2PROTO),yy)
-XSERVER_XORG_SERVER_DEPENDENCIES += libdrm
-XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms --enable-libdrm
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms
 else
 XSERVER_XORG_SERVER_CONF_OPTS += --disable-config-udev-kms
 endif

My testing was just a compile test.

Regards,

Vincent.

#5 lore raw

PATCH 3/3 package/x11r7/xserver_xorg-server: Add libdrm dependency when dri or dri2 is enabled

In reply to Bernd Kuhls

Fixes compile error using this defconfig
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XPROTO_DRI2PROTO=y

drmVersionPtr is referenced not only in hw/xfree86/dri2/dri2.c but also in hw/xfree86/dri/dri.c.

---
 package/x11r7/xserver_xorg-server/Config.in | 2 ++
 1 file changed, 2 insertions(+)
package/x11r7/xserver_xorg-server/Config.in +2 -0
index f0ec598..8b794b3 100644
@@ -92,6 +92,8 @@ choice
 
 config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
 	bool "Modular X.org"
+	select BR2_PACKAGE_LIBDRM if (BR2_PACKAGE_XPROTO_XF86DRIPROTO || \
+		BR2_PACKAGE_XPROTO_DRI2PROTO)
 	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  This variant of the X.org server is the full-blown variant,
Signature · 1 line
2.1.4
#6 lore raw

PATCH 3/3 package/x11r7/xserver_xorg-server: Add libdrm dependency when dri or dri2 is enabled

Dear Bernd Kuhls,

Quoted 21 lines · Bernd Kuhls

Fixes compile error using this defconfig
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XPROTO_DRI2PROTO=y

drmVersionPtr is referenced not only in hw/xfree86/dri2/dri2.c but also in hw/xfree86/dri/dri.c.

---
 package/x11r7/xserver_xorg-server/Config.in | 2 ++
 1 file changed, 2 insertions(+)
package/x11r7/xserver_xorg-server/Config.in +0 -0
index f0ec598..8b794b3 100644

package/x11r7/xserver_xorg-server/Config.in choice · line 99

Quoted 8 lines
package/x11r7/xserver_xorg-server/Config.in +2 -0
@@ -92,6 +92,8 @@ choice
 
 config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
 	bool "Modular X.org"
+	select BR2_PACKAGE_LIBDRM if (BR2_PACKAGE_XPROTO_XF86DRIPROTO || \
+		BR2_PACKAGE_XPROTO_DRI2PROTO)
 	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  This variant of the X.org server is the full-blown variant,

My testing was just a compile test.

Regards,

Vincent.