Skip to contentSkip to conversation

package/libdrm: Remove i386/x86_64 dependency from Nouveau driver

PATCH New Bernd Kuhls 2 participants 6 messages Dec 19, 2015 – Mar 22, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 package/libdrm: Remove i386/x86_64 dependency from Nouveau driver

---
 package/libdrm/Config.in | 1 -
 1 file changed, 1 deletion(-)
package/libdrm/Config.in +0 -1
index cf1c13b..445a85b 100644
@@ -36,7 +36,6 @@ config BR2_PACKAGE_LIBDRM_AMDGPU
 
 config BR2_PACKAGE_LIBDRM_NOUVEAU
 	bool "nouveau"
-	depends on BR2_i386 || BR2_x86_64
 	help
 	  Install NVIDIA graphics driver.
 
Signature · 1 line
2.6.4
#1 lore raw

PATCH 2/2 package/x11r7/xdriver_xf86-video-nouveau: Fix DRI dependency

---
 package/x11r7/xdriver_xf86-video-nouveau/Config.in | 4 ++++
 1 file changed, 4 insertions(+)
package/x11r7/xdriver_xf86-video-nouveau/Config.in +4 -0
index 7e756e2..5fe659c 100644
@@ -1,6 +1,9 @@
 config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NOUVEAU
 	bool "xf86-video-nouveau"
 	depends on BR2_PACKAGE_MESA3D
+	# package depends on DRI support in xserver_xorg-server
+	# libdrm locking macros use armv6+ instructions on arm
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
 	select BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBDRM_NOUVEAU
@@ -16,3 +19,4 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NOUVEAU
 
 comment "xf86-video-nouveau needs mesa3d"
 	depends on !BR2_PACKAGE_MESA3D
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
Signature · 1 line
2.6.4
#2 lore raw

PATCH 2/2 package/x11r7/xdriver_xf86-video-nouveau: Fix DRI dependency

Dear Bernd Kuhls,

package/x11r7/xdriver_xf86-video-nouveau/Config.in line 9

Quoted 9 lines · Bernd Kuhls

config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NOUVEAU

package/x11r7/xdriver_xf86-video-nouveau/Config.in +3 -0
 	bool "xf86-video-nouveau"
 	depends on BR2_PACKAGE_MESA3D
+	# package depends on DRI support in xserver_xorg-server
+	# libdrm locking macros use armv6+ instructions on arm
+	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
 	select BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBDRM_NOUVEAU

I don't quite understand this one. Where are these locking macros implemented? In the nouveau xf86 driver? In the libdrm nouveau part? In the mesa3d nouveau part?

The way you worded the comment makes me think it's in libdrm (but I was unable to find those macros). And if they are in libdrm, then the dependency should also be used for the libdrm package.

Could you clarify?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 2/2 package/x11r7/xdriver_xf86-video-nouveau:Fix DRI dependency

Hi Thomas,

Am Sun, 20 Dec 2015 14:00:03 +0100 schrieb Thomas Petazzoni:

Quoted 8 lines

Dear Bernd Kuhls,

package/x11r7/xdriver_xf86-video-nouveau/Config.in

Quoted 4 lines · Bernd Kuhls

config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NOUVEAU

package/x11r7/xdriver_xf86-video-nouveau/Config.in +1 -0
 	bool "xf86-video-nouveau"
 	depends on BR2_PACKAGE_MESA3D
+	# package depends on DRI support in xserver_xorg-server +	# 

libdrm

Quoted 8 lines

Review

Quoted 4 lines

locking macros use armv6+ instructions on arm + depends on
!BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5

(quoted diff) +0 -0
 	select BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU select
 	BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_NOUVEAU

I don't quite understand this one. Where are these locking macros implemented? In the nouveau xf86 driver? In the libdrm nouveau part? In the mesa3d nouveau part?

the limitation comes from xserver_xorg-server:
https://git.busybox.net/buildroot/tree/package/x11r7/xserver_xorg-server/
xserver_xorg-server.mk#n133

xdriver_xf86-video-nouveau needs DRI support enabled in the xserver_xorg- server package, this is only true in this case:
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER)n$(BR2_ARM_CPU_ARMV4) $(BR2_ARM_CPU_ARMV5),yn)

I ported this limitation (no DRI support for armv4/5) to package/x11r7/ xdriver_xf86-video-nouveau/Config.in with this patch, along with the comment from xserver_xorg-server.mk and a reference to the xserver_xorg- server package to fix your build error on armv5:
http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/135186

Regards, Bernd

#4 lore raw

PATCH 2/2 package/x11r7/xdriver_xf86-video-nouveau: Fix DRI dependency

In reply to Bernd Kuhls

Hello,

Quoted 4 lines · Bernd Kuhls
---
 package/x11r7/xdriver_xf86-video-nouveau/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

I've just sent a series at
http://lists.busybox.net/pipermail/buildroot/2016-March/156858.html,
which I believe is a better fix for this problem. More details are available in the cover letter.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH 1/2 package/libdrm: Remove i386/x86_64 dependency from Nouveau driver

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 4 lines · Bernd Kuhls
---
 package/libdrm/Config.in | 1 -
 1 file changed, 1 deletion(-)

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com