freebsd / drm-kmod

drm driver for FreeBSD
155 stars 69 forks source link

(Thinkpad X13) AMD R7-4750U with drm-devel-kmod can't boot Gnome #161

Closed ykla closed 2 years ago

ykla commented 2 years ago

Describe the bug Using drm-devel-kmod in FreeBSD 14, I can boot XFCE and KDE5 normal. But it can't boot Gnome 3.36 or 41. Launching gnome gets stuck in gdm, as does using other window managers. Using the command startx does not work either. Logging in with startx only shows a mouse and is not clickable.

FreeBSD version FreeBSD mybsd 14.0-CURRENT FreeBSD 14.0-CURRENT #0 main-n254961-b91a48693a5: Thu Apr 21 07:34:26 UTC 2022

PCI Info

pciconf -lv root@mybsd:/home/freebsd # pciconf -lv hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1630 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne Root Complex' class = bridge subclass = HOST-PCI none0@pci0:0:0:2: class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1631 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne IOMMU' class = base peripheral subclass = IOMMU hostb1@pci0:0:1:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1632 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI hostb2@pci0:0:2:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1632 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib1@pci0:0:2:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1634 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib2@pci0:0:2:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1634 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib3@pci0:0:2:3: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1634 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib4@pci0:0:2:4: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1634 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib5@pci0:0:2:7: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1634 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne PCIe GPP Bridge' class = bridge subclass = PCI-PCI hostb3@pci0:0:8:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1632 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir PCIe Dummy Host Bridge' class = bridge subclass = HOST-PCI pcib6@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1635 subvendor=0x5082 subdevice=0x17aa vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Internal PCIe GPP Bridge to Bus' class = bridge subclass = PCI-PCI intsmb0@pci0:0:20:0: class=0x0c0500 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x17aa subdevice=0x5082 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=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH LPC Bridge' class = bridge subclass = PCI-ISA hostb4@pci0:0:24:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1448 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 0' class = bridge subclass = HOST-PCI hostb5@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1449 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 1' class = bridge subclass = HOST-PCI hostb6@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x144a subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 2' class = bridge subclass = HOST-PCI hostb7@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x144b subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 3' class = bridge subclass = HOST-PCI hostb8@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x144c subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 4' class = bridge subclass = HOST-PCI hostb9@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x144d subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 5' class = bridge subclass = HOST-PCI hostb10@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x144e subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 6' class = bridge subclass = HOST-PCI hostb11@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x144f subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Device 24: Function 7' 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 re0@pci0:2:0:0: class=0x020000 rev=0x0e hdr=0x00 vendor=0x10ec device=0x8168 subvendor=0x17aa subdevice=0x5082 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' class = network subclass = ethernet none1@pci0:2:0:1: class=0x070002 rev=0x0e hdr=0x00 vendor=0x10ec device=0x816a subvendor=0x17aa subdevice=0x5082 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111xP UART' class = simple comms subclass = UART none2@pci0:2:0:2: class=0x070002 rev=0x0e hdr=0x00 vendor=0x10ec device=0x816b subvendor=0x17aa subdevice=0x5082 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111xP UART' class = simple comms subclass = UART none3@pci0:2:0:3: class=0x0c0701 rev=0x0e hdr=0x00 vendor=0x10ec device=0x816c subvendor=0x17aa subdevice=0x5082 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111xP IPMI interface' class = serial bus subclass = IPMI ehci0@pci0:2:0:4: class=0x0c0320 rev=0x0e hdr=0x00 vendor=0x10ec device=0x816d subvendor=0x17aa subdevice=0x5082 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL811x EHCI host controller' class = serial bus subclass = USB iwlwifi0@pci0:3:0:0: class=0x028000 rev=0x1a hdr=0x00 vendor=0x8086 device=0x2723 subvendor=0x8086 subdevice=0x0080 vendor = 'Intel Corporation' device = 'Wi-Fi 6 AX200' class = network rtsx0@pci0:4:0:0: class=0xff0000 rev=0x01 hdr=0x00 vendor=0x10ec device=0x522a subvendor=0x17aa subdevice=0x5082 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTS522A PCI Express Card Reader' xhci0@pci0:5:0:0: class=0x0c0330 rev=0x02 hdr=0x00 vendor=0x1912 device=0x0015 subvendor=0x0000 subdevice=0x0000 vendor = 'Renesas Technology Corp.' device = 'uPD720202 USB 3.0 Host Controller' class = serial bus subclass = USB vgapci0@pci0:6:0:0: class=0x030000 rev=0xd1 hdr=0x00 vendor=0x1002 device=0x1636 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Renoir' class = display subclass = VGA hdac0@pci0:6:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0x1637 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Renoir Radeon High Definition Audio Controller' class = multimedia subclass = HDA none4@pci0:6:0:2: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15df subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 17h (Models 10h-1fh) Platform Security Processor' class = encrypt/decrypt xhci1@pci0:6:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1639 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne USB 3.1' class = serial bus subclass = USB xhci2@pci0:6:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1639 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne USB 3.1' class = serial bus subclass = USB none5@pci0:6:0:5: class=0x048000 rev=0x01 hdr=0x00 vendor=0x1022 device=0x15e2 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'ACP/ACP3X/ACP6x Audio Coprocessor' class = multimedia hdac1@pci0:6:0:6: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15e3 subvendor=0x17aa subdevice=0x5082 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 17h/19h HD Audio Controller' class = multimedia subclass = HDA root@mybsd:/home/freebsd #

DRM KMOD version drm-devel-kmod 5.7.19.g20220223

To Reproduce Install drm-devel-kmod, xorg and gnome, configuration rc.conf and fstab then reboot.

Screenshots c61ff5a8ecb2d9e -1505f0f3b3bd35db -628bd3f389b5e188

Additional context I aslo trid drm-fbsd13-kmod in FreeBSD 13.1 rc4. But boot stop at kernel.

#cat  /boot/loader.conf
hw.amdgpu.exp_hw_support="1"

-627eca3f9b492a5d

evadot commented 2 years ago

Can you test again with drm-510-kmod please ?

ykla commented 2 years ago

drm-510-kmod also can't startx.

2abfbe7964fb5324

So I install gpu-firmware-kmod and xf86-video-amdgpu, but also can't startx.

-1c48305db290c2e8

evadot commented 2 years ago

(You need to install the firmwares too : pkg install gpu-firmware-amd-kmod-renoir) sorry didn't fully read :) What's happening if you don't install xf86-video-amdgpu ?

ykla commented 2 years ago

All works. Thanks.

This part of the tutorial has been tested for renoir graphics cards.

To install the required drivers (all latest sources or from ports).

# pkg install drm-510-kmod gpu-firmware-kmod xf86-video-amdgpu

Create a new and edit xorg configuration file.

# ee /usr/local/etc/X11/xorg.conf.d/06-driver.conf

Add (Note that the BusID should be changed to your own, use pciconf -l to see it).

Section "Device"
    Option "DRI" "3"
    Option "AccelMethod" "exa"
    Option "MigrationHeuristic" "greedy
    Option "TearFree" "On"
    Driver "amdgpu"
    BusID "PCI:6:0:0"
EndSection