Linux Graphics: VKMS and libei Work
-
Maira Canal: Rotating Planes on VKMS
In my last blog post, I described a bit of my previous work on the
rustgem
project, and after that, as I had finished the VGEM features, I sent a RFC to the mailing list. Although I still need to work on somerustgem
feedback, I started to explore more of the KMS (Kernel Mode Setting) and its properties.I talked to my mentor Melissa Wen, one of the VKMS maintainers, and she proposed implementing plane rotation capabilities to VKMS. The VKMS (Virtual Kernel Mode Setting) is a software-only KMS driver that is quite useful for testing and running X (or similar compositors) on headless machines. It sounded like a great idea, as I would like to explore a bit more of the KMS side of things.
What is Plane Rotation?
In order to have an image on a display, we need to go through the whole Kernel Mode Setting (KMS) Display Pipeline. The pipeline has a couple of different objects, such as framebuffers, planes, and CRTCs, and the relationship between them can be quite complicated. If you are interested in the KMS Display Pipeline, I recommend reading the great KMS documentation. But here we are focused in only one of those abstractions, the plane.
-
Peter Hutterer: libei and a fancy protocol
libei is the library for Emulated Input - see this post for an introduction. Like many projects, libei was started when it was still unclear if it could be the right solution to the problem. In the years (!) since, we've upgraded the answer to that question from "hopefully" to "yeah, I reckon" - doubly so since we added support for receiver contexts and got InputLeap working through the various portal changes.