Skip to content

Support AMD's AMF on Linux #2825

Description

@buddha314

Apparently ALVR only support VAAPI at the moment and not AMD's AMF. This prevents hardware encoding in ALVR if you're using Radeon.

TBH, this is Greek to me, but the links scan. This is what ChatGPT had to say:

Console Error

libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
[17:26:17.496 INFO alvr_dashboard::steamvr_launcher::linux_steamvr] GPU Encoder vendor: Mesa Gallium driver 25.0.5 for AMD Radeon RX 7700S (radeonsi, navi33, LLVM 20.1.3, DRM 3.61, 6.14.5-1-default)
[17:26:17.496 ERROR alvr_dashboard::steamvr_launcher::linux_steamvr] Couldn't find H264 encoder. Your gpu may not suport encoding with this.
[17:26:17.496 ERROR alvr_dashboard::steamvr_launcher::linux_steamvr] Couldn't find HEVC encoder. Your gpu may not suport encoding with this.
[17:26:19.441 INFO alvr_dashboard::data_sources] Server connected

Possibly Related

I found this ticket #817 that is pretty stale but may be related.

Without a deeper understanding, I went to ChatGPT

ChatGPT Output

This is not a hardware issue — the RX 7700S does support hardware H264 and HEVC encoding. The problem is:

🔴 *Mesa's VAAPI drivers (radeonsi) for RDNA3 GPUs (like Navi33) do not yet support hardware video encoding.

This includes both H.264 and HEVC.


🧭 Solution Paths

✅ 1. No Fix on Mesa Yet — Workaround Needed

Currently, you cannot use VAAPI encoding on RDNA3 GPUs under Mesa — it simply doesn't implement it yet. This is why ALVR can't find a usable encoder.


⚠️ 2. ALVR on Linux currently relies on VAAPI

ALVR (as of now) doesn’t support AMF (AMD’s official media framework) on Linux — only VAAPI.

So even though your hardware supports encoding, there is no functioning VAAPI backend to expose it. That’s why ALVR logs that error.


🛠 What You Can Do

🔧 A. Fallback to Software Encoding (Slow)

You can configure ALVR to use software encoding (libx264/libx265), though latency will increase and performance will suffer:

  • Open ALVR Web UI or config file.

  • Switch encoder to software.

💡 This is okay for low-res testing but not ideal for real-time VR.


🔧 B. Use ALVR on Windows

On Windows, your RX 7700S does have full AMF support, and ALVR can use it:

  • H264/HEVC/AV1 all work through h264_amf, hevc_amf, etc.

If you're dual-booting, this is the best way to unlock the hardware encoding you paid for — until Mesa adds Navi33 encoding support (possibly in a future Mesa 26.x+).


🔧 C. Wait for Mesa Support

There is active development for enabling VCN (Video Core Next) encoding for RDNA3 GPUs in Mesa. Watch these projects:

  • Mesa GitLab radeonsi driver

  • libva

  • AMDGPU kernel driver support for Navi33

You can also track AMD VCN3.x patches upstream — but for now, no distro includes working RDNA3 VAAPI encoding.


✅ Summary

Issue | Explanation -- | -- Couldn't find H264 encoder | Mesa VAAPI doesn’t support RDNA3 hardware encoding yet Couldn't find HEVC encoder | Same — VAAPI missing for Navi33 GPUs Workaround | Use software encoding or ALVR on Windows Fix ETA | Pending upstream Mesa support for RDNA3 VAAPI encoding
This is not a hardware issue — the RX 7700S does support hardware H264 and HEVC encoding. The problem is:
🔴 *Mesa's VAAPI drivers (radeonsi) for RDNA3 GPUs (like Navi33) do not yet support hardware video encoding.

This includes both H.264 and HEVC.
🧭 Solution Paths
✅ 1. No Fix on Mesa Yet — Workaround Needed

Currently, you cannot use VAAPI encoding on RDNA3 GPUs under Mesa — it simply doesn't implement it yet. This is why ALVR can't find a usable encoder.
⚠️ 2. ALVR on Linux currently relies on VAAPI

ALVR (as of now) doesn’t support AMF (AMD’s official media framework) on Linux — only VAAPI.

So even though your hardware supports encoding, there is no functioning VAAPI backend to expose it. That’s why ALVR logs that error.
🛠 What You Can Do
🔧 A. Fallback to Software Encoding (Slow)

You can configure ALVR to use software encoding (libx264/libx265), though latency will increase and performance will suffer:

Open ALVR Web UI or config file.

Switch encoder to software.

💡 This is okay for low-res testing but not ideal for real-time VR.
🔧 B. Use ALVR on Windows

On Windows, your RX 7700S does have full AMF support, and ALVR can use it:

H264/HEVC/AV1 all work through h264_amf, hevc_amf, etc.

If you're dual-booting, this is the best way to unlock the hardware encoding you paid for — until Mesa adds Navi33 encoding support (possibly in a future Mesa 26.x+).
🔧 C. Wait for Mesa Support

There is active development for enabling VCN (Video Core Next) encoding for RDNA3 GPUs in Mesa. Watch these projects:

Mesa GitLab radeonsi driver

[libva](https://github.com/intel/libva)

AMDGPU kernel driver support for Navi33

You can also track AMD VCN3.x patches upstream — but for now, no distro includes working RDNA3 VAAPI encoding.
✅ Summary
Issue Explanation
Couldn't find H264 encoder Mesa VAAPI doesn’t support RDNA3 hardware encoding yet
Couldn't find HEVC encoder Same — VAAPI missing for Navi33 GPUs
Workaround Use software encoding or ALVR on Windows
Fix ETA Pending upstream Mesa support for RDNA3 VAAPI encoding

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions