NVIDIA Open-Sources New I2C USB Type-C Turing GPU Driver In Linux 4.20
While it's great seeing NVIDIA contribute code for their latest generation graphics hardware to the mainline Linux kernel, i2c-nvidia-gpu comes down to just being a bus driver for the USB Type-C controller that is accessible over I2C. These newest NVIDIA graphics cards have a USB Type-C port for next-gen VR headsets using the VirtualLink standard. VirtualLink allows for four HBR3 DP lanes, USB 3.1 data, and up to 27 Watts of power over this slim cable -- much better than the mess of cables currently needed for VR headsets.
Outside of VirtualLink, the USB Type-C port on the new graphics cards can also help new monitors coming about with this interface. The next round of AMD graphics cards are also expected to adopt USB Type-C ports as well.
This new i2c-nvidia-gpu driver was mainlined this morning and allows for communicating with the Type-C controller on the Turing graphics cards. This new driver was contributed by NVIDIA themselves and can be enabled on Linux 4.20+ with the I2C_NVIDIA_GPU Kconfig switch.
Sadly NVIDIA has not yet made any code contributions (or documentation dumps) for helping the NVIDIA Turing open-source GPU driver support within Nouveau to get going... But it does look like they seeded the developers with some hardware to get started with their reverse-engineering work. But even with their reverse-engineering jump-start, the hardware acceleration support for RTX graphics cards will be held up until NVIDIA releases the signed firmware images for this hardware. Given that Pascal and Maxwell hardware don't have proper performance due to no re-clocking, don't hold your breath on seeing viable open-source support for the new NVIDIA discrete GPUs anytime soon... For now the best open-source GPU driver support remains with the GeForce GTX 700 series. If you have no source preference, the GeForce RTX hardware has been supported since launch with NVIDIA's first-rate but closed-source driver stack.