For those interested in Linux graphics, system compositors, and low-level Linux technical reading, Thoughts on Linux System Compositors by David is worth reading. His blog post covers virtual terminals, systemd, current problems, logind, limitations, quirks, the Wayland System Compositor, the Kernel Log driver, and much more.
For those wanting to skip all of the low-level details, Herrmann concludes his post with:
While I was an enthusiastic advocate of the system-compositor idea, it did become pretty clear, that the performance penalty for input-event forwarding and the huge required kernel API extensions make it very unlikely that it will get accepted in the community. Furthermore, besides global keyboard handling, most technical concerns on the logind idea can be solved with quirks like wlsystemc and uvtd.
This post didn’t discuss or highlight the low-level technical concerns on kernel VTs, but I hope it explains why we get a lot more flexibility and possibilities by moving session handling into user-space. logind can be taught boot-splash awareness, emergency-handling or forced session-switching, which will be very unlikely to get implemented in kernel VTs.
But independent of how we implement it, moving VT handling to userspace and disabling CONFIG_VT still has one major advantage: it simplifies kernel programming a lot. And I know, nearly every DRM developer would be very happy to see this happen!
David Herrmann is the student developer currently working on DRM render nodes through the Google Summer of Code and he's also been responsible for SimpleDRM, FBLOG, and numerous other interesting open-source code contributions.