Bug 270888 - graphics/gpu-firmware-intel-kmod freezes system on load
Summary: graphics/gpu-firmware-intel-kmod freezes system on load
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-x11 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-16 21:09 UTC by rkoberman
Modified: 2024-01-14 02:24 UTC (History)
5 users (show)

See Also:
bugzilla: maintainer-feedback? (x11)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rkoberman 2023-04-16 21:09:48 UTC
When attempting to load GPU firmware, the system wedges. It does not respond to pings and no log entries are found. Running without firmware with limited functionality: no DRI or VA-API capability.

Running drm-515-kmod-5.15.25_2 and get the following when booting without the firmware installed:
drmn0: [drm] failed to retrieve link info, disabling eDP
drmn0: could not load firmware image 'i915/adlp_guc_62.0.3.bin'
drmn0: [drm] GuC firmware i915/adlp_guc_62.0.3.bin: fetch failed with error -2
drmn drmn0: drm_WARN_ON(intel_dp->pps.vdd_wakeref)
Apr 13 15:38:35 ptavv kernel: drmn drmn0: drm_WARN_ON(intel_dp->pps.vdd_wakeref)
sysctl_warn_reuse: can't re-use a leaf (hw.dri.debug)!

FreeBSD 14.0-CURRENT #10 main-n261962-41236539d8dd-dirty: Sun Apr  9 14:17:50 
PDT 2023
"dirty" is the result of running a patched acpi-thermal.

CPU: 12th Gen Intel(R) Core(TM) i5-1235U (2496.00-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x906a4  Family=0x6  Model=0x9a  Stepping=4

vgapci0@pci0:0:2:0:     class=0x030000 rev=0x0c hdr=0x00 vendor=0x8086 device=0x46a8 subvendor=0x17aa subdevice=0x22e8
    vendor     = 'Intel Corporation'
    device     = 'Alder Lake-UP3 GT2 [Iris Xe Graphics]'
    class      = display
    subclass   = VGA
Comment 1 Emmanuel Vadot freebsd_committer freebsd_triage 2023-04-17 05:03:51 UTC
Can you test again with latest version of the ports (_4), we now disable GuC by default as there is problems on gen12+ with it.
Comment 2 rkoberman 2023-04-17 05:34:05 UTC
Now I have a new problem... I only have _2 in my tree. I just did a pull to update my tree and it updated a bunch of ports, but not drm-515-kmod. So I guess I need to troubleshoot this first.
Comment 3 Emmanuel Vadot freebsd_committer freebsd_triage 2023-04-17 05:44:28 UTC
Oops my bad, the portrevision is _2 so you already have the latest version.
I don't have access to an 12th gen hardware so can you open an issue at https://github.com/freebsd/drm-kmod/ please ?
Comment 4 rkoberman 2023-04-17 06:09:09 UTC
The PORTREVISION is _2. But the GH_TAG is _4. Is that the latest? I think _4 was committed with  PORTREVISION 2. Looks like something may be messed up as bumps to thetag and distinfo are distinct are the only changes. Looks a lot like a bad commit for both 3 and 4 and building is building _4 without realizing it.
Comment 5 fgorter 2023-04-18 08:31:58 UTC
(In reply to rkoberman from comment #0)

Are you doing anything special in your /boot/loader.conf file, regarding compat.linuxkpi.i915* settings?
Comment 6 rkoberman 2023-04-18 14:10:52 UTC
(In reply to fgorter from comment #5)
Nothing. the only thing that is even remotely tied to graphics is "kern.vty=vt".
Comment 7 Cy Schubert freebsd_committer freebsd_triage 2023-10-24 03:24:19 UTC
I've had this problem for years ever since the switch from native FreeBSD DRM to Linux KPI DRM. The machine may panic with a page fault in DRM. Other times the machine will hang (freeze), while other times the i915 (HD3000) GPU will itself panic, as seen in the occasional core dump produced by the panic. Each of these panics, freezes, GPU panics are accompanied by X apps that use GPU acceleration appearing with blotchy streaks or blobs on them. The apps include mate-terminal, claws-mail, exmh2, firefox, and chromium. Xterm and CDE dtterm will not, because they do not use the GPU. The problem is more apt to occur when performing a lot of I/O from/to disk, like installworld. The problem also occurs when a browser is loaded in memory, probably due to the amount of memory browsers use.

Setting hw.i915kms.enable_dc="0" to device.hints has eliminated/reduced the occurrence of the GPU freezes and GPU panics, though it is probably too early too tell as I just added this to device.hints. I'll have a better feel for whether this circumvention resolves my problem or not.

My problem may or may not be this problem and could be unique to the HD3000 i915 GPU. I don't know. Avoiding apps which rely on the GPU while a browser is running or while performing a lot of I/O to disk, SSD, or USB disk reduces the likelihood of the problem occurring. Using apps which do not use the GPU totally circumvents the problem.
Comment 8 rkoberman 2024-01-14 02:24:32 UTC
After updating to drm-61-kmod, it loads the firmware and acceleration is working properly! Make a difference in several applications... obviously playing HD video but also in my Win10 VM and, surprisingly, reading my local newspaper in he web browser. (No idea why.) Guess I'll close this ticket.