freebsd / drm-kmod

drm driver for FreeBSD
148 stars 68 forks source link

i915 GPU HANG #264

Open dmitryluhtionov opened 7 months ago

dmitryluhtionov commented 7 months ago

Describe the bug When I play facebook video in firefox, I see lot of these messages in dmesg, but screen do not have any artifacts: Desktop partially freezes

Nov 13 13:40:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227, in MediaPDecoder #3 [124241]
Nov 13 13:40:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:40:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227, in MediaPDecoder #3 [124241]
Nov 13 13:40:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:40:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227, in MediaPDecoder #3 [124241]
Nov 13 13:40:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:40:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227, in MediaPDecoder #3 [124241]
Nov 13 13:40:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error

When I exec killall firefox, I see lot of these messages: Desktop partially freezes

Nov 13 13:41:21 m18 syslogd: last message repeated 1 times
Nov 13 13:41:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:37ffffff, in MediaPDecoder #1 [124239]
Nov 13 13:41:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227, in MediaPDecoder #3 [124241]
Nov 13 13:41:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:41:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227, in MediaPDecoder #3 [124241]
Nov 13 13:41:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:41:21 m18 syslogd: last message repeated 1 times
Nov 13 13:41:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:b7ff0ff8, in MediaPDecoder #1 [124239]
Nov 13 13:41:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227, in MediaPDecoder #3 [124241]
Nov 13 13:41:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error

But firefox is not killed When I exec killall -9 firefox, I see lot of these messages, before reboot: Desktop partially freezes

Nov 13 13:46:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:46:21 m18 syslogd: last message repeated 1 times
Nov 13 13:46:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:37ff9ffd
Nov 13 13:46:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227
Nov 13 13:46:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:46:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227
Nov 13 13:46:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:46:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:37ff4fff
Nov 13 13:46:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error
Nov 13 13:46:21 m18 kernel: drmn0: [drm] GPU HANG: ecode 9:4:26f04227
Nov 13 13:46:21 m18 kernel: drmn0: [drm] Resetting vcs0 for CS error

FreeBSD version FreeBSD m18.cabletv.dp.ua 14.0-STABLE FreeBSD 14.0-STABLE #0 stable/14-n265715-68c2e57d0043: Fri Nov 10 08:39:35 EET 2023 mitya@m18.cabletv.dp.ua:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 1400500 1400500

PCI Info

pciconf -lv ``` vgapci0@pci0:0:2:0: class=0x030000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x3e92 subvendor=0x1043 subdevice=0x8694 vendor = 'Intel Corporation' device = 'CoffeeLake-S GT2 [UHD Graphics 630]' class = display subclass = VGA ```

DRM KMOD version drm-515-kmod 5.15.118_1

To Reproduce Open facebook in firefox and see many random videos

Screenshots Screen do not have any artifact, but partially freezes

Additional context Add any other context about the problem here.

di-gital commented 5 months ago

I am having the same problem on my machine and have reproduced it from YouTube videos on Firefox 120.0 as well. This greatly slows down video decoding while greatly increasing power consumption, and happens regardless of VA-API being enabled or not within the browser. Unloading and reloading the i915kms module from the kernel resolves the issue, but is an impractical solution.

FreeBSD localhost 14.0-RELEASE FreeBSD 14.0-RELEASE #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 05:57:23 UTC 2023 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64