2 ms·
The vendor kernels are worthless, tainted, piles of crap. Vendors rarely, if ever, maintain them once they are posted publicly. The GPU still requires proprieta
by craftyguy 8y ago
The vendor kernels are worthless, tainted, piles of crap. Vendors rarely, if ever, maintain them once they are posted publicly. The GPU still requires proprietary blobs to be even remotely useful.
- stefan_ 8y agoOf course. But they contain non-zero amounts of information on the chip so you can do a proper implementation or, much less ambitious, update it for newer kernel versions.
- craftyguy 8y agoNot in my experience. The code in the kernel is usually just a shim for loading the blobs that do the real work.
- stefan_ 8y agoAll the reverse-engineered GPU drivers we have now (freedreno, etnaviv, nouveau, lima) started out with intercepting kernel ioctls, being able to observe the blobs at work. Many of them at one point ran with the vendor kernel interface but open-source userspace. In many ways the kernel part of a GPU is arguably the least important part and it's the userland where the shader compiler sits and produces the magic, but if you start from nothing it's very useful to have a working kernel interface that initializes the hardware and accepts command streams to run.