Video capture acceleration with AMD/Linux

I recently captured some 1600p gaming footage under Linux with OBS. The performance hit recording at full resolution and 60 fps was pretty extreme, even with an 8 core CPU. I know hardware acceleration is available with Nvidia cards, or with AMD GPUs under Windows. Is there any way to speed this up with AMD under Linux?

Obs has native options to use nvidia/amd gpus for encoding.

For Windows, yes. Nvidia support under Linux requires that you compile in nvenc support with ffmpeg, as seen here: https://devilzlinux.blogspot.com/2017/04/how-to-enable-nvidia-nvenc-for-obs-in.html

But I can’t find a similar way to enable hardware acceleration under Linux with an AMD GPU.

1 Like

That kind of encoding is going to be pretty intensive… May you please post your current OBS settings?

If you’re using the AMD drivers (I mean the ones directly from AMD) why don’t you use the integrated AMD capture function?
I’ve used it on Windows and it has a 1-2fps hit with a 15mbit data rate (4790K and R9 285).

It didn’t look like you needed complex settings like scenes and overlays, that’s why I’m suggesting that.

I’m using the open source driver. AFAIK there’s no capture function in the amdgpu driver.

1 Like

Unfortunately this is the primary reason I can’t recommend hardware accelerated encode on Linux with AMD cards, cause even though the open source stack is superior in graphics performance, it has a LONG ways to go before there’s a proper use of the VCE. The current hacky way is through VA-API.

This dead thread gives a gist of what it boils down to:

TL;DR: Nvidia NVENC just works if you can setup OBS properly. AMD VCE has almost ZERO progress towards official support.