Marek Olšák has recently sent word to the AMD mailing list that they have found a reason for some games performing poorly using Mesa. Another developer noted that a patch is already in progress.
Marek goes on to detail how to reproduce it and suggests some workarounds.
The good news is that another message from Christian König states they they are already working on it, and they may have something to show rather soon:
It's really great to see some attention to performance and not just getting their feature list up to spec. Onwards and upwards!
I've said for a long time now to heated debates that AMD drivers (both open and closed) need work on performance and that it's not purely down to game porters. It will be great if this helps certain games gain official support on AMD with Mesa in future.
QuoteI'm seeing random temporary freezes (up to 2 seconds) under memory
pressure. Before I describe the exact circumstances, I'd like to say
that this is a serious issue affecting playability of certain AAA
Linux games.
Marek goes on to detail how to reproduce it and suggests some workarounds.
QuoteIn order to reproduce this, an application should:
- allocate a few very large buffers (256-512 MB per buffer)
- allocate more memory than there is available VRAM. The issue also
occurs (but at a lower frequency) if the app needs only 80% of VRAM.
Example: ttm_bo_validate needs to migrate a 512 MB buffer. The total
size of moved memory for that call can be as high as 1.5 GB. This is
always followed by a big temporary drop in VRAM usage.
The good news is that another message from Christian König states they they are already working on it, and they may have something to show rather soon:
QuoteHi Marek,
I'm already working on this.
My current approach is to use a custom BO manager for VRAM with TTM and
so split allocations into chunks of 4MB.
Large BOs are still swapped out as one, but it makes it much more likely
to that you can allocate 1/2 of VRAM as one buffer.
Give me till the end of the week to finish this and then we can test if
that's sufficient or if we need to do more.
Regards,
Christian.
It's really great to see some attention to performance and not just getting their feature list up to spec. Onwards and upwards!
I've said for a long time now to heated debates that AMD drivers (both open and closed) need work on performance and that it's not purely down to game porters. It will be great if this helps certain games gain official support on AMD with Mesa in future.
Some you may have missed, popular articles from the last month:
Quoting: ElectricPrismI'm very excited preparing to switch to Red Camp, I'll be TTY switching like it's 1999, and kiss goodbye to GPU buffer corruption from NVidia.
Yes, yes you will my friend :)
I won't go into details but I've just switched from a 660GTX to a RX480 (as mentioned) on my workstation.
Result: I've been running the RX480 (Mesa) for a week and, so far, you couldn't pay me enough to make me switch back - which is a massive statement on how far AMD have come.
5 Likes, Who?
Quoting: liamdaweYou should remember not everyone uses Linux for just freedom, there's many reasons. You should just accept others choices and move on. Not everyone needs a lecture and we don't need an AMD topic derailed because of it :)
^ This. If anyone don't accept thats i buy NVIDIA is a Nazi. The freedom is the choice in Software and Hardware and if a Hardware have poor drivers i don't buy the Hardware, thats MY choice.
But if you tell people what Hardware they should buy is a dictation and has nothing to do with freedom.
1 Likes, Who?
Quoting: babaiI Agree that customers should expect proper performance right now and not wait for another year, also this fix will probably go into the radeonSI userspace driver and not MESA.
Still, AMD has contributed much code to MESA in the past years, show me some from NVIDIA (no please not any Tegra DRM code)?
If you are using Linux for freedom/open source idealism, ideologically you SHOULD buy AMD products and not tell me how a 1060 overpowers an RX480 today. AMD had no obligations towards supporting MESA or opening up millions of lines of DPM code for their chips. They still did.
Support a company that supports your platform.
If you don't follow the open source philosophy and using Linux just because you like say the millions of widget themes it supports or for any other reason, buy Nvidia.
*Cautiously points out that AMD GPUs require closed firmware blobs.
1 Likes, Who?
Good news, improvements for AMD drivers are always good.
1 Likes, Who?
Quoting: ElectricPrismMy fellow Linux Peeps, we are a community who most of us likely has control issues, when Linus couldn't control the quality of the nVidia driver or force them into using a FOSS driver he gave them the finger.
Whatever floats your boat, but, he was really giving the finger to Optimus support (or lack there of), and their Android support. He did go back and give them a thumbs up, though, especially around their open source efforts on the Tegra K1 chips and integrating it into Nouveau.
0 Likes
Good. RX 480 seem to be always out of stock. By this rate, I'd probably wait for Vega cards already.
2 Likes, Who?
Quoting: ShmerlGood. RX 480 seem to be always out of stock. By this rate, I'd probably wait for Vega cards already.
This is where i'm at with it, I had no idea the product would be so slammed with buyers since it seems like the bitcoin miners have passed to custom hardware.
You good sir do you happen to know what time frame Vega is coming?
I just had 2 system builds for Linux users this week and unfortunately Zen hasn't dropped yet so I had to select a Intel combo instead of AMD APU :\.
1 Likes, Who?
Some speculate, Vega can come early, already this October. Others say it can come sometime in the beginning of next year. I have no idea really if that is correct or not.
0 Likes
This issue is all about memory management of the cards memory, this will usually be seen in games as a dramatic slowdown or stall that will suddenly happen at some point only for the game to (usually) recover again some seconds later.
These are caused by VRAM pressure. Most complex games over the course of playing allocate more memory than the card has VRAM. As a result, the memory manager constantly migrates buffers between VRAM and RAM depending on which buffers are
used at the given time. Eventually VRAM becomes fragmented, so the memory manager decides to evict a lot of less important buffers out of VRAM to make space, when this happens you'll experience a stall in gameplay. The size of the stall depends on the size of the buffers involved.
The improvement being discussed the last time I read the thread was to split the memory on the card into smaller chunks reducing the chance fragmentation will require a flush of buffers to fit larger buffers in memory.
Bottom line this is unlikely to boost your base frame rate but it could make noticeable improvements to games where you get stutters and stalls as these could be being caused by memory fragmentation on the card.
However it won't fix all instances in all games as stalls in rendering can be caused by many different things and this is just one possibility.
These are caused by VRAM pressure. Most complex games over the course of playing allocate more memory than the card has VRAM. As a result, the memory manager constantly migrates buffers between VRAM and RAM depending on which buffers are
used at the given time. Eventually VRAM becomes fragmented, so the memory manager decides to evict a lot of less important buffers out of VRAM to make space, when this happens you'll experience a stall in gameplay. The size of the stall depends on the size of the buffers involved.
The improvement being discussed the last time I read the thread was to split the memory on the card into smaller chunks reducing the chance fragmentation will require a flush of buffers to fit larger buffers in memory.
Bottom line this is unlikely to boost your base frame rate but it could make noticeable improvements to games where you get stutters and stalls as these could be being caused by memory fragmentation on the card.
However it won't fix all instances in all games as stalls in rendering can be caused by many different things and this is just one possibility.
8 Likes, Who?
As a Laptop user stuck with 1G of VRAM on a still-relatively-beefy 7770M, I do notice stutters even with compositing when I have a 2'nd external 4K monitor and tens of apps open in virtual screens. it will be smooth, then stall for 1/4s even.
Exciting times to be an open-source AMD user :-)
Exciting times to be an open-source AMD user :-)
1 Likes, Who?
See more from me