OBS 28.0.0 - 28.0.3 AMD AMF problem (AMD Ryzen 7 5700G iGPU)
Operating System Info
Windows 11
Other OS
No response
OBS Studio Version
28.0.3
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/Orfvx4vHWCojq0Fv
OBS Studio Crash Log URL
No response
Expected Behavior
I expect the AMD encoder to detect my AMD 5700G Intergrated Vega Graphics to be detected just like it did before 28.0.0 Beta 2.
Current Behavior
AMD encoder is detected and supported in log file but there is no AMD encoder option anywhere.
Steps to Reproduce
- Have a AMD 5700G installed in PC
- Enable the Intergraded Graphics in BIOS
- Load OBS 28.0.0 Beta 2 onwards to find Encoder missing for AMD ...
Anything else we should know?
I made a thread in the OBS forums ( https://obsproject.com/forum/threads/obs-28-0-0-28-0-1-amd-amf-problem-amd-ryzen-7-5700g-igpu.159318/ ) to discuss this issue.
Due to feedback, I have been able to locate the problem.
Using OBS 28.0.0 Beta 1, for comparision to 28.0.3. I went though each folder and looked at all the file size differences between Beta 1 and current version. Once file difference was located. I tried replacing new file with old, fire up OBS 28.0.3 to see if it detects AMD Encoder. If it didn't, I would restore file to orginial version. Then move to next file.
I located the problem with the problem is with the enc-amf.dll inside the obs-studio\obs-plugins\64bit folder.
If I go by version details. From 28.0.0 Beta 1 - enc-amf.dll is version 2.7.0.14 - This detects AMD Encoder. But loads old encoder. From 28.0.0 Beta 2 - enc-amf.dll is version 2.7.0.15 - OBS in log file detects and supports encoder but does not list AMD Encoder in streaming or recording. From 28.0.3 - enc-amd.dll is version 2.7.0.16 - OBS in log file detects and supports encoder but does not list AMD Encoder in streaming or recording.
If I copy the enc-amf.dll from 28.0.0 Beta 1 over the top of the current enc-amf.dll. I do get an AMD encoder listed within OBS. However, it is the old encoder. For now, this is the only work round I have for this issue. Is to force the old encoder into OBS 28.0.3.
Educated guess. The Encoder needs code to be able to know what to do with AMD intergrated graphics processors.
Note: This IGPU is a stripped down Vega GPU. It will not be good for gaming, which I have a DGPU for. But the Encoder in the IGPU is very much the same as the Vega GPU. As I had an AMD Vega previously GPU. And the encoding performance of this IGPU is on par with the time I had an AMD Vega in current video editing software.
Does the availability of the AMF encoder change if you force obs64.exe to run on the AMD iGPU (remember to restart OBS after the change)? How about if you roll back the AMD GPU driver to 22.5.1?
I am more than happy to try older drivers, I will use DDU. How do I force OBS to run on the iGPU?
How do I force OBS to run on the iGPU?
You can manually assign individual applications to a specific GPU in Windows under Under Settings -> Display -> Graphics Settings -> Graphics Performance Preference.
With OBS closed try assigning obs64.exe to one of the GPUs, then open OBS and see what GPU-based encoders are available. Close OBS and repeat for the other GPU. Screenshots of the results from each manual GPU assignment would be helpful here, as would a log from OBS of each.
Hi there,
Here is the update.
I tried the setting OBS to the iGPU. It did not work. I checked the log files, and there was no difference between the log files.
I then Downgraded the Drivers for the AMD side down to 22.5.1 and repeated the test.
The AMD encoder is still not listed in the encoder list for either streaming or recording.
I'm able to reproduce the vanishing AMF encoder when there is both a AMD and Nvidia GPU in the same system (NVENC is the only available GPU-based encoder). When there's (at least) 2x AMD GPUs, AMF is available.
This is a duplicate, https://github.com/obsproject/obs-studio/issues/7130
I tried on R7 6800H laptop with RTX 3050Ti, if NVIDIA dGPU is disabled, AMF will be available. However I can't have both NVENC and AMF encoder.
I want to stream using H.264 and record using HEVC at the same time, by using both.
For Intel iGPU + Nvidia dGPU, you can use both Quicksync and NVENC for streaming and recording at the same time.
Please re-test in OBS Studio 29.0.2 (or newer).
Duplicate of #7130