Open source: graphics card developer revealed driver documentation for Linux

This developer is Nvidia. We tell what was transferred to open source, and discuss opinions.

Photos - Caspar Camille Rubin - Unsplash

What kind of documentation

In a sense, the event can be called landmark. This is the first time that Nvidia has uploaded the documentation in large volumes. The company has been publishing specifications since 2012, but until today only relatively small fragments have been discovered. For example, several years ago, engineers provided access to technical documents on the graphic core of the Tegra ARM platform, the layout of Device Control Block (DCB) in VBIOS with a description of the topology of the board and connectors and a list of headers for the GV100 Volta.

New specifications have been posted under the MIT license - you can find them in the official repository on GitHub ( the same, but in HTML ). There is information about Maxwell, Pascal, Volta and Kepler graphics cards: information about BIOS tables, frequency management, initialization, power consumption modes, protection in the Falcon engine, and header files for shaders.

According to representatives of Nvidia, the new documentation is also not complete, but the repository will be regularly updated. For example, in the future they plan to add Turing data there.

Community Opinions

The author of the blog Tom's Hardware notes that the development of projects like nouveau , which create free drivers for Nvidia graphics cards, was hampered by the lack of documentation. A large number of specifications will simplify the writing of drivers for Linux, and for this you will not have to do reverse engineering. We can expect that in the near future almost all relevant video cards starting in 2012 will be able to get improved drivers.

This fact will positively affect the gaming industry, which is beginning to show greater interest in the open operating system. For example, literally at the end of July, Valve (developers of the Steam store) made a number of changes to the Proton project for launching Windows games under Linux. The changes are related to the optimization of multi-threaded games.

Photo - CMDR Shane - Unsplash

It is worth noting here that Nvidia has not yet disclosed data that would help implement support for reclocking - automatic frequency control - in GTX 9xx series cards. This fact will not allow new open drivers to work "at full capacity."

Due to the lack of reclocking, nouveau drivers can run 20-30% slower than proprietary ones. Although in the future the situation may change when Nvidia provides more information. For example, for the Maxwell 2 architecture ( introduced in 2014), patches with the reclocking function were released in 2017.

One of the residents of Hacker News expressed the opinion that open drivers in any case will have lower performance than proprietary ones. Nvidia regularly optimizes drivers for individual games - for this they work closely with their developers. Programmers from the nouveau project may not have such an opportunity.

Also in the IT community there is an opinion that Nvidia made the specification open not only because of a love of open source. In early August, AMD implemented support for its Navi 12 graphics processor for Linux. Perhaps Nvidia’s actions are an attempt to keep up with its competitors and not to lose influence in an actively developing market.

About other graphical open source solutions

Last year, Nvidia introduced the open Rapids platform. Its goal is to simplify the development of MO algorithms on the GPU. Data processing specialists write Python code, and the system automatically optimizes it to run on a graphics card with CUDA architecture.

Then, representatives of such large companies as Cisco, Dell, NetApp and Lenovo spoke in support of the new solution. IBM even conducted the first tests and noted that the platform will accelerate the work of machine algorithms by 50 times (compared to the CPU). But the Rapids were criticized for the fact that the system only works with cards from Nvidia.

AMD also develops its platform for HPC on graphics cards - it is called ROCm (Radeon Open Compute). Unlike competitors, this system can work with almost all GPUs. ROCm developers also chose C ++ instead of Python.

We can assume that these solutions, coupled with new drivers for Linux (which will certainly appear), will make it possible to extract even greater performance from the hardware available to users of iron.

What we write about in our blogs and social networks:

New open source licenses
Benchmarks for Linux servers: 5 open tools

Securing your Linux system: 10 tips
Big Data: Big Opportunity or Big Deception

7 services for creating video and animation
How does 1cloud tech support work

We at offer the service “ SSL certificates ”. If you need to confirm ownership of the domain or protect your copyright to the program.


All Articles