Emulation: GPU performance with OpenGL

After watching this video from Simply Austin, it appears NVIDIA cards a way better in supporting recent emulators e.g. Citra, Dolphin, etc. compared to AMD Vega.

OpenGL API and DirectX 11 multithreading do NOT appear to be that great on AMD.
Do you confirm?

Hopefully developers will invest more time in Vulkan.

yep, I’m involved with the RPCS3 community and this is definitely the case, even with vulkan.

Thanks tkoham :wink:
Any plans or roadmap to get better support from AMD on this emulator in the near future?

in some cases it isn’t the fault of the developers

the RPCS3 team uses an agnostic vulkan backend built from the ground up, but without heavy optimizations that diverge from documented spec, it just performs poorly on AMD. right now they’re focused on compatibility and jsut getting games to run in the first place.

a lot of times it’s also a problem with the “game optimized” drivers

If I understand you correctly, I’d rather get an NVIDIA card for this kind of emulator, right?
A bit of a PITA as I hoped to use FreeSync with my LG monitor :disappointed_relieved:
FYI, I also intend to do GPU passthrough.

If you’re doing GPU passthrough the answer to that question is a bit more nuanced, since nvidia cards need some tewaking to get up and running, and AMD cards are a bit of a minefield of either “just works” or “just doesn’t work” at the moment, especially with Vega.

There’s fixes for both but one requires a windows 10 pro license for the vm (amd) and the other one will occasionally trigger anti-cheat

I’ve done OpenGL programming in the past and can confirm that nvidia’s support is significantly better. They also tend to support new OpenGL versions on the very date they are announced.

With that said though, AMD sticks much closer to the specification. Nvidia’s drivers try to execute code, even when it’s buggy and against the OpenGL specs. So sometimes when a program doesn’t run as expected on AMD drivers it’s actually the programs fault.

basically this. emulator hackers aren’t necessarily the best viz/3d programmers, they’re more interested in timer approximation and translatting syscalls

I’m confident tweaking the XML file using virsh to anti-cheat Windows with an NVIDIA card.
However, interesting… I wasn’t aware AMD Vega cards were a bit of a lottery!

Out of curiosity, why would an AMD GPU require a Windows 10 Pro license for the VM (vs Home edition I suppose)?!

because you have to use a shutdown script to power off/remove the card before the VM deactivates completely, and that’s only a feature in windows 10 pro or better

Oh dear, I really thought using an AMD card would be far easier than that.

From what I gathered so far:

  • A windows 10 Pro license is mandatory…
  • … as a shutdown script is required with GPU passthrough
  • Vega cards are a bit of a lottery
  • Vega cards are less compatible with emulators like RPCS3
  • Kernel 4.17 or later is required for APUs like the Vega 2200G or 2400G

Who said AMD cards are working OOB?

the very vocal [ahem] amd enthusiast community

As someone who has a R9 390 I can tell you that It has gotten a lot better than it used to be. I can’t express how much easier it has gotten from the initial state of “nothing works whatsoever and fuck you if you want to try and get it running” to “screen tearing is still a bit of a problem with X but otherwise its alright”

OOTB my card now works, previously it didn’t.

@tkoham: are TSX-NI instructions on Intel processors that important for RPCS3?
Someone mentioned a +30% boost in terms of performance.
AMD processors do NOT seeam to have any equivalent

they definitely help, yeah

gpu accel isn’t a huge problem as much as having 8 really fast threads, 5ghz is ideal

So Intel is doing better than AMD for this use case (TSX-NI + overclocking potential)… and NVIDIA graphics card are superior than AMD due to better OpenGL support: what is the Red team doing for retrogamers like me?! :disappointed_relieved:

forcing you to run games on last decade’s settings (I kid)

Did you give Vega 2200G or 2400G a go?

AMD is sooo much cheaper… but not sure if it possible to passthrough this APU at this time.

raven ridge isn’t supported in mainline yet

no reason you couldn’t once it does hit support though

not sure why you’d need passthrough for emulators other than CEMU though

I wish to build a headless KVM server (and benefit from all Linux services) + have a Windows 10 guest for (retro)gaming.
Trying to look for the best option in terms of price/features and performance ratio…
Another option would have been to use Retropie on Ubuntu but that’s a non-rolling distro