So I’m trying to get HandBrake to encode some video files that I ripped using MakeMKV, and it’s clearly NOT using my AMD Rx 9070 XT GPU to do it. The CPU usage is near 90% and the time to render a 2 hour movie is very near two hours. I know this hardware is far better than that. When I ran Windows, I could do a 2-hour Blu-Ray movie in 30-45 minutes.
Handbrake’s documentation is terrible. It says something about how you need some sort of “amdgpu-pro” driver, but apparently that driver is only available for Ubuntu? And the link they have to that driver is broken anyway, so…
I know people must use Fedora 43 (KDE) for ripping DVDs and BluRays – surely y’all have a solution to this, no? I thought AMD cards were supposed to “just work” in Linux?
Alternatively, is there something other than Handbrake I should use?
What are you trying to do with those files by encoding with handbrake?
I use MakeMKV and every file I rip works immediately. The only issue I have ever encountered is that when the mkv file contains a 7.1 audio track I have to downgrade it to a 5.1 track because of the limitations of my playback hardware.
When I perform that task I use ffmpeg to re-encode the audio and have no issues.
The un-compressed video is 45GB. I use Handbrake to shrink them down significantly without losing much quality. Otherwise my 14TB Plex Server would be filled up by now.
Ok, I’ll try to remember that copy-paste preference over screenshots next time. Easier to do that anyway…
So, if I install the two remaining mesa driver-packs (mesa-vdpau-drivers and mesa-vulkan-drivers) that should fix it? After a reboot, I assume…
EDIT: What I mean is, there’s no extra steps I need to take to get the system to actually use these drivers, yes? just “sudo dnf install” them and reboot, and it should take care of itself, right?
On a slightly different topic – how exactly do you copy-paste preformatted text like you did in your reply above? I wanted to see if I could do it, so I used my mouse to highlight some text in my Konsole window, tapped Ctrl+Shift+C, then pasted it here using Ctrl+V and it absolutely does not look like what you posted.
$dnf list --available mesa*freeworld
Updating and loading repositories:
Repositories loaded.
Available packages
mesa-va-drivers-freeworld.i686 25.3.6-1.fc43 rpmfusion-free-updates
mesa-va-drivers-freeworld.x86_64 25.3.6-1.fc43 rpmfusion-free-updates
mesa-vdpau-drivers-freeworld.i686 25.2.4-1.fc43 rpmfusion-free
mesa-vdpau-drivers-freeworld.x86_64 25.2.4-1.fc43 rpmfusion-free
mesa-vulkan-drivers-freeworld.i686 25.3.6-1.fc43 rpmfusion-free-updates
mesa-vulkan-drivers-freeworld.x86_64 25.3.6-1.fc43 rpmfusion-free-updates
Right
Paste the text; highlight it with your mouse after pasting, then click the </> button.
I prefer the keyboard way where I enter [ ``` ] on the line just before the first line of the text then the same [ ``` ] on the line following the last line of text.
You could edit your last post and make it preformatted for testing.
Ok – got it. When editing, apparently you can’t type the ``` in front of existing text and have it change over, you have to type it on its own line, then it turns into the “code” style and you can cut-and-paste the existing text. Just FYI.
When I try to install the mesa-vdpau-drivers-freeworld package, it ends with “nothing to do.” As if it just doesn’t want to install them for some reason.
$ sudo dnf install mesa-vdpau-drivers-freeworld
Updating and loading repositories:
Repositories loaded.
Nothing to do.
And when I try to install the mesa-vulkan-drivers-freeworld package I get a bunch of conflicts:
$ sudo dnf install mesa-vulkan-drivers-freeworld
Updating and loading repositories:
Repositories loaded.
Problem: problem with installed package
- installed package mesa-vulkan-drivers-25.3.6-2.fc43.x86_64 conflicts with mesa-vulkan-drivers(x86-64) provided by mesa-vulkan-drivers-freeworld-25.3.6-1.fc43.x86_64 from rpmfusion-free-updates
- package mesa-vulkan-drivers-freeworld-25.3.6-1.fc43.x86_64 from rpmfusion-free-updates conflicts with mesa-vulkan-drivers(x86-64) provided by mesa-vulkan-drivers-25.3.6-2.fc43.x86_64 from updates
- package mesa-vulkan-drivers-freeworld-25.3.6-1.fc43.x86_64 from rpmfusion-free-updates conflicts with mesa-vulkan-drivers(x86-64) provided by mesa-vulkan-drivers-25.2.4-2.fc43.x86_64 from fedora
- cannot install the best candidate for the job
So… Are these drivers not compatible with my system?
EDIT:
And why is it trying to install the i686 drivers?!
I don’t know if they are required.
I do not have any of the freeworld packages installed, and also am not using an AMD GPU. I use nvidia.
The conflict with the mesa-vulkan-drivers can usually be solved by using --allowerasing with the dnf command. You failed to show the command used and the mesa-vulkan-driver is already installed and would be replaced by the freeworld package so an install command does not work directly.
When a package is already installed and needs to be replaced you would need to use dnf swap <old package> <replacement package> instead of dnf install
I suspect that because the mesa-vulkan-drivers.x86_64 is already installed and prevents installing the freeworld version of the x86_64 package the system then tries to install the only version of the mesa-vulkan-drivers-freeworld package it can (i686 with no conflicts).
HW video encoders are fast and also have a potential advantage in power efficiency. But because they are baked into a chip, they are usually are less configurable and their image quality is lower than what a well-optimized SW encoder such as x264/x265 can achieve. Because of that, I have always preferred x265 myself (and I am currently stuck with H.265 because I have one device that cannot yet decode AV1 in HW).
They do, for the most part. In any case, whatever you want to do, you need a piece of software to talk to the hardware. For graphics output, this is DRM and Mesa, and because this is the most common use case for a graphics card, this is very well supported.
For HW video encoding, there are the -freeworld packages that others have pointed out already. However, from the documentation, it appears that Handbrake needs AMD’s proprietary amdgpu-pro driver for this. AMD is offering them for RHEL, but I wouldn’t install them on Fedora.
I looked at that AMF thing – zero instructions on how to build it in Fedora. It tells you to download packages that simply aren’t available in Fedora…
Although it is allegedly compatible with the Vulkan drivers I now have installed… So there’s that much, at least. If I can figure out how to get AMF installed, it’ll probably work. No clue how to do that, though.
Does anyone know how to tell what version of the AMD driver I have installed? Yes, I see “mesa-vulkan-drivers-freeworld.x86_64 25.3.6-1.fc43” but that’s not AMD’s version number is it? The AMF utility is looking for AMD’s driver version 25.20 or later. Do I have that with this Vulkan 25.3.6-1.fc43 package? How can I tell?
And if anyone has any tips or experience building this AMF thingy on Fedora, I’d greatly appreciate some tips.
I think I wasn’t quite clear. The ffmpeg package uses AMF to utilize the HW encoder on AMD GPUs. There is no need to build anything. You simply select one of the _amf encoders as described in section 3 of the ffmpeg wiki page on AMF.
Did you install HandBrake from the rpmfusion-free repo. ???
It is there and should pull in any needed dependencies for you. If installed from there but not working then maybe filing a bug report with rpmfusion would be appropriate. However rpmfusion is very good about testing packages they make available so their version of handbrake realistically should NOT depend upon the no longer available driver and SHOULD have pulled in any required dependencies so it would just work..
However, if installed from another source I would suggest removing what you have installed and install from the rpmfusion repo.
When I tried installing handbrake on my daily driver it appears that the only package it wants to bring in (not already installed and a weak dependency) is libdvdcss.
The files that handbrake from rpmfusion requires appear to be these
I downloaded the .flatpack file that the handbrake.fr website links to. Do they have a release in Freeworld? How do I get to it? I’m still new to this whole package-manager thing, obviously.
I did find one that was VERY old – like over 5 years old – in KDE’s Discover app. Obviously I didn’t install that one. If that’s the one from Freeworld, it’s far too old to be useful. It wouldn’t even know what AV1 is, and might even been too old for HEVC support, too.
But if you can show me how to get the most recent version of Handbrake (or even the most recent previous version) from Freeworld using the dnf command, I’d greatly appreciate it. I’m still not 100% certain how you even tell what version the program inside the dnf package is. Yes, dnf displays a version number, but it’s related to the package version, not the version of the program it’s installing. So you kind of have to install it first and then find out what version the program inside is – unless I’m missing something, which is very possible.