Re:AMD Launches Ryzen 5000 Mobile: Zen 3 and Cezanne for Not...
by chrismorgan on Friday January 15, 2021 @03:54PM
(#25796299)
I certainly don’t understand all that I’m writing of—it’s based purely on what I’ve read, which has mostly been casual rather than deliberate research. It’s almost certain that I’ve made errors.
> The proprietary NVIDIA doesn't provide the same user space API as the open source drivers. While the open source drivers allows the display server to use the Generic Buffer Manager (gbm) and Kernel Mode Setting (KMS) APIs to manage hardware buffers, set modes, and queue page flips, configure hardware planes, the NVIDIA driver forces the display server to treat it differently. Instead of these APIs, the compositor uses a combination of KMS, to set modes, and EGL (EGLDevice & EGLStream extensions to be precise) to indirectly queue page flips by linking an EGLSurface, corresponding to an area of the screen, with a CRTC of an EGLDevice, using an EGLStream.
My OpenGL and Mesa remarks are very probably wrong.
The impression that I have received is that the window manager is probably the main thing that needs to be aware of these differences and NVIDIA ignoring the standards (this is why Sway doesn’t support NVIDIA’s proprietary drivers: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html), but that anything wanting to actually use GPU capabilities may well need to be aware as well.
—
What I have heard on the GPU drivers situation is that Radeon used to be terrible (and NVIDIA less terrible despite doing things its own way rather than the standard way), but that they overhauled it all completely so that for at least the last five years it’s been great.
I’m referring to things like the Background section of https://wiki.gnome.org/Initiatives/Wayland/NVIDIA:
> The proprietary NVIDIA doesn't provide the same user space API as the open source drivers. While the open source drivers allows the display server to use the Generic Buffer Manager (gbm) and Kernel Mode Setting (KMS) APIs to manage hardware buffers, set modes, and queue page flips, configure hardware planes, the NVIDIA driver forces the display server to treat it differently. Instead of these APIs, the compositor uses a combination of KMS, to set modes, and EGL (EGLDevice & EGLStream extensions to be precise) to indirectly queue page flips by linking an EGLSurface, corresponding to an area of the screen, with a CRTC of an EGLDevice, using an EGLStream.
My OpenGL and Mesa remarks are very probably wrong.
The impression that I have received is that the window manager is probably the main thing that needs to be aware of these differences and NVIDIA ignoring the standards (this is why Sway doesn’t support NVIDIA’s proprietary drivers: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html), but that anything wanting to actually use GPU capabilities may well need to be aware as well.
—
What I have heard on the GPU drivers situation is that Radeon used to be terrible (and NVIDIA less terrible despite doing things its own way rather than the standard way), but that they overhauled it all completely so that for at least the last five years it’s been great.