Skip to main content

Export fails on AMD GPUs since NV12 fast path (v0.1.142)

Hello. I’m currently on a new system (MX Linux, though don’t think the distro is the problem here) and wanted to do a quick recording. Installed using the install script and all went well. Authenticated youtube and when trying to upload, it fails. I’ve attached the log file found in ~/.local/state/hosaka/

hosaka.log

188.7 KB

Status: Completed11 comments

Log in to comment and vote

  • Hugo Baldwin

    Team•

    Mar 28

    Hi Sujal sorry for the trouble, and thank you again for being patient through multiple rounds of AMD-related fixes (it’s definitely an AMD thing, changing distro at the same time was simply a coincidence).

    The root cause stems from when I added a direct GPU → encoder NV12 path to speed up export in v0.1.142.

    The performance gain is real on most hardware, but AMD's VAAPI driver has a quirk where its hwupload filter advertises RGBA surfaces instead of NV12, causing FFmpeg to silently convert the frames to the wrong format before encoding - the encoder then rejects them with the "Function not implemented" error seen in your logs.

    The recording path was unaffected because it goes through a software scale step first, which happens to sidestep the issue. Only export broke.

    I’ve deployed a fix in v0.1.149 to probe whether the fast NV12 path works at startup. If it doesn't - as on your system - it falls back to a path that should still work on AMD, while still using hardware (VAAPI) encoding. So you should still get GPU-accelerated exports, just without the NV12 shortcut.


    Let me know if you're still seeing issues once it's out.

    • Sujal Gurung

      •

      Mar 30

      No worries. Sorry I didn’t get notified of this. Tested and I’m still getting the same issue (on both MX Linux as well as Arch on the same device.

      Here’s logs for MX:

      hosaka.log

      46.2 KB


      And for Arch:

      hosaka-arch.log

      38.8 KB

      • Hugo Baldwin

        Team•

        Mar 31

        I picked up an old Lenovo with AMD CPU/GPU today to squash this bug for good - I’ll push changes up once I’ve tested them myself on AMD