https://bugs.freedesktop.org/show_bug.cgi?id=98964
--- Comment #14 from Emil Velikov emil.l.velikov@gmail.com --- (In reply to Zoltán Böszörményi from comment #12)
(In reply to Emil Velikov from comment #11)
Above all: yes using hard links is nasty.
Thanks for confirming. :-)
If you're having a single (or multiple fixed) GPU system then building multiple drivers is a _very_ bad idea. If you're doing that for embedded systems then it gets even worse. Thus having separate $driver subpackages makes no sense :-(
I never said it is the same machine all across the board. All of them are single GPU ones, but historically we have systems with: AMD RS780 NVIDIA (ION1, ION2 and some third one, for our workload, Nouveau is enough) AMD Kabini AMD Kaveri Intel D525 Most recently Intel J1900
The same OS must run on all of them, so it does make sense to build different drivers into Mesa but it was also a necessity to save space where we can. Hence the symlink solution. Custom made OS based on Yocto.
If it's an embedded solution you'd want to optimise for the particular hardware. Namely - compiler optimisations, slimmed down kernel, small drivers, static linking, LTO etc.
Sounds like you're aiming at embedded while doing things like a normal distro (barring that those actually ship all the drivers in one package).
Even if the hardlinks are used, bitbake in Yocto has a separate packaging stage after "make install" that copies files instead of moving them so even a single subpackage containing all drivers would end up with broken hardlinks, thus requiring multiples of what is needed solely for the gallium_dri.so and mesa_dri_drivers.so megadrivers.
Sounds like Yocto is broken (like many distros were). Lookup on cp's --preserve= options.
I fear I dealt more than enough off-topic. If you're interested in more poke me privately or via the mesa-dev mailing list.