Author Topic: Necessary firmware for Navi14  (Read 812 times)

Hasturtium

  • Jr. Member
  • **
  • Posts: 60
  • Karma: +5/-0
    • View Profile
Necessary firmware for Navi14
« on: July 28, 2022, 12:34:30 pm »
Hey there! Now that I've got my Blackbird motherboard fully working and functional, I've turned my attention to getting my Radeon Pro W5500 up and running. The Skiroot BOOTKERNFW size is around 1.8MB, which doesn't pose any problems for older Radeons whose firmware fits neatly into that space. However, the full size of Navi14-affiliated files /lib/firmware in my Void install is around 3.8 MB, and there are a large number of files. There are a couple that obviously aren't needed for Skiroot - VCN's tied to the video transcoding engine, MEC(2) is for Micro Engine Compute - but I've had real trouble finding which of these would be needed for Skiroot without overflowing the space. Has anyone else wrestled with this themselves?

Woof

  • Newbie
  • *
  • Posts: 45
  • Karma: +3/-0
    • View Profile
Re: Necessary firmware for Navi14
« Reply #1 on: July 29, 2022, 03:09:57 pm »
Hi! I haven't but I'm planning the same for a W5700 which should be identical, so I'm also interested.

Hasturtium

  • Jr. Member
  • **
  • Posts: 60
  • Karma: +5/-0
    • View Profile
Re: Necessary firmware for Navi14
« Reply #2 on: August 05, 2022, 09:12:41 am »
I'm going to go ahead and say that I won't personally bother with Navi14 firmware in skiroot. With an HDMI connection to the integrated video and a DisplayPort connection running to my Radeon Pro W5500, I have a nice bifurcation between early boot notifications and my fully functioning Linux environment. After some tinkering, I worked out a solid configuration keeping the instructions here in mind, with the AST video component enabled. Specificallly:

- adding GRUB_CMDLINE_LINUX="modprobe.blacklist=ast video=offb:off amdgpu.aspm=0" to /etc/default/grub, then running sudo update-grub. From kernel version 5.18 onward, amdgpu.aspm=0 should not be necessary, but my install of Void comes with kernel 5.13, and out of an abundance of caution I've left it in there.
- running lspci to find the PCI addresses for my Radeon and the AST GPU.
- creating the configuration file /etc/X11/xorg.conf.d/21-gpu-driver.conf with a text editor, in which I placed the following info for easy cut 'n' pasting:

# AST2500
Section "Device"
    Identifier     "GPU0"
    Driver         "modesetting"
    BusID          "PCI:2@5:0:0"
    VendorName     "ASpeed Corporation"
EndSection

# Radeon Pro W5500
Section "Device"
    Identifier     "GPU1"
    Driver         "amdgpu"
    BusID          "PCI:3@0:0:0"
    VendorName     "AMD Corporation"
EndSection

# this is absolutely necessary, it tells xorg which GPU to use for the screen
Section "Screen"
    Identifier     "Screen0"
    Device         "GPU1"
EndSection

Be 100% certain your PCI address is substituted in for the Radeon, and for the AST in case that's different.

Power the system down entirely for 30 seconds, restore power, let the BMC initialize the system, turn the system on, and you'll hopefully be set.

MPC7500

  • Sr. Member
  • ****
  • Posts: 489
  • Karma: +32/-1
    • View Profile
    • Twitter
Re: Necessary firmware for Navi14
« Reply #3 on: August 05, 2022, 11:19:26 am »
The same is written on the Wiki.
On Void you can choose active Kernels like 5.4 / 5.10 / 5.15 / 5.18.
All needed patches on Void are included. Means you don't need "amdgpu.aspm=0" anymore. Apart from Kernel 5.15.x, IIRC.

Edit: Already added in Kernel 5.15.54. 5.16 and 5.17 are already EOL.
« Last Edit: August 05, 2022, 11:36:01 am by MPC7500 »

Hasturtium

  • Jr. Member
  • **
  • Posts: 60
  • Karma: +5/-0
    • View Profile
Re: Necessary firmware for Navi14
« Reply #4 on: August 05, 2022, 07:33:43 pm »
The same is written on the Wiki.
On Void you can choose active Kernels like 5.4 / 5.10 / 5.15 / 5.18.
All needed patches on Void are included. Means you don't need "amdgpu.aspm=0" anymore. Apart from Kernel 5.15.x, IIRC.

Edit: Already added in Kernel 5.15.54. 5.16 and 5.17 are already EOL.

I’ll update my config soon. Thank you!

MPC7500

  • Sr. Member
  • ****
  • Posts: 489
  • Karma: +32/-1
    • View Profile
    • Twitter
Re: Necessary firmware for Navi14
« Reply #5 on: August 06, 2022, 07:44:47 am »
And one more thing. When you blacklist the AST GPU on boot, then you don't need a xorg config file at all.
You only need the config file when you're using the AST GPU (for high resolution) or if you don't blacklist the amdgpu or AST GPU.

BUT on Void you have to blacklist the other GPU otherwise it won't work. Anyway it's the better solution to blacklist one of the GPUs.

r34per

  • Newbie
  • *
  • Posts: 12
  • Karma: +1/-0
    • View Profile
Re: Necessary firmware for Navi14
« Reply #6 on: November 29, 2022, 05:28:21 pm »
Is the general consensus that navi14 firmware is too big for the bootkernfw? I've tried omitting various files to try getting the size down to no avail. With how my monitors are set up I can pretty much only use the HDMI port on my rx5300 or the onboard hdmi port of the blackbird, and it's a bit of a pain having to constantly climb under my desk to switch the ports when I need to use the boot menu. I just leave the onboard vga disabled just use the serial console on openbmc from my laptop when I need to get into the menu now, but of course being able to just use my rx5300 would be most ideal because I switch between void linux and fedora rather often.

MPC7500

  • Sr. Member
  • ****
  • Posts: 489
  • Karma: +32/-1
    • View Profile
    • Twitter
Re: Necessary firmware for Navi14
« Reply #7 on: November 29, 2022, 10:04:44 pm »
I have a HDMI Switch.

power9mm

  • Newbie
  • *
  • Posts: 28
  • Karma: +1/-1
    • View Profile
Re: Necessary firmware for Navi14
« Reply #8 on: December 30, 2022, 03:53:29 pm »
And one more thing. When you blacklist the AST GPU on boot, then you don't need a xorg config file at all.
You only need the config file when you're using the AST GPU (for high resolution) or if you don't blacklist the amdgpu or AST GPU.

BUT on Void you have to blacklist the other GPU otherwise it won't work. Anyway it's the better solution to blacklist one of the GPUs.

so i can just blacklist the ast in the bootloader and not have to flash firmware to use a pcie gpu when the OS boots?

MPC7500

  • Sr. Member
  • ****
  • Posts: 489
  • Karma: +32/-1
    • View Profile
    • Twitter
Re: Necessary firmware for Navi14
« Reply #9 on: December 30, 2022, 04:35:34 pm »
You only have to flash the firmware when you want the GPU also in Petitboot.
You could instead use the AST til Petitboot and then switch to the AMD GPU (and blacklist the AST).

power9mm

  • Newbie
  • *
  • Posts: 28
  • Karma: +1/-1
    • View Profile
Re: Necessary firmware for Navi14
« Reply #10 on: December 30, 2022, 09:33:13 pm »
do i need to worry about placing the jumper for the AST or is blacklisting it in bootloader for the OS all i need to do?

MPC7500

  • Sr. Member
  • ****
  • Posts: 489
  • Karma: +32/-1
    • View Profile
    • Twitter
Re: Necessary firmware for Navi14
« Reply #11 on: December 30, 2022, 09:45:27 pm »
Jumper or blacklist. Blacklistng has some advantages.

markr87

  • Newbie
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: Necessary firmware for Navi14
« Reply #12 on: January 01, 2023, 10:47:06 am »
@MPC7500 If you blacklist the AST can you interact with Petitboot?

Hasturtium

  • Jr. Member
  • **
  • Posts: 60
  • Karma: +5/-0
    • View Profile
Re: Necessary firmware for Navi14
« Reply #13 on: January 01, 2023, 01:13:51 pm »
@MPC7500 If you blacklist the AST can you interact with Petitboot?

Yes - if you flash the correct firmware to Skiroot's BOOTKERNFW section. But knowing which subset of the multiple megabytes of modern Radeon firmware to load into the ~1.8MB sector allocated for storing that firmware was why I created this thread back in late July of 2022... and I still don't know the answer there. So now I just toggle inputs between an HDMI to the BMC video and DisplayPort to the Radeon as needed.

MPC7500

  • Sr. Member
  • ****
  • Posts: 489
  • Karma: +32/-1
    • View Profile
    • Twitter
Re: Necessary firmware for Navi14
« Reply #14 on: January 01, 2023, 01:43:57 pm »
@MPC7500 If you blacklist the AST can you interact with Petitboot?

Yes. Blacklisting AST is post-Petitboot.