On Windows, we really only have one graphics driver per GPU. On Linux, however, there is a choice between open drivers and closed, binary-only blobs. Open drivers allow users to perpetuate support, for either really old hardware or pre-release software, without needing the GPU vendor to step in. It can also be better for security, because open-source software can be audited, which is better (albeit how much better is up for debate) than just having a few eyes on it… if any at all.
As we reported a few months ago, AMD has been shifting their structure. Rather than two completely different code-bases, AMDGPU is an open-source driver, officially supported by AMD, that communicates with the Linux kernel. This chunk is compliant with the GPL, so it can be bundled with the operating system. Above this, a user space driver adds the various APIs, game-specific optimizations, and so forth. AMD calls this plug-in component AMD GPU-PRO.
This component has now been released for Ubuntu 16.04, which includes OpenGL 4.5, OpenCL 1.2, and Vulkan 1.0.
Open-source developers can create their own components, using the same AMDGPU hooks that AMD uses, and release those on their own. This is not a perfect solution, though. If, at any point, AMD disagrees with a necessary, proposed change, then the only way forward could be to fork the project, which AMD wouldn't support with their closed-source blob, leading to the previous situation. That said, AMD is putting a lot of effort into this, so it would stand to reason that they aren't intending to throw all of that away over a pull request.
Either way, you can get AMD GPU-PRO Beta from AMD's page for Ubuntu 16.04. SteamOS added AMD GPU-PRO with their 2.80 update last week.
So instead of improving their
So instead of improving their GNU/linux drivers themselves they’re going to have the community do it?
First, the part you’re
First, the part you're talking about (API features and performance) is in the proprietary plug-in. Second, open-sourcing a driver doesn't mean you're demanding the community to update it. In fact, getting involved with development teams, etc., is something that a company would kind-of need to do.
If all features lie in the
If all features lie in the privative driver, what does provide the so-called “open driver for Linux Vulkan TM”? Only a GNOME endorsed GUI? A new user-space API to access the framebuffer?
It is likely this prove that libdrm failed to gain traction among programmers and actually kernel developers are trying to find their way back to correct the Linux nightmare they put in the graphic subsystem.
Yeah, the grammar is a bit
Yeah, the grammar is a bit hard to follow. I think they're saying that this might be mostly pushed by kernel developers, stepping away from libdrm. I… don't know, especially without NVIDIA, but it's outside my area of knowledge.
Excuse my english which is
Excuse my english which is not my native language but I was asking what the open “driver” is providing if all essential functions are available with the proprietary driver.
If you’re not familiar with the Linux kernel I can understand that my english could look like chinese for non-chinese people. 😉
To “perpetuate support” is
To “perpetuate support” is one thing that Scott mentioned, so after the hardware is no longer under the full support from the maker(AMD in this case), the community is free to extend the driver support using the open source driver code for the older hardware and allowing support to be extended by those in the community working with the open source AMD “GPU-PRO” drivers.
The open AMD GPU drivers Drivers for Linux are in the GPU driver modules pre-installed and loaded in the Linux Kernel by what Scott described as: “This chunk is compliant with the GPL, so it can be bundled with the operating system.” So no hard technical issues for Linux Noobs for the installing of the properly functioning GPU drivers needs to be done by the end users.
Also having the Open Source community working on the drivers means that AMD will have help with driver development from not just single community members but also from some OEMs and others that can pool their resources and save on R&D for driver development for any Linux OS based devices that use AMD’s GPU hardware. The Smaller Linux Laptop OEMs with limited budgets will also be able to utilize the open source code ecosystem and not have to spend their limited resources on maintaining expensive driver development expenses. Valve and Steam OS will be contributing towards the best gaming support on any Debian based Linux OS builds, so that will help many other besides Valve/Steam OS users for open source driver support.
That “Only a GNOME endorsed GUI?” question is best answered by initial development/testing for the drivers in the Linux kernel, so AMD has to go with the desktop environment to test against, and Steam OS(Debian based) uses Gnome which is Debian’s default Desktop Environment so that’s for the initial testing/certification phase. I’m sure that others DEs will be getting support for AMD GPU OPEN driver development from their projects’ maintainers just give it some time.
They are still debating Gnome over at the Steam community! But it’s probably just that there has to be some default DE to test against, and Steam OS/Debian has the most support for Linux Gaming. It’s not that people are using Steam OS for any desktop related work anyways, and many will probably dual boot Steam OS with Linux/Mint or other Linux based OS builds.
“Above this, a user space
“Above this, a user space driver adds the various APIs, game-specific optimizations, and so forth. AMD calls this plug-in component AMD GPU-PRO.”
Correct me if I’m wrong but drivers (or modules) are loaded in the kernel memory space while API in the user memory space in a such way to protect the hardware from user’s mistakes.
Once more to access the hardware, drivers have to use system calls provided by the kernel (via ioctl) while API uses device files (/dev/*) to provide controls to softwares.
If AMD made a user space driver, I’m afraid this could lead to serious bugs and an unstable system…
Vulkan is up to 1.0.15 with
Vulkan is up to 1.0.15 with revisions, so things are looking up for maybe some AMD based Steam Machines. I’ll be looking at the AM4 motherboards, and maybe a Bristol Ridge CPU/APU and RX 480/s to start some Steam OS/Linux things off at the the end of June. Those before and after(AM4/BR/Polaris) Steam OS hardware survey results are probably going reverse course on their way to some Zen hardware updates to the Steam OS based gaming rigs towards the end of 2016, and more affordable Steam OS based hardware/gaming for all.
Those Vulkan multi-adaptor on Linux benchmarks are going to be interesting as the Linux/Steam OS gaming ecosystem gets a big shot in the arm from AMD’s open driver/open middleware Linux gaming ecosystem efforts! That’s a big RX 480 dose of a low BOM for some great affordable gaming, and I’ll Take to two of those 480’s and a BR and still have a wod of cash remaining for a Zen booster later on.
The real Peasants are the ones with no money left over for food after those founders take it all! I’ll have plenty remaining for some Beer, Pizza, and snacks!
There seems to be fair amount
There seems to be fair amount of reality distortion in your efforts to promote AMD GPU’s as a viable base to be used in Steam-machines. In reality, current GPU-PRO is basically just old catalyst modified in such way that it can be tunneled trough open source modules. It might be easier to maintain for sure, but the fundamental problems of AMD’s Linux drivers still exists. They are bad, so no Steam-machines with AMD GPU’s.
On the other hand, since Vulkan was released AMD has not been promoting Vulkan as the main API for RX480. Instead they have been very vocal about DX12. This is contrary to the behavior of Nvidia which is currently actively using Vulkan references in their marketing materials. So if Linux is your thing you should not invest in AMD, but in Nvidia instead. Not only do their drivers actually work (they invest in working drivers and it shows), but their hardware is also what Valve promotes (Nvidias OpenGL implementation is rock solid). Buy AMD GPU’s for Linux and you’ll regret it.
Zen might be good, but it remains to be seen.
Sound like AMD will continue
Sound like AMD will continue improving the driver as they have been but now part of their efforts will benefit the community (with AMDGPU work) and any community improvements in that AMDGPU driver will benefit AMD as well. Seems to be the best way forward since neither AMD nor Nvidia is going to open up everything to the general public.