freebsd / drm-kmod

drm driver for FreeBSD
155 stars 69 forks source link

Black screen and system freezing on AMD Ryzen 9 7950X #305

Open daniloegea opened 3 months ago

daniloegea commented 3 months ago

Describe the bug

I'm running FreeBSD 15 on a Ryzen 9 7950X (codename Raphael) and trying to get the amdgpu driver working. I've found at least two problems with the drm-61-kmod (6.1.92) driver.

One is that if the required firmwares are not loaded when you load the amdgpu driver the system will panic. It took me a while to figure out what firmwares I needed. There are some clues in the panic itself but what helped me was this documentation here: https://docs.kernel.org/gpu/amdgpu/driver-misc.html

There is a list of what versions each processor family needs.

After loading the required firmwares the system stopped panic'ing but now all I get is a black screen and the system hangs. I attached below the logs I get when I load the module.

IF YOU GOT HERE WITH THE SAME PROBLEM: the scfb driver + Xorg works really well. To get a high resolution use the gop set command in the bootloader and set the resolution you want.

FreeBSD version FreeBSD capeta 15.0-CURRENT FreeBSD 15.0-CURRENT #0 main-n270672-2b887687edc2: Fri Jun 7 13:40:19 IST 2024 danilo@capeta:/usr/obj/usr/src/amd64.amd64/sys/CAPETA amd64 1500019 1500019

PCI Info

pciconf -lv ``` hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14d8 subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI none0@pci0:0:0:2: class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14d9 subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = base peripheral subclass = IOMMU hostb1@pci0:0:1:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14da subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI pcib1@pci0:0:1:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14db subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI hostb2@pci0:0:2:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14da subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI pcib2@pci0:0:2:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14db subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI hostb3@pci0:0:3:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14da subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb4@pci0:0:4:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14da subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb5@pci0:0:8:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14da subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI pcib10@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14dd subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI pcib11@pci0:0:8:3: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x14dd subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = PCI-PCI none1@pci0:0:20:0: class=0x0c0500 rev=0x71 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH SMBus Controller' class = serial bus subclass = SMBus isab0@pci0:0:20:3: class=0x060100 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790e subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH LPC Bridge' class = bridge subclass = PCI-ISA hostb6@pci0:0:24:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e0 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb7@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e1 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb8@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e2 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb9@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e3 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb10@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e4 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb11@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e5 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb12@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e6 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI hostb13@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x14e7 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = bridge subclass = HOST-PCI nvme0@pci0:1:0:0: class=0x010802 rev=0x00 hdr=0x00 vendor=0x144d device=0xa808 subvendor=0x144d subdevice=0xa801 vendor = 'Samsung Electronics Co Ltd' device = 'NVMe SSD Controller SM981/PM981/PM983' class = mass storage subclass = NVM pcib3@pci0:2:0:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43f4 subvendor=0x1b21 subdevice=0x3328 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset PCIe Switch Upstream Port' class = bridge subclass = PCI-PCI pcib4@pci0:3:0:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43f5 subvendor=0x1b21 subdevice=0x3328 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset PCIe Switch Downstream Port' class = bridge subclass = PCI-PCI pcib5@pci0:3:8:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43f5 subvendor=0x1b21 subdevice=0x3328 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset PCIe Switch Downstream Port' class = bridge subclass = PCI-PCI pcib6@pci0:3:9:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43f5 subvendor=0x1b21 subdevice=0x3328 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset PCIe Switch Downstream Port' class = bridge subclass = PCI-PCI pcib7@pci0:3:10:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43f5 subvendor=0x1b21 subdevice=0x3328 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset PCIe Switch Downstream Port' class = bridge subclass = PCI-PCI pcib8@pci0:3:12:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43f5 subvendor=0x1b21 subdevice=0x3328 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset PCIe Switch Downstream Port' class = bridge subclass = PCI-PCI pcib9@pci0:3:13:0: class=0x060400 rev=0x01 hdr=0x01 vendor=0x1022 device=0x43f5 subvendor=0x1b21 subdevice=0x3328 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset PCIe Switch Downstream Port' class = bridge subclass = PCI-PCI iwlwifi0@pci0:6:0:0: class=0x028000 rev=0x1a hdr=0x00 vendor=0x8086 device=0x2725 subvendor=0x8086 subdevice=0x0024 vendor = 'Intel Corporation' device = 'Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak]' class = network re0@pci0:7:0:0: class=0x020000 rev=0x05 hdr=0x00 vendor=0x10ec device=0x8125 subvendor=0x1043 subdevice=0x87d7 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8125 2.5GbE Controller' class = network subclass = ethernet xhci0@pci0:8:0:0: class=0x0c0330 rev=0x01 hdr=0x00 vendor=0x1022 device=0x43f7 subvendor=0x1b21 subdevice=0x1142 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset USB 3.2 Controller' class = serial bus subclass = USB ahci0@pci0:9:0:0: class=0x010601 rev=0x01 hdr=0x00 vendor=0x1022 device=0x43f6 subvendor=0x1b21 subdevice=0x1062 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = '600 Series Chipset SATA Controller' class = mass storage subclass = SATA vgapci0@pci0:10:0:0: class=0x030000 rev=0xc1 hdr=0x00 vendor=0x1002 device=0x164e subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Raphael' class = display subclass = VGA hdac0@pci0:10:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0x1640 subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Rembrandt Radeon High Definition Audio Controller' class = multimedia subclass = HDA none2@pci0:10:0:2: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1649 subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 19h PSP/CCP' class = encrypt/decrypt xhci1@pci0:10:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b6 subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB xhci2@pci0:10:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b7 subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB hdac1@pci0:10:0:6: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15e3 subvendor=0x1043 subdevice=0x8814 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 17h/19h HD Audio Controller' class = multimedia subclass = HDA xhci3@pci0:11:0:0: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15b8 subvendor=0x1043 subdevice=0x8877 vendor = 'Advanced Micro Devices, Inc. [AMD]' class = serial bus subclass = USB ```

DRM KMOD version

[danilo@capeta ~]$ pkg query -x '%n %v' 'drm.*kmod'
drm-61-kmod 6.1.92
[danilo@capeta ~]$ pkg query -x '%n %v' 'gpu.*kmod'
gpu-firmware-amd-kmod-dcn-3-1-5 20230625_2
gpu-firmware-amd-kmod-gc-10-3-6 20230625_2
gpu-firmware-amd-kmod-psp-13-0-5 20230625_2
gpu-firmware-amd-kmod-sdma-5-2-6 20230625_2
gpu-firmware-amd-kmod-vcn-3-1-2 20230625_2

/var/log/messages

Jun  7 13:23:04 capeta kernel: iic0: <I2C generic I/O> on iicbus0
Jun  7 13:23:04 capeta kernel: [drm] amdgpu kernel modesetting enabled.
Jun  7 13:23:04 capeta kernel: drmn0: <drmn> on vgapci0
Jun  7 13:23:04 capeta kernel: vgapci0: child drmn0 requested pci_enable_io
Jun  7 13:23:04 capeta syslogd: last message repeated 1 times
Jun  7 13:23:04 capeta kernel: [drm] initializing kernel modesetting (IP DISCOVERY 0x1002:0x164E 0x1043:0x8877 0xC1).
Jun  7 13:23:04 capeta kernel: [drm] register mmio base: 0xF6900000
Jun  7 13:23:04 capeta kernel: [drm] register mmio size: 524288
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 0 <nv_common>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 1 <gmc_v10_0>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 2 <navi10_ih>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 3 <psp>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 4 <smu>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 5 <dm>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 6 <gfx_v10_0>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 7 <sdma_v5_2>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 8 <vcn_v3_0>
Jun  7 13:23:04 capeta kernel: [drm] add ip block number 9 <jpeg_v3_0>
Jun  7 13:23:04 capeta kernel: drmn0: Fetched VBIOS from VFCT
Jun  7 13:23:04 capeta kernel: amdgpu: ATOM BIOS: 102-RAPHAEL-008
Jun  7 13:23:04 capeta kernel: [drm] VCN(0) decode is enabled in VM mode
Jun  7 13:23:04 capeta kernel: [drm] VCN(0) encode is enabled in VM mode
Jun  7 13:23:04 capeta kernel: [drm] JPEG decode is enabled in VM mode
Jun  7 13:23:04 capeta kernel: drmn0: Trusted Memory Zone (TMZ) feature not supported
Jun  7 13:23:04 capeta kernel: drmn0: PCIE atomic ops is not supported
Jun  7 13:23:04 capeta kernel: [drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
Jun  7 13:23:04 capeta kernel: drmn0: VRAM: 512M 0x000000F400000000 - 0x000000F41FFFFFFF (512M used)
Jun  7 13:23:04 capeta kernel: drmn0: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
Jun  7 13:23:04 capeta kernel: drmn0: AGP: 267419648M 0x000000F800000000 - 0x0000FFFFFFFFFFFF
Jun  7 13:23:04 capeta kernel: [drm] Detected VRAM RAM=512M, BAR=512M
Jun  7 13:23:04 capeta kernel: [drm] RAM width 128bits DDR5
Jun  7 13:23:04 capeta kernel: [drm] amdgpu: 512M of VRAM memory ready
Jun  7 13:23:04 capeta kernel: [drm] amdgpu: 65114M of GTT memory ready.
Jun  7 13:23:04 capeta kernel: [drm] GART: num cpu pages 262144, num gpu pages 262144
Jun  7 13:23:04 capeta kernel: [drm] PCIE GART of 1024M enabled (table at 0x000000F41FC00000).
Jun  7 13:23:04 capeta kernel: psp_13_0_5_toc.bin: could not load binary firmware /boot/firmware/psp_13_0_5_toc.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/psp_13_0_5_toc.bin: could not load binary firmware /boot/firmware/amdgpu/psp_13_0_5_toc.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_psp_13_0_5_toc.bin: could not load binary firmware /boot/firmware/amdgpu_psp_13_0_5_toc.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/psp_13_0_5_toc.bin'
Jun  7 13:23:04 capeta kernel: psp_13_0_5_ta.bin: could not load binary firmware /boot/firmware/psp_13_0_5_ta.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/psp_13_0_5_ta.bin: could not load binary firmware /boot/firmware/amdgpu/psp_13_0_5_ta.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_psp_13_0_5_ta.bin: could not load binary firmware /boot/firmware/amdgpu_psp_13_0_5_ta.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/psp_13_0_5_ta.bin'
Jun  7 13:23:04 capeta kernel: drmn0: PSP runtime database doesn't exist
Jun  7 13:23:04 capeta syslogd: last message repeated 1 times
Jun  7 13:23:04 capeta kernel: dcn_3_1_5_dmcub.bin: could not load binary firmware /boot/firmware/dcn_3_1_5_dmcub.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/dcn_3_1_5_dmcub.bin: could not load binary firmware /boot/firmware/amdgpu/dcn_3_1_5_dmcub.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_dcn_3_1_5_dmcub.bin: could not load binary firmware /boot/firmware/amdgpu_dcn_3_1_5_dmcub.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/dcn_3_1_5_dmcub.bin'
Jun  7 13:23:04 capeta kernel: [drm] Loading DMUB firmware via PSP: version=0x08001B00
Jun  7 13:23:04 capeta kernel: gc_10_3_6_pfp.bin: could not load binary firmware /boot/firmware/gc_10_3_6_pfp.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/gc_10_3_6_pfp.bin: could not load binary firmware /boot/firmware/amdgpu/gc_10_3_6_pfp.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_gc_10_3_6_pfp.bin: could not load binary firmware /boot/firmware/amdgpu_gc_10_3_6_pfp.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/gc_10_3_6_pfp.bin'
Jun  7 13:23:04 capeta kernel: gc_10_3_6_me.bin: could not load binary firmware /boot/firmware/gc_10_3_6_me.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/gc_10_3_6_me.bin: could not load binary firmware /boot/firmware/amdgpu/gc_10_3_6_me.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_gc_10_3_6_me.bin: could not load binary firmware /boot/firmware/amdgpu_gc_10_3_6_me.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/gc_10_3_6_me.bin'
Jun  7 13:23:04 capeta kernel: gc_10_3_6_ce.bin: could not load binary firmware /boot/firmware/gc_10_3_6_ce.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/gc_10_3_6_ce.bin: could not load binary firmware /boot/firmware/amdgpu/gc_10_3_6_ce.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_gc_10_3_6_ce.bin: could not load binary firmware /boot/firmware/amdgpu_gc_10_3_6_ce.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/gc_10_3_6_ce.bin'
Jun  7 13:23:04 capeta kernel: gc_10_3_6_rlc.bin: could not load binary firmware /boot/firmware/gc_10_3_6_rlc.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/gc_10_3_6_rlc.bin: could not load binary firmware /boot/firmware/amdgpu/gc_10_3_6_rlc.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_gc_10_3_6_rlc.bin: could not load binary firmware /boot/firmware/amdgpu_gc_10_3_6_rlc.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/gc_10_3_6_rlc.bin'
Jun  7 13:23:04 capeta kernel: gc_10_3_6_mec.bin: could not load binary firmware /boot/firmware/gc_10_3_6_mec.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/gc_10_3_6_mec.bin: could not load binary firmware /boot/firmware/amdgpu/gc_10_3_6_mec.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_gc_10_3_6_mec.bin: could not load binary firmware /boot/firmware/amdgpu_gc_10_3_6_mec.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/gc_10_3_6_mec.bin'
Jun  7 13:23:04 capeta kernel: gc_10_3_6_mec2.bin: could not load binary firmware /boot/firmware/gc_10_3_6_mec2.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/gc_10_3_6_mec2.bin: could not load binary firmware /boot/firmware/amdgpu/gc_10_3_6_mec2.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_gc_10_3_6_mec2.bin: could not load binary firmware /boot/firmware/amdgpu_gc_10_3_6_mec2.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/gc_10_3_6_mec2.bin'
Jun  7 13:23:04 capeta kernel: sdma_5_2_6.bin: could not load binary firmware /boot/firmware/sdma_5_2_6.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/sdma_5_2_6.bin: could not load binary firmware /boot/firmware/amdgpu/sdma_5_2_6.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_sdma_5_2_6.bin: could not load binary firmware /boot/firmware/amdgpu_sdma_5_2_6.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/sdma_5_2_6.bin'
Jun  7 13:23:04 capeta kernel: [drm] use_doorbell being set to: [true]
Jun  7 13:23:04 capeta kernel: vcn_3_1_2.bin: could not load binary firmware /boot/firmware/vcn_3_1_2.bin either
Jun  7 13:23:04 capeta kernel: amdgpu/vcn_3_1_2.bin: could not load binary firmware /boot/firmware/amdgpu/vcn_3_1_2.bin either
Jun  7 13:23:04 capeta kernel: amdgpu_vcn_3_1_2.bin: could not load binary firmware /boot/firmware/amdgpu_vcn_3_1_2.bin either
Jun  7 13:23:04 capeta kernel: drmn0: successfully loaded firmware image 'amdgpu/vcn_3_1_2.bin'
Jun  7 13:23:04 capeta kernel: [drm] Found VCN firmware Version ENC: 1.27 DEC: 2 VEP: 0 Revision: 0
Jun  7 13:23:04 capeta kernel: drmn0: Will use PSP to load VCN firmware
Jun  7 13:23:04 capeta kernel: [drm] reserve 0xa00000 from 0xf41e000000 for PSP TMR
Jun  7 13:23:05 capeta kernel: drmn0: RAS: optional ras ta ucode is not available
Jun  7 13:23:05 capeta kernel: drmn0: RAP: optional rap ta ucode is not available
Jun  7 13:23:05 capeta kernel: drmn0: SECUREDISPLAY: securedisplay ta ucode is not available
Jun  7 13:23:05 capeta kernel: drmn0: smu driver if version = 0x00000004, smu fw if version = 0x00000005, smu fw program = 0, smu fw version = 0x00544fe0 (84.79.224)
Jun  7 13:23:05 capeta kernel: drmn0: SMU driver if version not matched
Jun  7 13:23:05 capeta kernel: drmn0: SMU is initialized successfully!
Jun  7 13:23:05 capeta kernel: [drm] Display Core initialized with v3.2.207!
Jun  7 13:23:05 capeta kernel: [drm] DMUB hardware initialized: version=0x08001B00
Jun  7 13:23:05 capeta kernel: lkpi_iic0: <LinuxKPI I2C> on drmn0
Jun  7 13:23:05 capeta kernel: iicbus1: <Philips I2C bus> on lkpi_iic0
Jun  7 13:23:05 capeta kernel: iic1: <I2C generic I/O> on iicbus1
Jun  7 13:23:05 capeta kernel: lkpi_iic1: <LinuxKPI I2C> on drmn0
Jun  7 13:23:05 capeta kernel: iicbus2: <Philips I2C bus> on lkpi_iic1
Jun  7 13:23:05 capeta kernel: iic2: <I2C generic I/O> on iicbus2
Jun  7 13:23:05 capeta kernel: [drm] kiq ring mec 2 pipe 1 q 0
Jun  7 13:23:05 capeta kernel: [drm] VCN decode and encode initialized successfully(under DPG Mode).
Jun  7 13:23:05 capeta kernel: [drm] JPEG decode initialized successfully.
Jun  7 13:23:05 capeta kernel: drmn0: SE 1, SH per SE 1, CU per SH 2, active_cu_number 2
Jun  7 13:23:05 capeta kernel: drmn0: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.0.0 uses VM inv eng 1 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.1.0 uses VM inv eng 4 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.2.0 uses VM inv eng 5 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.3.0 uses VM inv eng 6 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.0.1 uses VM inv eng 7 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.1.1 uses VM inv eng 8 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.2.1 uses VM inv eng 9 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring comp_1.3.1 uses VM inv eng 10 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring sdma0 uses VM inv eng 12 on hub 0
Jun  7 13:23:05 capeta kernel: drmn0: ring vcn_dec_0 uses VM inv eng 0 on hub 1
Jun  7 13:23:05 capeta kernel: drmn0: ring vcn_enc_0.0 uses VM inv eng 1 on hub 1
Jun  7 13:23:05 capeta kernel: drmn0: ring vcn_enc_0.1 uses VM inv eng 4 on hub 1
Jun  7 13:23:05 capeta kernel: drmn0: ring jpeg_dec uses VM inv eng 5 on hub 1
Jun  7 13:23:05 capeta kernel: vgapci0: child drmn0 requested pci_get_powerstate
Jun  7 13:23:05 capeta kernel: sysctl_warn_reuse: can't re-use a leaf (hw.dri.debug)!
Jun  7 13:23:05 capeta kernel: lkpi_iic2: <LinuxKPI I2C> on drm2
Jun  7 13:23:05 capeta kernel: iicbus3: <Philips I2C bus> on lkpi_iic2
Jun  7 13:23:05 capeta kernel: iic3: <I2C generic I/O> on iicbus3
Jun  7 13:23:05 capeta kernel: [drm] Initialized amdgpu 3.49.0 20150101 for drmn0 on minor 0
Jun  7 13:23:05 capeta kernel: VT: Replacing driver "efifb" with new "drmfb".
Jun  7 13:23:05 capeta kernel: [drm] DSC precompute is not needed.
Jun  7 13:23:05 capeta kernel: [drm] REG_WAIT timeout 1us * 100000 tries - optc31_disable_crtc line:138
Jun  7 13:25:50 capeta syslogd: kernel boot file is /boot/kernel/kernel
Jun  7 13:25:50 capeta kernel: ---<<BOOT>>---
evadot commented 3 months ago

For the firmware part we need to update fwget(8) to match the pci id to firmware names, can you cook up a patch similar to https://cgit.freebsd.org/src/commit/usr.sbin/fwget/pci/pci_video_amd?id=2db2566f55b06d80e28c932ec30b5730815d95a2 ? For the black screen I have no idea but I'm not sure if 6.1 have everything ready for Raphael GPUs.

daniloegea commented 3 months ago

I'll work on an update for fwget, thanks for the pointer.

About the rest, that's ok, I see that there is a new 6.6 PR in the oven so hopefully it will have better support. For the time being the scfb driver is basically all I need, it's working really well.

chrislongros commented 3 months ago

Have the exact same issue using 14.1 release and AMD Ryzen 9 7950x3d. amdgpu without the firmware package produces kernel panic. After installing it and loading of amdgpu module at booting, I get a black screen. Ctrl+Alt+F2 does not function and I must reboot into single user mode to revert the change.

scfb driver works well and I get the desired 4K resolution. However did not yet managed to set the refresh rate to 165Hz. Do you have any suggestion?

daniloegea commented 3 months ago

I created a PR adding the firmware for this GPU to fwget https://github.com/freebsd/freebsd-src/pull/1308