Warning: there may be occasional oddness due to css and blog edits. **KNOWN ISSUE: possible hidden text**

Wednesday, October 22, 2025

GPU fwget wrinkle

I just read an email from BSD Weekly that seems to have shed some light on a recent issue I've seen a number of times.  Recall that I've mentioned something about amdgpu_picasso_gpu_info_bin.ko, the issue being mention of firmware that was missing.  The error message was too involved to copy down but I did catch the info filename that was repeated in the message.  I didn't know there was anything I could do about it.

Introducing FreeBSD’s fwget(8) for Firmware Management: The article discusses the fwget(8) tool in FreeBSD, introduced to manage firmware for hardware components like WiFi and GPU.  The author encountered WiFi issues after upgrading to FreeBSD 14.3-RELEASE, discovering that the Intel Wi-Fi 6 AX201 required firmware not included by default.  Running fwget(8) automatically detected and installed the missing iwlwifi-QuZ-a0-hr-b0-77.ucode firmware, restoring WiFi functionality.  The tool scans hardware devices, identifies missing firmware, and installs necessary packages (e.g., wifi-firmware-iwlwifi-kmod-22000).  The author notes the lack of official documentation in the FreeBSD Handbook, though a bug report (#286402) addresses this gap.

Obviously this intrigued me, so I tested to see more about it.

root@ichigo:~ # man fwget
FWGET(8)                FreeBSD System Manager's Manual               FWGET(8)

NAME
     fwget – install firmware packages for the running system

SYNOPSIS
     fwget [-n] [-v] [subsystem]

DESCRIPTION
     The fwget utility can be used to detect and install firmware packages for
     devices present on a running system.

     The options are as follows:

     -n          Dry run, only show needed packages

     -v          Be more verbose

     subsystem   Hardware subsystem(s), default is all supported subsystems.
                 Space separated hardware subsystems, accepts pci and usb

SEE ALSO
     firmware(9)

HISTORY
     The fwget utility first appeared in FreeBSD 14.0.

AUTHORS
     The fwget utility and this manual page were written by Emmanuel Vadot
      for Beckhoff Automation GmbH & Co.  KG.

CAVEATS
     This utility currently only supports the pci(4) and usb(4) subsystems.

FreeBSD 15.0-ALPHA5              July 7, 2025                         FWGET(8)
root@ichigo:~ # fwget -n -v
Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel
Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel
Trying to match device 0x8125 in class network and vendor realtek with pci_network_realtek
Trying to match device 0x15d8 in class video and vendor amd with pci_video_amd
Needed firmware packages: 'gpu-firmware-amd-kmod-picasso'
root@ichigo:~ #

It seems that all I need to do now, is actually use fwget (not a dry run) and test with a reboot.  I wonder what will be different, everything seems to be working fine without this but maybe I'm not using picasso at all?

root@ichigo:~ # fwget -v
Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel
Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel
Trying to match device 0x8125 in class network and vendor realtek with pci_network_realtek
Trying to match device 0x15d8 in class video and vendor amd with pci_video_amd
Needed firmware packages: 'gpu-firmware-amd-kmod-picasso'
root@ichigo:~ # ls /boot/firmware/
iwm3160fw  iwm3168fw  iwm7260fw  iwm7265Dfw iwm7265fw  iwm8000C   iwm8265fw  iwm9000fw  iwm9260fw
root@ichigo:~ # fwget -v pci
Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel
Trying to match device 0x10c9 in class network and vendor intel with pci_network_intel
Trying to match device 0x8125 in class network and vendor realtek with pci_network_realtek
Trying to match device 0x15d8 in class video and vendor amd with pci_video_amd
Needed firmware packages: 'gpu-firmware-amd-kmod-picasso'
The most recent versions of packages are already installed
root@ichigo:~ # ls -l /boot/firmware/
total 7970
-rw-r--r--  1 root wheel  918268 Sep 10 21:38 iwm3160fw
-rw-r--r--  1 root wheel 1028032 Sep 10 21:38 iwm3168fw
-rw-r--r--  1 root wheel 1049340 Sep 10 21:38 iwm7260fw
-rw-r--r--  1 root wheel 1028316 Sep 10 21:38 iwm7265Dfw
-rw-r--r--  1 root wheel 1180412 Sep 10 21:38 iwm7265fw
-rw-r--r--  1 root wheel 2120860 Sep 10 21:38 iwm8000C
-rw-r--r--  1 root wheel 1811984 Sep 10 21:38 iwm8265fw
-rw-r--r--  1 root wheel 2678284 Sep 10 21:38 iwm9000fw
-rw-r--r--  1 root wheel 2678092 Sep 10 21:38 iwm9260fw
root@ichigo:~ #

I seem to be rather horrible at this, I should have checked what was at /boot/firmware before I ran the command.  I knew this directory existed but didn't know there was a way to populate it.  I'm not going to erase the directory and use fwget to repopulate it, but I probably could.  Erasing it and using fwget would just restore it to what I have now, so I still wouldn't know which file was added for the picasso.  What is interesting though is that all but one file ends with fw, which makes me wonder why one ends with C instead.

I guess the next thing to do is reboot and see what happens.  Will my amdgpu work, work better, or will I have more work myself to fix things yet again?

How rarely things are easy.  When I rebooted somehow graphics was broken again.  This likely was a hidden change that was discovered only due to things in memory being unloaded.  I don't know for certain what caused it.  Among various things I did while graphics was failing for me, was to erase the contents of /boot/firmware and just to be sure everything else was in place, I went to /usr/src to make buildworld and make installworld.  What I discovered was that that was what populated /boot/firmware, so that puzzle is solved.

However, after a lot of round and round effort, I now know that sometimes the firmware I hope to install is ignored.  If I use graphics/gpu-firmware-kmod, I believe it installs everything under the sun, all the flavors it turns out to be.  If I use graphics/gpu-firmware-amd-kmod by itself, it will install the very first firmware flavor only, aldebaran.  With a few trials and errors, I figured out that if I make FLAVOR=picasso install FLAVOR=picasso clean, then it does everything I need for it to do.

What becomes interesting in a very head-scratching way, is if fwget tells me in Dry run "Needed firmware packages: 'gpu-firmware-amd-kmod-picasso'" then why does it not actually install gpu-firmware-amd-kmod-picasso or what was I missing that caused another panic at boot?

I can verify that it does install it (just as Vermaden had in his post), in an odd location, and I note the date difference as well, which means it was most recent.

# ls -l /usr/local/share/licenses | grep firmware
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-arcturus-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-banks-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-beige-goby-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-bonaire-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-carrizo-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-amd-kmod-cyan-skillfish2-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-1-4-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-1-5-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-1-6-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-2-0-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-dcn-3-2-1-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-amd-kmod-dimgrey-cavefish-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-fiji-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-10-3-6-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-10-3-7-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-0-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-1-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-2-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-3-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-gc-11-0-4-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-amd-kmod-green-sardine-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-hainan-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-hawaii-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-kabini-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-kaveri-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-mullins-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-navi10-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-navi12-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-navi14-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-amd-kmod-navy-flounder-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-oland-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 22 16:44 gpu-firmware-amd-kmod-picasso-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-pitcairn-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-polaris10-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-polaris11-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-polaris12-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-0-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-psp-13-0-10-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-psp-13-0-11-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-4-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-5-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-psp-13-0-7-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-psp-13-0-8-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-raven-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-raven2-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-renoir-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-5-2-6-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-5-2-7-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-0-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-1-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-2-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-sdma-6-0-3-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-si58-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-amd-kmod-sienna-cichlid-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-smu-13-0-0-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-smu-13-0-10-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-smu-13-0-7-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-stoney-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-tahiti-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:58 gpu-firmware-amd-kmod-tonga-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-topaz-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-amd-kmod-vangogh-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-3-1-2-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-4-0-0-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-4-0-2-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 23:00 gpu-firmware-amd-kmod-vcn-4-0-4-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-vega10-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-vega12-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-vega20-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-vegam-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-verde-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:59 gpu-firmware-amd-kmod-yellow-carp-20230625.1500066_2
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-alderlake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-broxton-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-cannonlake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-dg1-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-dg2-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-elkhartlake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-geminilake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-icelake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-kabylake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-rocketlake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-skylake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:57 gpu-firmware-intel-kmod-tigerlake-20230625.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-aruba-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-barts-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-bonaire-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-btc-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-caicos-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-cayman-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-cedar-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-cypress-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-hainan-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-hawaii-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-juniper-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-kabini-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-kaveri-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-mullins-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-oland-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-palm-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-pitcairn-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-r100-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:55 gpu-firmware-radeon-kmod-r200-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-r300-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-r420-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-r520-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-r600-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-r700-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-redwood-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rs600-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rs690-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rs780-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv610-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv620-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv630-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv635-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv670-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv710-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv730-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv740-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-rv770-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-sumo-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-sumo2-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-tahiti-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-turks-20220511.1500066
drwxr-xr-x  2 root wheel  5 Oct 21 22:56 gpu-firmware-radeon-kmod-verde-20220511.1500066
#

What seems likely is that the gpu-firmware-amdgpu-kmod files for picasso were somehow missing.  Each time I am forced to spend time solving these software riddles, it usually ends up teaching me something that I hopefully remember for next time.  If all else fails, I do have these blog posts as reference in the future.  As an overview though, for my graphics to function, I need the gpu-firmware-amdgpu-kmod picasso files, drm-kmod, and in /etc/rc.conf.local set kld_list="amdgpu" and all should be fine.  Something that is interesting, is that when I was solving problems in singleuser, I couldn't use fwget even though I was root, it claimed insufficient priviledges.

One thing fwget does is identify and install the right firmware for my amdgpu.  If I use graphics/drm-kmod to install that, it also installs all flavors of gpu-firmware-kmod, amdgpu, radeon, and intel.  In order to remove the excesses and only keep the picasso stuff, I can go to each of graphics/gpu-firmware-amdgpu-kmod, graphics/gpu-firmware-intel-kmod, and graphics/gpu-firmware-radeon-kmod and issue make FLAVOR=* deinstall and then go back to graphics/gpu-firmware-amdgpu-kmod to install FLAVOR=picasso, or more simply, just use fwget.  It may be easier to periodically comment out the RUN_DEPENDS line in graphics/drm-kmod which may have the side-effect of future updates not pulling all of the extras back again.  If something doesn't work by using fwget for whatever reason, it still indicates the correct driver so that it can be installed another way.

No comments:

Frequently viewed this week