Right, exactly. DRM is responsible for memory management, mode-setting, command submission and is capable of basically everything the original article asks for.<p>Unfortunately only the Free Software drivers fully support it, AMD is planning to switch its proprietary drivers to it (using their new amdgpu drm driver), and Nvidia doesn&#x27;t use it on desktop at all but will likely at least implement the prime buffer sharing for optimus at some point.<p>There are various reasons for the current situation, e.g. Nvidia&#x27;s OpenGL drivers are simply the best (on both Windows and GNU&#x2F;Linux) so they had little reason to play nice with others, especially given that their mode-setting code was a bit better than what DRM used to do which is not the case anymore and hasn&#x27;t been for a while, but companies need financial incentives to rewrite parts of their working codebases.<p>And even if you get all of the desktop GPUs on top of DRM then you&#x27;ll still have Android and mobile GPUs. Certain mobile GPUs do work with DRM but that level of support is usually embarrassing and mostly done to be able to say &quot;we did&quot; rather than actually support any useful features in it which, is not completely unreasonable, because DRM doesn&#x27;t buy you almost anything on Android right now so why bother.<p>Now, having said that, WDDM, particularly 2.0, does do some things that DRM can not. But DRM is not far behind (and capable of certain things wddm can not) and the real travesty is that not all GPU drivers on Linux (both GNU&#x2F;Linux and Android) use it.<p>The perfect Linux (again, both GNU&#x2F;Linux and Android) graphics stack will be: DRM kernel driver (not only command submission but memory management and mode-setting), Vulkan user-space driver (Vulkan will become basically what Gallium is right now which is a common layer on top of which we&#x27;ll implement other, more friendly graphics apis) and Wayland.<p>DRM solves the multi-gpu sharing, synching, recovery, memory management, gives us a central place to manage security (although with GPUs that&#x27;s a sort of an &quot;interesting&quot; topic which is a long discussion in itself) and do some rudimentary scheduling (which is, as mentioned previously, also &quot;interesting&quot;), Vulkan, as a side-effect of the fact that it&#x27;s so tight and will come with a conformance framework, will make drivers a lot more predictable and stable and the Wayland faq explains why it&#x27;s a neater choice than X11.<p>Unfortunately, while Google will adopt Vulkan, I doubt they&#x27;ll have enough good will and reason to drop SurfaceFlinger and Gralloc in favor of DRM and Wayland. So we won&#x27;t likely get to that stack anytime soon.