It basically abuses the fact that the /dev/nvidia0 device accept changes to the VGA window and moves the window around until it can read/write to somewhere useful in physical RAM, then it just does an priv escalation by writing directly to kernel memory.
The Nouveau driver has had a long and challenging journey to get where’s it at today where the developers are now comfortable with the Nouveau driver leaving the Linux kernel’s staging area and thus also fully committing to a stable ABI for their kernel driver (their DRM version is also now marked as v1.0). Nouveau began more than a half-decade ago; I first wrote about the project in 2006 and it wasn’t until 2007 that OpenGL began to sort of work on this free software driver that was started by Stephane Marchesin (he’s no longer directly involved with Nouveau as for a while now he’s been off working for Google on Chrome OS). Nouveau’s journey has been quite interesting and in the past six years has earned itself 450 news posts where I have written about this open-source NVIDIA driver and over 60 featured articles that have included benchmarks or more extensive information on this Linux driver.
Nvidia has long taken a closed approach to Linux drivers for its graphics cards, offering only a proprietary one and declining to participate in the open source Nouveau driver project, which has depended instead on reverse engineering.
Nvidia’s GeForce graphics chips are used in many PCs–often targeting high-end gaming–while its Tegra system-on-a-chip platform is designed for the mobile and embedded market.