Currently, by enabling the 'radeon' or 'radeonhd' use flags, Mesa builds DRI drivers for r100, r200, r300(-r500), and r600(-r700). Unless you've got multiple generations of graphics cards in your system, this is probably not ideal. The attached patch, while retaining the current behavior of the 'radeon' and 'radeonhd' use flags, allows users to build only the DRI driver they need for their radeons
Created attachment 222711 [details, diff] Proposed change Note: the 'if !use video_cards_r100 && !use video_cards_r200 && !use video_cards_r300' line should also include '&& !use video_cards_r600', but I couldn't figure out how to add that. Adding it to the end of the line caused vi to do a line wrap, and once this happened, ebuild wouldn't source the file.
@Remi: should we split somehow also the intels?
Created attachment 228767 [details, diff] Updated patch, with Intel support
-VIDEO_CARDS="intel mach64 mga none nouveau r128 radeon radeonhd savage sis svga tdfx via" +VIDEO_CARDS="i810 i915 -i965 intel mach64 mga none nouveau r100 r128 r200 r300 r600 radeon radeonhd savage sis svga tdfx via" Is it valid to use a negative value in VIDEO_CARDS? Paludis definitely bails on it. Portage seems to accept it with an added VIDEO_CARDS="--i965%" but setting VIDEO_CARDS="i965" in make.conf has no effect.
That was actually just a typo. It's fixed in the x11 repo. :)
So, I think the original plan was to do this for Mesa 7.9, but that didn't happen. Mesa 7.10 seems to be not too far off. Are there any objections to implementing this with the next Mesa 7.10 ebuild?
FTR, I'm not at all opposed to doing to this for 7.9. But regardless of which mesa version we do that for, we will have to write a _lot_ of documentation, including a full Mesa Guide to explain which USE flag does what, what drivers support gallium, along with ample links to wikipedia/xorg's wiki/mesa's wiki for people to figure it all out. IMHO, the ebuild and eselect module were just the easy part ;) Cheers
I suggest a savedconfig approach as compromise. This would allow users to have fine-grained control over which drivers are built. The documentation would not need to be updated, and the proliferation of USE flags would be contained. If that is ok with everyone, I will come up with a proof-of-concept in the x11 overlay in the next few days.
I talked with chithead on IRC today, so I should make note of it here too. I don't think Mesa's configuration is complicated enough to warrant a savedconfig system. savedconfig seems to be useful for thinks like busybox which use the menuconfig system (from the kernel) to configure features. With mesa though, we're just selecting a few video drivers and a couple other things. Given time, I don't have any problem with writing the documentation for the current video card selection system in the mesa ebuild in the overlay.
I'm fine with either solution as long as its correctly documented. Cheers
So we will defer this to another mesa release. I will move mesa-7.10 to portage in its current form then.
Committed with mesa-8.0. I'll write a mesa-8.0 doc.