Earlier this month AMD’s Radeon Technologies Group held an event to brief the press of their plans for 2016. Part of a larger shift for RTG as they work to develop their own identity and avoid the mistakes of the past, RTG has set about being more transparent and forthcoming in their roadmap plans, offering the press and ultimately the public a high-level overview of what the group plans to accomplish in 2016. The first part of this look into RTG’s roadmap was released last week, when the company unveiled their plans for their visual technologies – DisplayPort/HDMI, FreeSync, and HDR support.  

Following up on that, today RTG is unveiling the next part of their roadmap. Today's release is focused around Linux and RTG’s developer relations strategy, with RTG’s laying out their plans to improve support on the former and to better empower developers on the latter. Both RTG’s Linux support and developer relations have suffered some from RTG’s much smaller market share and more limited resources compared to NVIDIA, and while I don’t think even RTG expects to right everything overnight, they do have a clear idea over where they have gone wrong and what are some of the things they can do to correct this.

Linux Driver Support: AMDGPU for Open & Closed Source

The story of RTG’s Linux driver support is a long one, and to put it kindly it has frequently not been a happy story. Both in the professional space and the consumer space RTG has struggled to put out solid drivers that are competitive with their Windows drivers, which has served to only further cement the highly favorable view of NVIDIA’s driver quality in the Linux market. Though I don’t expect RTG will agree with this, there has certainly been a very consistent element of their Linux driver being a second-class citizen in recent years.

To that end, RTG has been embarking on developing a new driver over the past year to serve their needs in both the consumer and professional spaces, and for this driver to be a true first-class driver. This driver, AMDGPU, was released in its earliest form back in April, but it’s only this month that RTG has finally begun discussing it with the larger (non-Linux) technical press. As such there’s not a great deal of new information here, but I do want to spend a moment highlighting RTG’s plans thus far.

AMDGPU is part of a larger effort for RTG to unify all of their Linux graphic driver needs behind a single driver. AMDGPU itself is an open source kernel space driver – the heart of a graphics driver in terms of Linux driver design – and is intended to be used for all RTG/AMD GPUs, consumer and professional. On the consumer side it replaces the previously awkward arrangement of RTG maintaining two different drivers, their open source driver and their proprietary driver, with the open source driver often suffering for it.

With AMDGPU, RTG will be producing both a fully open source and a mixed open/closed source driver, both using the AMDGPU kernel space driver as their core. The pure open source driver will fulfill the need for a fully open driver for distros that only ship open source or for users who specifically want/need all open source. Meanwhile RTG’s closed driver, the successor to the previous Catalyst/fglrx driver, will build off of AMDGPU but add RTG’s closed user mode driver components such as their (typically superior) OpenGL and multimedia runtimes.

The significant change here is that by having the RTG closed source driver based around the open source driver, the company is now only maintaining a single code base, is pushing as much as possible into open source, and that the open source driver is receiving these features far sooner than it was previously. This greatly improves the quality of life for open source driver users, but it’s also reciprocal for RTG: it’s a lot easier to keep up to date with Linux kernel changes with an open source kernel mode driver than a closed source driver, and quickly integrate improvements submitted by other developers.

This driver is also at the heart of RTG’s plans for the professional and HPC markets. At SC15 AMD announced their Boltzmann initiative to develop a CUDA source code shim and the Heterogeneous Compute Compiler for their GPUs, all of which will be built on top of their new Linux driver and the headless + HSA abilities it will be able to provide. And it’s also here where RTG is also looking to capitalize on the open source nature of the driver, giving HPC users and developers far greater access than what they’re accustomed to with NVIDIA’s closed-source driver and allowing them to see the code behind the driver that’s interpreting and executing their programs.

GPUOpen: RTG’s SDKs, Libraries, & Tools To Go Open Source

The second half of RTG’s briefing was focused on developer relations. Here the company has several needs and initiatives, ranging from countering NVIDIA and their GameWorks SDKs/libraries to developing tools to better utilize RTG’s hardware and the heterogeneous system architecture. At the same time the group is also looking to better leverage their sweep of the current generation consoles, and turn those wins into a distinct advantage within the PC space.

To that end, not unlike the RTG’s Linux efforts, the group is embarking on a new, more open direction for GPU SDK and library development. Being announced today is RTG’s GPUOpen initiative, which will combine RTG’s various SDKs and libraries under the single GPUOpen umbrella, and then take all of these components open source.

Starting first with the umbrella aspect of GPUOpen, with GPUOpen we’re going to see RTG travel down the same path of bundled tools and developer portals that NVIDIA has been following for the last couple of years with GameWorks. To NVIDIA’s credit they have been very successful in reaching developers via this method – both in terms of SDKs and in terms of branding – so it makes a great deal of sense for RTG to develop something similar. Consequently, GPUOpen will be bringing RTG’s various SDKs, tools, and libraries such as TressFX, LiquidVR, CodeXL, and their DirectX code samples underneath the GPUOpen branding umbrella. At the same time the RTG is developing a GPUOpen portal to make all of these resources available from a single location, and will also be using that portal to publish news and industry updates for game developers.

But more interesting than just bringing all of RTG’s developer resources under the GPUOpen brand is what RTG is going to do with those resources: set it free. While the group has dabbled with open source over the last several years, beginning with GPUOpen in 2016 they will be fully committed to it. Everything at the GPUOpen portal will be open source and licensed under the highly permissive MIT license, allowing developers to not only see the code behind RTG’s tools and libraries, but to integrate that code into open and closed source projects as they see fit.

Previously RTG had offered some bits and pieces of their code on an open source basis, but those projects were typically using more restrictive licenses than MIT. GPUOpen on the other hand will see the code behind these projects become available to developers under one of the most permissive licenses out there (short of public domain), which in turn allows developers to essentially do whatever they please while also avoiding any compatibility issues with other open source licenses (e.g. GPL).

Otherwise the fact that RTG is going to be placing so much of their code into the open source ecosystem is a big step for the group. Ultimately they believe that there is much to gain both from letting developers freely use this code, and from allowing them to submit their own improvements and additions back to RTG. In a sense this is the anti-GameWorks: whereas NVIDIA favors closed source libraries or limited sharing, RTG is placing everything out there in hope that their development efforts coupled with the ability for other developers to contribute via open source development will produce a better product.

Finally, as part of the GPUOpen portal and RTG’s open source efforts, the company will be hosting these projects on the ever-popular GitHub platform, allowing developers to fork the projects and submit changes as they see fit. The portal and the GitHub repositories for the initial projects will be launching in January. And though RTG didn’t offer much in the way of details for their future plans, they have strongly hinted that this is just the beginning for them, and that they are developing additional effects libraries and code samples that will be made available in the not-too-distant future. Ultimately with the first DirectX 12 games shipping next year and with Vulkan expected to be finalized in 2016 as well, I wouldn’t be surprised to see the GPUOpen portal become the focal-point of RTG’s developer relations efforts for low-level GPU programming, while further leveraging the similarities between console development and low-level PC developer.

POST A COMMENT

49 Comments

View All Comments

  • silverblue - Thursday, December 17, 2015 - link

    Every time I see somebody state that AMD have sacked loads of driver devs or marketing bods, I wait with baited breath for the links to any sort of proof yet come away disappointed (or not). They're probably right, but unfortunately, the net is full of people giving their opinions with little or no evidence to back it up.

    No offence intended mrdude; it's just nice to see links to articles.
    Reply
  • mrdude - Thursday, December 17, 2015 - link

    This was discussed on various forums, including Phoronix. At one point, AMD had only a handful of people working on it. (In fact, at its lowest point I think the number amounted to just 2).

    Their Linux support is absolutely god awful, whether it's via catalyst or open source. Historically, you would be lucky if GPU-accelerated web browsing didn't cause a kernel dump. If you wanted to game on an AMD GPU, you may as well have checked yourself into the psych ward.

    The unified kernel driver was a great start, but it's all for naught unless there are actual improvements and AMD doesn't just reach parity with nVidia, but are then able to best them. Bear in mind, AMD has a long history of having abysmal support in Linux -- powerpoint presentations aren't going to change anyone's mind. Results, on the other hand, will be a great first step. Years of results will provide a compelling argument to go red over green.

    http://www.phoronix.com/scan.php?page=article&...

    "In the forums it was mentioned by John Bridgman of AMD that there is no legal/IP issues blocking the open-source power management support for these newer graphics processors. The issue is not enough developer resources... "The issue is writing the code and getting it working." The few AMD developers employed to work on the open-source code have their handsful with other tasks for the time being."

    It's a combination of Linux having near-zero market share and AMD having near-zero spare resources to dedicate to its development. Sure, Devinder Kumar seems like he's got a level head on his shoulders, but he doesn't s*** gold. Until AMD has enough cash -- and shows actual legitimate dedication -- I have zero hope that it will get any better.
    Reply
  • mrdude - Thursday, December 17, 2015 - link

    Can't edit! :(

    Regarding the gutting of their Linux team, this happened during Read's tenure. Non-essential projects were cancelled or gutted to the bone, and that included Linux development.
    Reply
  • bridgmanAMD - Saturday, December 19, 2015 - link

    At its lowest point the open source gfx team was one person, right after we hired Alex. The second-lowest point was two people, after we hired Richard. It's been going up consistently ever since then. Reply
  • itsjustaprankbro - Wednesday, January 27, 2016 - link

    And yet, the "white screen of death" is still there. The suspend issues are still there. Power management is still a nightmare. Performance is still sub par. And not a single card has all the features green lighted in the feature matrix.

    Honestly? If I were an AMD exec, I would say ditch the entire Linux driver, because no matter how many devs and how much cash they throw at it, this thing will never work. I don't know Intel and Nvidia uses black magic - so their driver works, but it's just sad for AMD.

    Lastly, AMD is also the worst when it comes to proprietary drivers. You have a one-two gen old card? To hell with you, go buy a new one if you want drivers. What the hell is up with that? (I was a former AMD/Radeon owner, had several Radeon GPUs but this enraged me slightly when they started this driver support dropping.)
    New tech is the same.

    "Here, look Mantle, you want this. You NEED this. Buy GCN cards. It is da future."
    Ok, peep goes to shop, buys a new AMD card.
    "Oh, sorry bro, but Mantle is ded, and GCN1.1 is now the thing, you suck dude. Buy a new card!"

    I mean... come on!
    Reply
  • itsjustaprankbro - Wednesday, January 27, 2016 - link

    Sidenote: There is also FreeBSD/BSD, where I was able to use Nvidia with SLI included years ago. (It was two 460 or something like that, and I installed the driver / enabled SLI in 3-4 commands.) Try using AMD cards there. Even on OpenBSD that supports the new (KMS) driver arch, the situation is a mess. And who uses OpenBSD anyway? Reply
  • jasonelmore - Wednesday, December 16, 2015 - link

    about time for some linux drivers amirite? Reply
  • OrphanageExplosion - Wednesday, December 16, 2015 - link

    And still the elephant in the room - sub-optimal CPU performance on the DX11 driver - remains unaddressed. Reply
  • BurntMyBacon - Wednesday, December 16, 2015 - link

    @OrphanageExplosion: "And still the elephant in the room - sub-optimal CPU performance on the DX11 driver - remains unaddressed."

    Were you seriously expecting anything DX in a clearly Linux Driver oriented article? Wouldn't it be ironic if you got what you asked for in this context.
    ATi: "Hey, we fixed all of sub-optimal CPU performance issues in DX11 for our Linux driver"
    Gamer: "Sweet, Imma go play me some - Wait a minute. You say you fixed it in your Linux driver?"
    ATi: "Yup. Its open source too."
    Gamer: "Yeah, that's great and all, but I just want to play me some games. I didn't know that linux got DX games working natively."
    ATi: "They didn't"
    Gamer: "So, was it Valve that got it working on their steam boxes?"
    ATi: "Well, steam boxes are linux, so no."
    Gamer: "Then how do I use this new fangled DX11 super driver?"
    ATi: "You can't."
    Gamer: "Then why in the world did you develop it?"
    ATi: "You're the one who asked for DX11 CPU performance optimizations in an open source linux driver so you tell me."
    Reply
  • atlantico - Wednesday, December 16, 2015 - link

    DX11 an API which nvidia designed its fermi and maxwell architecture around will never be as good on AMD GPUs, it just can't. But that's ok, in the long run, since DX11 performance is very good nevertheless on AMD GPUs and it is a tech that will be obsolete in the near future. The performance disparity will also be irrelevant, solved through brute force really with newer AMD GPUs.

    DX12 is already designed with AMD GPUs in mind, that's the Mantle legacy. For the future AMD is in an amazing position for DX12 and DX11 will perform better than anyone needs on those older games.
    Reply

Log in

Don't have an account? Sign up now