freebsd / drm-kmod

drm driver for FreeBSD
155 stars 69 forks source link

Screen artifacts with amdgpu #213

Open stoaphil opened 1 year ago

stoaphil commented 1 year ago

Describe the bug When using amdgpu, white-on-black horizontal lines intermittently flash on right half of screen. See video attached below in Screenshots

FreeBSD version FreeBSD fbsd 14.0-CURRENT FreeBSD 14.0-CURRENT #0 main-n258691-24cf7a8d628: Thu Oct 20 07:55:17 UTC 2022 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64

PCI Info hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1630 subvendor=0x1043 subdevice=0x8809 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=0x1043 subdevice=0x8809 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 pcib1@pci0:0:1:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1634 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne PCIe GPP Bridge' class = bridge subclass = PCI-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 pcib8@pci0:0:2:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1634 subvendor=0x1043 subdevice=0x8809 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 pcib9@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1635 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Internal PCIe GPP Bridge to Bus' class = bridge subclass = PCI-PCI pcib10@pci0:0:8:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1635 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir Internal PCIe GPP Bridge to Bus' class = bridge subclass = PCI-PCI none1@pci0:0:20:0: class=0x0c0500 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x1043 subdevice=0x87e1 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=0x87e1 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=0x166a subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 0' class = bridge subclass = HOST-PCI hostb5@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x166b subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 1' class = bridge subclass = HOST-PCI hostb6@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x166c subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 2' class = bridge subclass = HOST-PCI hostb7@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x166d subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 3' class = bridge subclass = HOST-PCI hostb8@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x166e subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 4' class = bridge subclass = HOST-PCI hostb9@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x166f subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 5' class = bridge subclass = HOST-PCI hostb10@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1670 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 6' class = bridge subclass = HOST-PCI hostb11@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1671 subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Cezanne Data Fabric; Function 7' class = bridge subclass = HOST-PCI pcib2@pci0:1:0:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57ad subvendor=0x0000 subdevice=0x0000 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse Switch Upstream' class = bridge subclass = PCI-PCI pcib3@pci0:2:1:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a3 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib4@pci0:2:5:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a3 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib5@pci0:2:8:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a4 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib6@pci0:2:9:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a4 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse PCIe GPP Bridge' class = bridge subclass = PCI-PCI pcib7@pci0:2:10:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a4 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse PCIe GPP Bridge' class = bridge subclass = PCI-PCI nvme0@pci0:3:0:0: class=0x010802 rev=0x03 hdr=0x00 vendor=0x2646 device=0x2262 subvendor=0x2646 subdevice=0x2262 vendor = 'Kingston Technology Company, Inc.' device = 'KC2000 NVMe SSD' class = mass storage subclass = NVM igb0@pci0:4:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x1539 subvendor=0x1043 subdevice=0x85f0 vendor = 'Intel Corporation' device = 'I211 Gigabit Network Connection' class = network subclass = ethernet none2@pci0:5:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1485 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Starship/Matisse Reserved SPP' class = non-essential instrumentation xhci0@pci0:5:0:1: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x149c subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse USB 3.0 Host Controller' class = serial bus subclass = USB xhci1@pci0:5:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x149c subvendor=0x1022 subdevice=0x148c vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Matisse USB 3.0 Host Controller' class = serial bus subclass = USB ahci0@pci0:6:0:0: class=0x010601 rev=0x51 hdr=0x00 vendor=0x1022 device=0x7901 subvendor=0x1022 subdevice=0x7901 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH SATA Controller [AHCI mode]' class = mass storage subclass = SATA ahci1@pci0:7:0:0: class=0x010601 rev=0x51 hdr=0x00 vendor=0x1022 device=0x7901 subvendor=0x1022 subdevice=0x7901 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH SATA Controller [AHCI mode]' class = mass storage subclass = SATA nvme1@pci0:8:0:0: class=0x010802 rev=0x01 hdr=0x00 vendor=0xc0a9 device=0x540a subvendor=0xc0a9 subdevice=0x540a vendor = 'Micron/Crucial Technology' device = 'P2 NVMe PCIe SSD' class = mass storage subclass = NVM vgapci0@pci0:9:0:0: class=0x030000 rev=0xc8 hdr=0x00 vendor=0x1002 device=0x1638 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Cezanne' class = display subclass = VGA hdac0@pci0:9:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0x1637 subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]' device = 'Renoir Radeon High Definition Audio Controller' class = multimedia subclass = HDA none3@pci0:9:0:2: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15df subvendor=0x1043 subdevice=0x8809 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 17h (Models 10h-1fh) Platform Security Processor' class = encrypt/decrypt xhci2@pci0:9:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1639 subvendor=0x1043 subdevice=0x87e1 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne USB 3.1' class = serial bus subclass = USB xhci3@pci0:9:0:4: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1639 subvendor=0x1043 subdevice=0x87e1 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Renoir/Cezanne USB 3.1' class = serial bus subclass = USB hdac1@pci0:9:0:6: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x15e3 subvendor=0x1043 subdevice=0x8733 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'Family 17h/19h HD Audio Controller' class = multimedia subclass = HDA ahci2@pci0:10:0:0: class=0x010601 rev=0x81 hdr=0x00 vendor=0x1022 device=0x7901 subvendor=0x1043 subdevice=0x87e1 vendor = 'Advanced Micro Devices, Inc. [AMD]' device = 'FCH SATA Controller [AHCI mode]' class = mass storage subclass = SATA

DRM KMOD version drm-510-kmod 5.10.113_7 drm-kmod 20220907_1

To Reproduce Install either 13.1-RELEASE, 13.1-STABLE, or 14.0, install drm-kmod package, enable amdgpu by adding kld_list="amdgpu" to /etc/rc.conf, and log into a console.

Screenshots https://user-images.githubusercontent.com/11449161/198061203-8056e97d-7a3d-4ccb-945f-fcc6423e88cb.mp4

Additional context It appears support for vendor=0x1002 device=0x1638 graphics card has been added: https://github.com/freebsd/drm-kmod/blob/5.10-lts/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c#L1102 Same issue presents on any FreeBSD version listed above, whether built from source or installed from snapshot. Disabling video mode using hw.vga.textmode=1 does not resolve the issue. The issue carries over into an X session. Notably, the issue disappears when compiling anything, whether in the console or X.

grahamperrin commented 1 year ago

Cross-reference FreeBSD bug 267730 – graphics/drm-510-kmod: screen artifacts with amdgpu