3 ms·
GBM is a very useful standard if you only ever want to request buffers from drivers that use the Linux kernel's GPU buffer management code and modesetting code.
by makomk 7y ago
GBM is a very useful standard if you only ever want to request buffers from drivers that use the Linux kernel's GPU buffer management code and modesetting code. (Preferably only Mesa-based drivers too.) NVidia doesn't use this and probably can't for licensing and other reasons. If you want to talk to any graphics driver that isn't correctly and intimately entwined with the right parts of the Linux kernel, GBM is basically useless. It is not in any way, shape, or form a generic standard for buffer management.
(In principle GBM isn't quite a single-implementation Mesa only standard - third party implementations are possible, though the only one that exists right now is by ARM for their newer Mali GPUs. People seem to have had mixed results with it and I'm not sure it's even intended to run desktop Wayland.)
- csande17 7y agoI'm not super familiar with the details of this stuff -- does this mean that there's basically no hope of any wlroots-based window manager ever working on non-Linux operating systems like BSD?
- makomk 7y agoMost of the BSD variants have some (generally outdated) port of the Linux kernel graphics stack, sometimes even with a wrapper layer to try and make the BSD kernel internals look enough like Linux for it to run unmodified. So it's probably not completely hopeless, but that's mainly because the best shot at getting the graphics accceleration it needs is a straight port of the Linux kernel drivers. (At least for non-NVidia users.)
- bojanz 7y agoThankfully, getting less and less outdated (thanks to FreeBSD's wrapper layer, and OpenBSD Foundation sponsoring its own work). FreeBSD 12.0 has Linux DRM 4.16 code (April 2018), while -current has Linux DRM 5.0 code (March 2019). OpenBSD -current (next release) has Linux 4.19 DRM code (October 2018, LTS), with initial AMDGPU backports from 4.20 (AMD Picasso & Raven 2 support).
- Sir_Cmpwn 7y agowlroots already supports FreeBSD and OpenBSD support is in the works.