Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
We do often include affiliate links to earn us some pennies. See more here.

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!

Article taken from GamingOnLinux.com.
47 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
69 comments
Page: «5/7»
  Go to:

gradyvuckovic Jul 4, 2019
Seriously, Valve, thankyou.

This is fantastic! This is really just cutting straight to the heart of gaming issues on Linux, tackling the real hard problems like improving minimal frame rates and eliminating stutter. This will have such a positive impact on gaming performance under Linux. Of course, it's just for AMD GPUs. NVIDIA, getting the hint yet? Open source your drivers if you want some of the open source love!

The work Valve & Friends has done or sponsored in just the last 12 months is amazing and had a fantastic and huge impact on gaming on Linux. You're all heroes!

Speaking of heroes, we hear yet again about this growing 'Valve open-source graphics group', which seems to be turning into a kinda 'avengers initiative' of the open source/linux gaming/graphics world. I'm loving it.
gradyvuckovic Jul 4, 2019
Quoting: Purple Library Guy
Quoting: GuestSo previously I would point out that Valve only fund work that someone has started.
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.
Yeah. I too think they must have something in mind. It's a nice thought; I hope they get it right this time.

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.

I agree, it felt like Steam Machines and launching Steam on Linux, was more like an experiment, just throwing the snowball into hell to see what melts it first. Like a science experiment to test their ideas and identify the engineering problems they need to address. It's like ever since then they've been slowly progressing down the list of problems and issues that prevented Steam Machines from catching on and addressing each and every one of them. If that's their tactic, it's a clever one.

I'm loving their commitment more than anything. Most companies would have given up by now.
Shmerl Jul 4, 2019
Quoting: gradyvuckovicI'm loving their commitment more than anything. Most companies would have given up by now.

It probably helps, that Valve is a private company, so they can work on long term investments. Public ones are pressured by external investors to rip something off the market quick, and not to care about long term progress.


Last edited by Shmerl on 4 July 2019 at 1:05 am UTC
14 Jul 4, 2019
View PC info
  • Supporter Plus
Quoting: MohandevirNext 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).
Don't pass off the ASUS cards. Mine were always good.
Quoting: gradyvuckovicThis is fantastic! This is really just cutting straight to the heart of gaming issues on Linux, tackling the real hard problems like improving minimal frame rates and eliminating stutter. This will have such a positive impact on gaming performance under Linux. Of course, it's just for AMD GPUs. NVIDIA, getting the hint yet? Open source your drivers if you want some of the open source love!

I can agree that it's good to involve the community and prefer things to be open source but in this particular instance would Nvidia really benefit from implementing the idea behind this mesa shader branch? Valve got these good results because they had been using LLVM as their compiler and, like their post says since it's a general purpose compiler and overall affected by commits from people with other use cases, it didn't make sense to keep using it. But Nvidia's proprietary driver very likely doesn't incorporate LLVM and has probably had a gaming specialized shader compiler from the start.

I get the feeling this is an instance of Valve closing a gap between the open source AMD drivers and Nvidia's proprietary drivers that has existed from the start and not them using some novel new method that surpasses Nividia's implementation.
Shmerl Jul 4, 2019
Quoting: MadeanaccounttocommentBut Nvidia's proprietary driver very likely doesn't incorporate LLVM and has probably had a gaming specialized shader compiler from the start.

Nvidia's compiler is using llvm if I remember correctly. At least in some cases.

Their llvm backend: https://github.com/llvm-mirror/llvm/tree/master/lib/Target/NVPTX

Not sure if their new blob Vulkan compiler is using it though.

UPDATE:

Related: https://www.phoronix.com/scan.php?page=article&item=nvidia-396-nvvm

See also: https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html

QuoteNVVM IR is a compiler IR (internal representation) based on the LLVM IR. The NVVM IR is designed to represent GPU compute kernels (for example, CUDA kernels). High-level language front-ends, like the CUDA C compiler front-end, can generate NVVM IR. The NVVM compiler (which is based on LLVM) generates PTX code from NVVM IR.

So, likely they do use llvm to translate PTX into machine code.


Last edited by Shmerl on 4 July 2019 at 4:52 am UTC
Gazoche Jul 4, 2019
View PC info
  • Supporter
Quoting: Madeanaccounttocomment
Quoting: gradyvuckovicThis is fantastic! This is really just cutting straight to the heart of gaming issues on Linux, tackling the real hard problems like improving minimal frame rates and eliminating stutter. This will have such a positive impact on gaming performance under Linux. Of course, it's just for AMD GPUs. NVIDIA, getting the hint yet? Open source your drivers if you want some of the open source love!

I can agree that it's good to involve the community and prefer things to be open source but in this particular instance would Nvidia really benefit from implementing the idea behind this mesa shader branch? Valve got these good results because they had been using LLVM as their compiler and, like their post says since it's a general purpose compiler and overall affected by commits from people with other use cases, it didn't make sense to keep using it. But Nvidia's proprietary driver very likely doesn't incorporate LLVM and has probably had a gaming specialized shader compiler from the start.

I get the feeling this is an instance of Valve closing a gap between the open source AMD drivers and Nvidia's proprietary drivers that has existed from the start and not them using some novel new method that surpasses Nividia's implementation.

You're probably correct on all those points. But gradyvuckovic's remark was more about Nvidia realizing that a lot of good things can come out an open-source ecosystem.
Shmerl Jul 4, 2019
Quoting: GrabbyYou're probably correct on all those points. But gradyvuckovic's remark was more about Nvidia realizing that a lot of good things can come out an open-source ecosystem.

Nvidia doesn't care. They are like Oracle in this sense. They deal with open source very reluctantly, because they totally don't get the point of it.


Last edited by Shmerl on 4 July 2019 at 4:54 am UTC
Purple Library Guy Jul 4, 2019
Quoting: Shmerl
Quoting: GrabbyYou're probably correct on all those points. But gradyvuckovic's remark was more about Nvidia realizing that a lot of good things can come out an open-source ecosystem.

Nvidia doesn't care. They are like Oracle in this sense. They deal with open source very reluctantly, because they totally don't get the point of it.
I think what Oracle gets is that, whatever the point of open source is, it probably isn't getting Larry Ellison an even longer yacht, so they are deeply suspicious.
Shmerl Jul 4, 2019
Quoting: Purple Library GuyI think what Oracle gets is that, whatever the point of open source is, it probably isn't getting Larry Ellison an even longer yacht, so they are deeply suspicious.

Heh, it reminds me this video: https://www.youtube.com/watch?v=-zRN7XLCRhc&t=33m01s (starts at 33:01).


Last edited by Shmerl on 4 July 2019 at 8:21 am UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.