Linux Graphics Demystified (2014) [pdf]
There are few things I hate with more passion than I do the Linux "Graphics Stack." I realize that it inherited a toxic culture from UNIX (remember the X/Motif/xNews/Suntools/Etc wars? I do.) and even today there is active warfare in the stack Wayland vs Xorg, GTK vs QT, Gnome vs KDE vs *desktop, HW Vendors vs FOSS, OpenGL vs OpenGL, Etc. A great example of this is how broken the simplest of things can be. I've got sitting next to me machine which refused to boot into a "good" graphics configuration, it boots with a 'safe' default of 1024 x 800 screen (where the actual screen is a 2K screen) even though it has HDMI (which can tell it all that it needs to know.) Using a widely deployed nVidia card and the current 'non-free-non-FOSS' nVidia graphics stack. Re-install the driver package, and it works (until reboot). Yes, there is a knob somewhere that screws it up, there are a billion knobs, from a dozen layers, is it DRM/KMS? is it Lightdm? is it Nvidia? Is it OpenGL? Is it a friggin boot option buried in the boot args? It can be anywhere and its going to take me a few hours to figure out where it is. Which in terms of wasted salary time is enough for me to buy a Mac Pro or a Windows box which works every time all the time. 