4 ms·
This is why it was so infuriating when NVIDIA refused to implement the stanadrd interface: they made the ecosystem "fragmented" for their users, and the PR cost
by microcolonel 7y ago
This is why it was so infuriating when NVIDIA refused to implement the stanadrd interface: they made the ecosystem "fragmented" for their users, and the PR cost of that bears on the compositor writers, rather than NVIDIA.
Having different compositors at the level they're at allows a lot more interesting innovations to be made, and aside from NVIDIA's tomfoolery, it has not caused significant inconsistency. Everyone uses libinput, almost everyone uses colord, and everyone implements GBM.
Wayland is substantially different from X, and the ways in which it is different are good. NVIDIA did the one thing we needed people not to do.
- orbifold 7y agoHave you considered that maybe it is the other way around: The standardised solution is inferior and NVIDIAs superior? Given the fact NVIDIA engineers probably know a lot more about modern graphics stacks than some Redhat employee this seems likely.
- the_why_of_y 7y agohttps://old.reddit.com/r/linux/comments/bdip8a/nvidias_patches_merged_into_kwin_does_that/el0yu5n/ https://old.reddit.com/r/linux/comments/bdip8a/nvidias_patch...
- orbifold 7y agoSo the argument it is a bad implementation because it doesn’t work with the Wayland model... maybe that model is broken then.
- microcolonel 7y agoSome NVIDIA engineers probably know a lot about graphics stacks; charitably I'd say that those ones aren't the ones tasked with insisting on EGLStreams, which lacks a considerable number of crucial features. To be honest though, NVIDIA engineers do not spend any time engineering graphics stacks at all; they write graphics drivers for stacks that are already largely specified. They're really good at shipping hundreds of megabytes of dirty hack code to patch popular shaders from ISVs to run slightly faster on their hardware, and probably great at writing shader compilers and threaded GL drivers.
- orbifold 7y agoInstead of repeating arguments made elsewhere maybe this post sheds some light on why EGLStreams are a superior solution: https://devtalk.nvidia.com/default/topic/925605/linux/nvidia-364-12-release-vulkan-glvnd-drm-kms-and-eglstreams/ https://devtalk.nvidia.com/default/topic/925605/linux/nvidia...
- microcolonel 7y agoNote the first comment there shows that their EGLStreams implementation shipped with vsync broken. EGLStreams seems attractive to NVIDIA because it was easy to implement (incorrectly). The features they talk about enabling on Tegra are not impossible with GBM, it just may involve adding a feature.