Bugzilla – Bug 76377
DRI3 should only be enabled on Linux due to a udev dependency
Last modified: 2014-04-09 14:21:24 UTC
The configure script defaults to enabling DRI3 on every platform but it will only work on Linux due to a udev dependency.
Unless --disable-dri3 is specified mesa configure will error on platforms where udev isn't available when DRI3 should really be disabled by default.
checking for LIBDRM... yes
checking for LIBUDEV... no
checking for GLPROTO... yes
checking for DRI2PROTO... yes
configure: error: DRI3 requires libudev >= 151
Created attachment 96176 [details] [review]
configure: drop duplicated libudev check
Thanks for the report Jonathan.
FWIW there is a bit of confusion wrt udev vs libudev. The latter is just a "dummy wrapper" library that deals with searching, iterating (and other) operations of the sysfs nodes.
With that said, the attached patch drops the duplicated check, and disables dri3 for non linux platforms.
Thanks, though perhaps the logic of the test would be better inverted? You seem to have missed disabling dri3 on gnu* (hurd) for example.
Passing --disable-dri3 to configure also disables the test for dri3proto but it seems that isn't disabled with your patch?
checking for DRI3PROTO... no
configure: error: Package requirements (dri3proto >= 1.0) were not met:
Created attachment 96181 [details] [review]
configure: enable dri3 only on linux
After some coffee it all makes sense :-) The updated patch should handle things properly now.
Yes, the updated patch seems to have the --disable-dri3 behaviour by default here on OpenBSD. Thanks.
The patch should also be applied on 10.1 brach.
Well the changes to not get the drm driver from the x server leaves non udev system with 'unknown chipset' and gpu hangs. So this patch alone isn't going to help matters on stable much. Even master needs something along the lines of http://marc.info/?l=mesa3d-dev&m=139515481925008&w=2 in order to load the dri drivers.
Both patches are in master now, and a tagged for the 10.1 stable branch.