I'm stuck between the hammer and the anvil here. I'd like NetBSD to use a recent MesaLib, the kind that uses LLVM. I keep getting reports that r600.so isn't actually functional*, and amdgpu would be even more noticeable.
I've done my best to improve support of MesaLib for modular xorg within pkgsrc, however: - NetBSD did not officially switch to modular xorg for x86 - I don't trust pkgsrc not to break modular xorg - I don't trust NetBSD to test pkgsrc-current before a branch is cut, so we are going to have random periods of time where you can't get a GUI, and frantic fixes will be needed. - With most of the testing going to be done on NetBSD-current, old releases are eventually going to fail. - LLVM will eventually require ever-newer C++, and old stable won't have it, and then we will need pkgsrc GCC - -> See joerg objections for the use of pkgsrc GCC I'm doing a lot of work to make MesaLib build. I'd really like not to do this, it took a lot of effort, and using the upstream build system is probably going to yield a less error-prone build, but I want graphics to work well. I'm at the mercy of upstream compatibility. MesaLib has a lot of code that looks like: src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp:#if LLVM_VERSION_MAJOR >= 7 src/gallium/drivers/swr/rasterizer/jitter/JitManager.cpp:#if LLVM_VERSION_MAJOR < 6 src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp:#if LLVM_VERSION_MAJOR >= 7 src/gallium/drivers/swr/rasterizer/jitter/jit_pch.hpp:#if LLVM_VERSION_MAJOR >= 5 src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp:#if LLVM_VERSION_MAJOR < 7 src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp:#if LLVM_VERSION_MAJOR < 7 So no, it's very not compatible. Hopefully we can major bump when LLVM major bumps. We're already past the point of major=1, so we had to patch all the code looking specifically for libGL.so.1 already. * Mine kicked the bucket, so I don't know. But it seemed that way!