14

Why is there no open source graphics (means today's AMD and Intel GPUs) driver for Windows which have at least the same level of functionality and performance as the open source Linux drivers?

Except for the huge work needed to develop the driver, is there other factors that prevents such driver to be developed? Such as (guess):

  1. Windows driver need a different firmware on GPU and how to develop driver with that firmware is not published by AMD and Intel.

  2. You can't get enough information from the Linux driver and the published documents to develop a driver for Windows.

  3. Some proprietary documentation from Microsoft is needed to indeed develop a driver, i.e. although there is GPU driver documentation published but it is incomplete.

2
  • While functionality equivalent to Linux drivers would be possible, the DRM functionality of closed Windows drivers couldn't be implemented in open drivers in a compliant manner. That may be one reason why Intel and AMD haven't moved towards open Windows drivers.
    – jpa
    Aug 28, 2022 at 16:56
  • What purpose would it serve? There are better drivers available on Windows. Can you think of a reason other than software freedom (which is understandably not something particularly interesting to most people using Windows)?
    – Luaan
    Aug 30, 2022 at 8:19

2 Answers 2

24

While it may be possible to develop such Open Source drivers for Windows on a technical level, economic and social realities mean that such a project would not get traction.

First, let's think about why there are Open Source graphics drivers for Linux.

  • Part of that is the culture, with a sub-group of Linux developers and users insisting on Software Freedom, even if this means avoiding more convenient and more feature-rich proprietary software.

  • More importantly, the Linux Kernel does not offer a stable interface for drivers. If drivers are upstreamed into the Linux Kernel, they will be maintained there, reducing the needed development effort. GPL-compatible Open Source drivers also get full access to all Kernel functionality. In contrast, externally maintained drivers might break with every Kernel update, and proprietary drivers only get access to a small subset of Kernel functionality.

  • Having graphics drivers included in the Linux Kernel is a competitive advantage for some companies (e.g. Intel, AMD). For customers of that hardware, “it just works”. Thus, their official driver is the Open Source driver. In contrast, customers of Nvidia hardware have to make do with the limited third party Open Source Noveau driver, or have to download and install the official proprietary Nvidia driver, which is sometimes less stable. It could be that Nvidia believes that their products are so attractive on their own (e.g. due to CUDA support) that Linux customers will jump through extra hoops to use them.

On Windows, all of this is different.

  • Windows users tend to consider Software Freedom less important.
  • Windows offers more stable interfaces for drivers, making it feasible to maintain third party proprietary drivers that remain compatible with a wide range of Windows versions.
  • There is no competitive advantage to be had for graphics card manufacturers to Open Source their Windows drivers.

So given that satisfactory proprietary graphics drivers for Windows exist, and that Windows users generally don't prioritize Software Freedom, it would be very difficult for an Open Source Windows graphics driver project to attract users, let alone more developers. Note that the Open Source Linux drivers for Intel and AMD chips are developed mainly by Intel and AMD themselves. For Windows drivers, you'd be competing against the Intel/AMD/Nvidia teams that are better funded and have better knowledge of the system.

2
  • 4
    For reference, the Nvidia graphics card drivers are 25 million lines on Windows and over a million on Linux Aug 28, 2022 at 20:10
  • 1
    If you have the goal of having an open source system, an open driver on Linux lets you reach that goal while there's almost no point in having one open driver while the rest of the system is still closed source.
    – Rad80
    Aug 30, 2022 at 6:51
4

You would need to understand the hardware.

Nvidia and AMD and Intel don't publish much information about how their hardware works. It's all kept secret. The open-source drivers are based on reverse-engineering the official drivers, and experimentation, which are very difficult and slow processes.

This is also why the open-source drivers aren't very good.

P.S. Nvidia recently started "open-sourcing" its drivers, but the way they did that is that the driver now runs on the GPU itself, as closed source, and the open-source part simply connects the application to the closed-source driver running on the GPU.

1
  • Intel's been open-sourcing their graphics drivers (and most other drivers) for almost two decades. AMD's been open-sourcing the graphics driver for almost a decade. It's only Nvidia where the drivers are built by reverse engineering.
    – Mark
    Sep 1, 2022 at 2:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.