Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMD video encoder usage is actually decoder usage and vice versa #212

Closed
1 task done
freaktechnik opened this issue Apr 22, 2024 · 5 comments · Fixed by #371
Closed
1 task done

AMD video encoder usage is actually decoder usage and vice versa #212

freaktechnik opened this issue Apr 22, 2024 · 5 comments · Fixed by #371
Labels
bug Something isn't working

Comments

@freaktechnik
Copy link

Is there an existing issue for this?

  • I searched the existing issues and did not find anything similar.

Current Behavior

The "Video Encoder Usage" tracks the usage of hardware decoding, the "Video Decoder Usage" presumably tracks the usage of hardware encoding.

Expected Behavior

The "Video Encoder Usage" tracks the usage of hardware encoding, "Video Decoder Usage" tracks the usage of hardware decoding.

Steps To Reproduce

  1. Have an AMD GPU where this reproduces (in my case an 7900 XTX)
  2. Select the GPU
  3. Use hardware decoding to play a video
  4. Video Decoder Usage stays at 0%, while Video Encoder Usage shows activity

Environment

Program Version: 1.4.0
Package Type: Flatpak
System: Fedora 39 (Linux 6.8.4-200.fc39.x86_64, Gnome 45.5)
Graphics (shown as GPU 2 in Resources): AMD Radeon™ RX 7900 XTX

Anything else?

No response

@freaktechnik freaktechnik added the bug Something isn't working label Apr 22, 2024
@nokyan
Copy link
Owner

nokyan commented Apr 22, 2024

Hi, this is known and an unfortunate side effect of AMD merging the decoder and encoder parts of their media engine since RX 7xxx. I haven't yet found a way to properly find out whether a GPU has this new merged engine or the old seperated engine, and I'd really like to avoid using regex on the GPU name or hardcoding a list of PCI IDs. :/

@Umio-Yasuno
Copy link

I think the VCN HW IP version we can get from ip_discovery sysfs (ip_discovery/die/0/UVD/0/major) will be helpful.
Currently, VCN v4.x (major version: 4) or higher have unified decoding and encoding queues.

@patrulhasirius
Copy link

I think I'm having the same issue in an intel iGPU, is it the same reason or should I report it?

Firefox is showing encoder usage and no decoder usage while playing a youtube video.

@nokyan
Copy link
Owner

nokyan commented Sep 29, 2024

I think I'm having the same issue in an intel iGPU, is it the same reason or should I report it?

Firefox is showing encoder usage and no decoder usage while playing a youtube video.

Hi, the reason for that is the same as for newer AMD GPUs, Intel GPUs unfortunately do not differentiate between encode and decode and I haven't yet found a way to make this work in the Apps and Processes pages.

@nokyan
Copy link
Owner

nokyan commented Oct 3, 2024

Hi, I've pushed a branch combined-media-engines that should now recognize AMD GPUs with combined media engines and handles them in the Apps/Processes lists a bit better. If the media engine of a GPU with combined encoder/decoder stats is used, the percentage will now be displayed in both the encoder and decoder columns in Apps/Processes. Still not ideal of course but less confusing than it is now I think.
I'd appreciate if you could test it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants