Valve developer Pierre-Loup Griffais mentioned on Twitter, about a new Mesa shader compiler for AMD graphics named "ACO" and they're calling for testers.
In the longer post on Steam, it goes over a brief history about Valve sponsoring work done by open-source graphics driver engineers, with it all being "very successful". The team has grown and they decided to go in a different direction with their work.
To paraphrase and keep it short and to the point, currently the OpenGL and Vulkan AMD drivers use a shader compiler that's part of the LLVM project. It's a huge project, it's not focused on gaming and it can cause issues. So, they started working on "ACO" with a focus on good results for shader generation in games and compile speed.
It's not yet finished, but the results are impressive as shown:
That is quite an impressive decrease in compile time! They expect to be able to improved that further eventually too, as it's currently only handling "pixel and compute shader stages". Valve also included some gaming results as well. Not quite as impressive when compared to the above perhaps, but every single bit of performance they can squeeze in is great:
With more detailed performance testing info available here. Now that it's looking pretty good, being stable in many games and seeing a reduction of stuttering they're looking for wider testing and feedback. Packages for Arch Linux should be ready later today, with Valve looking into a PPA for Ubuntu too. Interested in testing? See this forum post on Steam.
You can see the full post about it on Steam and more details on the Mesa-dev mailing list entry here. The code can also be viewed on GitHub.
This comes only recently after Valve released a statement about remaining "committed to supporting Linux as a gaming platform" as well as funding work on KWin. Really great to see all this!
Quoting: YoRHa-2BI've had access to this for several months now and it really is promising. Most of my games do see small improvements, enough to match native D3D11 performance in some cases.
And then there's Nier: Automata, which sees a massive improvement (1440p rendering resolution, RX 480): https://imgur.com/a/DBpo43T
You get better performance than on Windows? Is the entropy decreasing? HOLY FUCK VALVE!
EDIT: By the way, just in the moment I decided to stop buying games on the sale Valve comes and does this. Valve you're diabolical...
Last edited by x_wing on 3 July 2019 at 8:21 pm UTC
Quoting: BrisseQuoting: MohandevirQuoting: BrisseQuoting: skryQuoting: MohandevirHad an MSI RX580 Armor 8gb for 6 months before it died on me. It was a heat generator and noisy as hell, but performances were awesome. I put the failure on MSI's bad design choices though.
Next build (around christmas), if AMD as something to offer comparable to the GTX 1660ti (performance, price and TDP), I might give another chance to AMD in another brand (Gigabyte or Sapphire).
I've had my Sapphire factory OC'd RX480 for several years now. Sure it puts out quite a lot of heat and can get little bit noisy under constant load but its been good card to own, well built and it still delivers (I can play most of the titles I own/play in 1440p and get ~60fps in reasonable detail). Drivers have been solid in recent years and overall I've been very happy with my investment and can highly recommend Sapphire cards.
Sapphire RX480 was indeed a bit on the noisy side. They revised and improved their design quite a bit for the RX580 so despite it being basically the same GPU it was much less noisy. A lot of people were a bit let down when the RX480 came out after Sapphire completely blew their competition away with their R9 290, R9 390 and Fury but those came with a much beefier three fan heatsink similar to what you see on their Vega. These were 260-300W TDP GPU's but Sapphires awesome boards and heatsinks managed it without fuzz and their noise levels were on par with the best Nvidia based cards. I guess it was a bit overkill for the Polaris so they developed a cheaper heatsink when the RX480 came out and the first iteration was a bit noisy with fans regularly hitting >2000rpm. My Fury usually sits at 0rpm even during light gaming, and when fully loaded (260W) it hits about 1100-1200rpm, I had two of them for a while and that was a bit toastier so then they could hit 2000rpm sometimes when putting load on both cards which could be a bit too noisy for my taste.
Thanks! You just comfirmed what I suspected. Sapphire will probably be my next try, if AMD delivers something in my price range (sub 400$ CAN).
Thing is, when you buy a GPU, you don't buy it thinking it will break in the next 6 months. This one had really cheap fans that had bearing noise problems. None of my GTX650 (ASUS), GTX750 ti (Gigabyte) and GTX960 (Gigabyte) had these problems and I never paid for premium models. There's a minimum quality that must be respected. Not going to buy any GPU from MSI ever again.
Well, one of my brothers had three different GTX970's, some from MSI and some from Gigabyte. They're good GPU's but one of them were semi passive and one of it's fans had trouble spinning up so the card would run really hot due to only one fan spinning. Another (or was it the same?) died after a MOSFET burned up. Yes it was overclocked, but they're supposed to be able to handle that and there are safety features built in that are supposed to stop that from happening. Stuff can happen to Nvidia-cards as well but I guess they're a bit more forgiving due to those GPU's generally using less power.
Don't get me wrong, I'm not starting an Nvidia vs AMD war. I really did like my experience with my AMD card... While it lasted. The driver management with the padoka repos is awesome.
If I was an overclocker or tried anything out of the normal scope of use... But I didn't. Just a bad gpu choice. MSI didn't have the exact same model in stock so they offered me to replace it with the 4gb model instead of my 8Gb. So it ended with a refund that I had to fight for. Unimpressed by MSI service.
I'm willing to give AMD another try... In another brand. :)
Quoting: MohandevirI'm willing to give AMD another try... In another brand. :)
I have very good experience with Sapphire.
Quoting: GuestSo previously I would point out that Valve only fund work that someone has started.Yeah. I too think they must have something in mind. It's a nice thought; I hope they get it right this time.
It's therefore only fair of me to look at this and point out that, I believe, this is instigated, developed, run by Valve itself.
Nice project. If it continues and becomes a more defacto backend for Mesa, I wonder what will happen with the llvm one. Doubt I'll be playing with ACO myself until it's more mature, but it's very nice to see this kind of investment.
...makes me wonder again what Valve are driving at. This kind of investment for a small market share platform? I don't believe it. They'll be wanting GNU/Linux (and it has to be GNU, there's no sense in not using the GNU components) to have a larger market share, so I'm curious what the plan is about that.
I sometimes wonder if the original push for Steam Machines was sort of partly an experiment, or ended up that way--like either from the beginning or part way through they started to realize that the infrastructure they needed to make it work wasn't in place, but they'd already made some deals so they went through with it kind of half-heartedly while noting all the points of failure as a learning experience. If you want to learn what you would need to succeed at something, there's nothing like trying and failing, to rub your nose in it.
Last edited by Purple Library Guy on 3 July 2019 at 8:56 pm UTC
Quoting: ShmerlQuoting: MohandevirI'm willing to give AMD another try... In another brand. :)
I have very good experience with Sapphire.
Just saw the price tag for the Sapphire RX590... Interresting! Nice price drop since original release. :)
Quoting: KristianDo any AMD cards have any kind of ray tracing acceleration?
No dedicated hardware in the current models, AMD recommend using general GPU features for that. But they plan to add something in their future cards (probably to due to pressure from Nvidia).
Last edited by Shmerl on 3 July 2019 at 9:23 pm UTC
Quoting: YoRHa-2BI've had access to this for several months now and it really is promising. Most of my games do see small improvements, enough to match native D3D11 performance in some cases.
And then there's Nier: Automata, which sees a massive improvement
Is the actual compiler multithreaded? I actually felt stronger stuttering when shaders were recompiled for the first time. Resulting fps is higher, but to reduce stuttering, shouldn't it spread CPU load better?
Last edited by Shmerl on 3 July 2019 at 9:33 pm UTC
Quoting: ShmerlIs the actual compiler multithreaded? I actually felt stronger stuttering when shaders were recompiled for the first time. Resulting fps is higher, but to reduce stuttering, shouldn't it spread CPU load better?You cannot multi-thread compilers without sacrificing performance of the generated code. It's just not possible.
Quoting: YoRHa-2BYou cannot multi-thread compilers without sacrificing performance of the generated code. It's just not possible.
That really very much depends on the use case, and how compiler is designed and what it actually does. I'm not sure about shaders use case, but if some stages of the compilation are independent, they can be parallelized in general. That's quite commonly used in compilers to make compilation itself faster.
Example: https://internals.rust-lang.org/t/parallelizing-rustc-using-rayon/6606
Last edited by Shmerl on 3 July 2019 at 10:05 pm UTC
See more from me