drm-kmod icon indicating copy to clipboard operation
drm-kmod copied to clipboard

Update to Linux 6.8 drivers

Open dumbbell opened this issue 9 months ago • 16 comments

This is the backport of the DRM drivers from Linux 6.8.

Progress:

Changes in Linux 6.8

You can read this Phoronix article to learn about the changes in the DRM drivers in Linux 6.8: https://www.phoronix.com/news/Linux-6.8-DRM

Patches to linuxkpi

This update depends on the following patches to linuxkpi in FreeBSD.

These patches are maintained in the following repository and branch: https://github.com/dumbbell/freebsd-src/tree/drm-related-linuxkpi-changes

Patches were submitted for review:

  • [ ] https://reviews.freebsd.org/D49067
  • [ ] https://reviews.freebsd.org/D49068
  • [ ] https://reviews.freebsd.org/D49069
  • [x] ~~https://reviews.freebsd.org/D49374~~
  • [x] ~~https://reviews.freebsd.org/D49375~~
  • [ ] https://reviews.freebsd.org/D49376
  • [ ] https://reviews.freebsd.org/D49377
  • [ ] https://reviews.freebsd.org/D49378
  • [x] ~~https://reviews.freebsd.org/D49379~~
  • [ ] https://reviews.freebsd.org/D49380
  • [ ] https://reviews.freebsd.org/D49381
  • [ ] https://reviews.freebsd.org/D49382
  • [x] ~~https://reviews.freebsd.org/D49383~~
  • [ ] https://reviews.freebsd.org/D49384
  • [x] ~~https://reviews.freebsd.org/D49385~~
  • [ ] https://reviews.freebsd.org/D49386
  • [ ] https://reviews.freebsd.org/D49387
  • [ ] https://reviews.freebsd.org/D49388

Firmware updates

There is an associated firmware update:

  • [ ] freebsd/drm-kmod-firmware#36

How to test

You need to run a recent FreeBSD 15-CURRENT to test it.

Here are some instructions:

  1. You need to checkout the FreeBSD src branch I mentionned, drm-related-linuxkpi-changes, and compile a kernel from that branch:

    git clone -b drm-related-linuxkpi-changes https://github.com/dumbbell/freebsd-src.git
    cd freebsd-src
    make -j8 buildkernel DEBUG_FLAGS=-g
    
    # This installs the kernel under another name, `kernel.drm`. Thus, you keep the default kernel
    # in case of trouble.
    sudo make installkernel DEBUG_FLAGS=-g INSTKERNNAME=kernel.drm
    
  2. You need to checkout the branch referenced in this pull request and compile it:

    git clone -b update-to-linux-6.8 https://github.com/dumbbell/drm-kmod.git
    cd drm-kmod
    make -j8 DEBUG_FLAGS=-g SYSDIR=/path/to/freebsd-src-from-step1/sys
    sudo make install DEBUG_FLAGS=-g SYSDIR=/path/to/freebsd-src-from-step1/sys KMODDIR=/boot/kernel.drm
    
  3. Load the relevant driver(s) as you usually do.

dumbbell avatar Mar 03 '25 23:03 dumbbell

As of this writing, the amdgpu looks fine, but there is a regression with the i915 drivers (the screen is blank after loading the driver, but the computer "works").

dumbbell avatar Mar 04 '25 00:03 dumbbell

As of this writing, the amdgpu looks fine, but there is a regression with the i915 drivers (the screen is blank after loading the driver, but the computer "works").

The blank scrren with i915 goes away for me after changing DIV_ROUND_DOWN_ULL(x, n) to ((unsigned long long)(x) / (n))

lutzbichler avatar Mar 11 '25 19:03 lutzbichler

changing DIV_ROUND_DOWN_ULL(x, n) to ((unsigned long long)(x) / (n))

Hrm, indeed the current DIV_ROUND_DOWN is wrong. Do you want to submit a pull request against freebsd-src?

Fixes: c4e0746e7d5bd ("LinuxKPI: Add helper macros IS_ALIGNED and DIV_ROUND_DOWN_ULL.")

emaste avatar Mar 11 '25 20:03 emaste

The blank scrren with i915 goes away for me after changing DIV_ROUND_DOWN_ULL(x, n) to ((unsigned long long)(x) / (n))

Indeed, looking at the two newly used macros was my next step on Saturday but you beat me to it.

Do you want to submit a pull request against freebsd-src?

No objections from me!

dumbbell avatar Mar 11 '25 22:03 dumbbell

I referenced this pull request from the change in my WIP testing tree. @lutzbichler if you submit a pull request I'll land that (so that it has proper author attribution), otherwise I'll edit the commit message to add a Reported by

emaste avatar Mar 12 '25 13:03 emaste

With this applied to my work tree I get a panic, reproduced below. Looking.

panic: uma: item 0xfffff800012b0980 did not belong to zone malloc-32
cpuid = 16
time = 1741793462
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe008fea7aa0
vpanic() at vpanic+0x136/frame 0xfffffe008fea7bd0
panic() at panic+0x43/frame 0xfffffe008fea7c30
item_ctor() at item_ctor+0x18d/frame 0xfffffe008fea7c80
malloc() at malloc+0x7d/frame 0xfffffe008fea7cc0
vdev_geom_io_start() at vdev_geom_io_start+0x24d/frame 0xfffffe008fea7cf0
zio_vdev_io_start() at zio_vdev_io_start+0x45e/frame 0xfffffe008fea7d40
zio_nowait() at zio_nowait+0x112/frame 0xfffffe008fea7d80
vdev_queue_io_done() at vdev_queue_io_done+0x228/frame 0xfffffe008fea7dd0
zio_vdev_io_done() at zio_vdev_io_done+0xc1/frame 0xfffffe008fea7e10
zio_execute() at zio_execute+0x7e/frame 0xfffffe008fea7e40
taskqueue_run_locked() at taskqueue_run_locked+0x1c7/frame 0xfffffe008fea7ec0
taskqueue_thread_loop() at taskqueue_thread_loop+0xd3/frame 0xfffffe008fea7ef0
fork_exit() at fork_exit+0x87/frame 0xfffffe008fea7f30
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe008fea7f30
--- trap 0xf588abe6, rip = 0x9c4ba32861d75426, rsp = 0xdbbf81d47935a452, rbp = 0x7cbe89bd7ff4d4 ---
Uptime: 36s

emaste avatar Mar 12 '25 15:03 emaste

I’m running with that fix in my tree since last night and everything is stable so far. Note that I only load the i915 driver, I don’t actually use it most of the time, my external monitors are connected to the AMD GPU, it that makes a difference.

I also use ZFS on root FTR.

dumbbell avatar Mar 12 '25 15:03 dumbbell

For better or worse this is trivially reproducible for me -- panic: uma: item <ptr> did not belong to zone <zone> for zones malloc-32, zone 128 Bucket, malloc-2048

emaste avatar Mar 12 '25 15:03 emaste

changing DIV_ROUND_DOWN_ULL(x, n) to ((unsigned long long)(x) / (n))

Hrm, indeed the current DIV_ROUND_DOWN is wrong. Do you want to submit a pull request against freebsd-src?

Fixes: c4e0746e7d5bd ("LinuxKPI: Add helper macros IS_ALIGNED and DIV_ROUND_DOWN_ULL.")

The attempt is here: https://github.com/freebsd/freebsd-src/pull/1612 Not sure I did it right as I have never done before.

lutzbichler avatar Mar 12 '25 17:03 lutzbichler

The attempt is here: https://github.com/freebsd/freebsd-src/pull/1612 Not sure I did it right as I have never done before.

Was just fine and I have landed it already. Thank you for tracking it down!

emaste avatar Mar 12 '25 17:03 emaste

@dumbbell are you building w/ INVARIANTS?

emaste avatar Mar 12 '25 19:03 emaste

I observed the panic on Meteor Lake (8086:7dd5 f111:0009). Same image seems to be functional on Tiger Lake (8086:9a49 f111:0001).

emaste avatar Mar 12 '25 20:03 emaste

@dumbbell are you building w/ INVARIANTS?

Yes, I’m using a GENERIC kernel.

dumbbell avatar Mar 15 '25 11:03 dumbbell

Hello, I try the kernel and drm from your branch on Meteor Lake (The pci id is same as @emaste's one) by following your instructions and logging into X and it looks wired as the following picture shows:

IMG_9742

Also, in VT mode, I still suffered from the problem in 6.6.

aokblast avatar Mar 19 '25 02:03 aokblast

@aokblast check the patch referenced in https://github.com/freebsd/drm-kmod/pull/332#issuecomment-2585288390, I had similar corruption when testing 6.7 solved by that change

emaste avatar Mar 25 '25 20:03 emaste

@dumbbell can you add to the instructions the steps for building and installing the firmware?

On my test Raptor Lake Dell kldload gets stuck (waiting in linux_schedule_timeout() from intel_dp_wait_source_oui()).

vgapci0@pci0:0:2:0:	class=0x030000 rev=0x04 hdr=0x00 vendor=0x8086 device=0xa721 subvendor=0x1028 subdevice=0x0c1d
    vendor     = 'Intel Corporation'
    device     = 'Raptor Lake-P [UHD Graphics]'
    class      = display
    subclass   = VGA

emaste avatar Mar 25 '25 20:03 emaste

@dumbbell can you add to the instructions the steps for building and installing the firmware?

Good idea, I updated the instructions for both the 6.7 and 6.8 updates.

dumbbell avatar Mar 29 '25 15:03 dumbbell

On my test Raptor Lake Dell kldload gets stuck (waiting in linux_schedule_timeout() from intel_dp_wait_source_oui()).

vgapci0@pci0:0:2:0:	class=0x030000 rev=0x04 hdr=0x00 vendor=0x8086 device=0xa721 subvendor=0x1028 subdevice=0x0c1d
    vendor     = 'Intel Corporation'
    device     = 'Raptor Lake-P [UHD Graphics]'
    class      = display
    subclass   = VGA

@emaste: Is this a new behaviour comparer to 6.7 or before?

dumbbell avatar Mar 29 '25 15:03 dumbbell

@aokblast check the patch referenced in #332 (comment), I had similar corruption when testing 6.7 solved by that change

Tried it. The screen is teared without firmware. With firmware, the screen goes blank.

aokblast avatar Apr 01 '25 10:04 aokblast

I am try this on ThinkBook 14 G6+ IM

vgapci0@pci0:0:2:0:     class=0x030000 rev=0x08 hdr=0x00 vendor=0x8086 device=0x7d55 subvendor=0x17aa subdevice=0x384c
    vendor     = 'Intel Corporation'
    device     = 'Meteor Lake-P [Intel Arc Graphics]'
    class      = display
    subclass   = VGA
    cap 09[40] = vendor (length 12) Intel cap 0 version 1
    cap 10[70] = PCI-Express 2 root endpoint max data 128(128) FLR RO NS
                 max read 128
                 link x1(x1) speed 2.5(2.5) ASPM disabled(L0s/L1)
    cap 05[ac] = MSI supports 1 message, 64 bit, vector masks enabled with 1 message
    cap 01[d0] = powerspec 3  supports D0 D3  current D0
    ecap 0000[100] = unknown 1
    ecap 001b[110] = Process Address Space ID 1
    ecap 000f[200] = ATS 1
    ecap 0015[420] = Resizable BAR 1
    ecap 0010[320] = SR-IOV 1 IOV disabled, Memory Space disabled, ARI disabled
                     0 VFs configured out of 7 supported
                     First VF RID Offset 0x0001, VF RID Stride 0x0001
                     VF Device ID 0x7d55
                     Page Sizes: 4096 (enabled), 8192, 65536, 262144, 1048576, 4194304
    ecap 0018[400] = LTR 1

after try kldload i915kms I am got dmesg

[1640] iic0: <I2C generic I/O> on iicbus0
[1640] iic1: <I2C generic I/O> on iicbus1
[1640] iic2: <I2C generic I/O> on iicbus2
[1640] iic3: <I2C generic I/O> on iicbus3
[1640] iic4: <I2C generic I/O> on iicbus4
[1641] <6>[drm] Got Intel graphics stolen memory base 0x0, size 0x0
[1641] drmn0: <drmn> on vgapci0
[1641] vgapci0: child drmn0 requested pci_enable_io
[1641] vgapci0: child drmn0 requested pci_enable_io
[1641] drmn0: [drm] GT0: Incompatible option enable_guc=-1 - undocumented flag
[1641] drmn0: [drm] GT1: Incompatible option enable_guc=-1 - undocumented flag
[1641] i915/mtl_dmc.bin: could not load binary firmware /boot/firmware/i915/mtl_dmc.bin either
[1641] mtl_dmc.bin: could not load binary firmware /boot/firmware/mtl_dmc.bin either
[1641] i915_mtl_dmc.bin: could not load binary firmware /boot/firmware/i915_mtl_dmc.bin either
[1641] drmn0: successfully loaded firmware image 'i915/mtl_dmc.bin'
[1641] drmn0: [drm] Finished loading DMC firmware i915/mtl_dmc.bin (v2.23)
[1641] lkpi_iic0: <LinuxKPI I2C> on drmn0
[1641] iicbus5: <Philips I2C bus> on lkpi_iic0
[1641] iic5: <I2C generic I/O> on iicbus5
[1641] lkpi_iic1: <LinuxKPI I2C> on drmn0
[1641] iicbus6: <Philips I2C bus> on lkpi_iic1
[1641] iic6: <I2C generic I/O> on iicbus6
[1641] lkpi_iic2: <LinuxKPI I2C> on drmn0
[1641] iicbus7: <Philips I2C bus> on lkpi_iic2
[1641] iic7: <I2C generic I/O> on iicbus7
[1641] lkpi_iic3: <LinuxKPI I2C> on drmn0
[1641] iicbus8: <Philips I2C bus> on lkpi_iic3
[1641] iic8: <I2C generic I/O> on iicbus8
[1641] lkpi_iic4: <LinuxKPI I2C> on drmn0
[1641] iicbus9: <Philips I2C bus> on lkpi_iic4
[1641] iic9: <I2C generic I/O> on iicbus9
[1641] lkpi_iic5: <LinuxKPI I2C> on drmn0
[1641] iicbus10: <Philips I2C bus> on lkpi_iic5
[1641] iic10: <I2C generic I/O> on iicbus10
[1641] lkpi_iic6: <LinuxKPI I2C> on drmn0
[1641] iicbus11: <Philips I2C bus> on lkpi_iic6
[1641] iic11: <I2C generic I/O> on iicbus11
[1641] lkpi_iic7: <LinuxKPI I2C> on drmn0
[1641] iicbus12: <Philips I2C bus> on lkpi_iic7
[1641] iic12: <I2C generic I/O> on iicbus12
[1641] lkpi_iic8: <LinuxKPI I2C> on drmn0
[1641] iicbus13: <Philips I2C bus> on lkpi_iic8
[1641] iic13: <I2C generic I/O> on iicbus13

and kldload stuck on load: 0.01 cmd: kldload 5359 [sched] 8.45r 0.00u 0.67s 2% 2372k mi_switch+0x172 sleepq_switch+0x109 sleepq_timedwait+0x4b linux_add_to_sleepqueue+0x92 linux_schedule_timeout+0x7b intel_dp_wait_source_oui+0xea intel_dp_aux_init_backlight_funcs+0xb6 intel_backlight_init_funcs+0x9b intel_panel_init+0x24 intel_dp_init_connector+0xced intel_ddi_init_dp_connector+0x93 intel_ddi_init+0xac4 intel_bios_for_each_encoder+0x35 intel_setup_outputs+0x216 intel_display_driver_probe_nogem+0x24c i915_driver_probe+0x4e8 linux_pci_attach_device+0x430 device_attach+0x45b

slw avatar Apr 01 '25 12:04 slw

no luck: blank screen or crash. kldload stuck:

root@oybsd:~ # kldload snp
load: 0.08  cmd: kldload 5411 [kldbusy] 2.37r 0.00u 0.00s 0% 2304k
load: 0.07  cmd: kldload 5411 [kldbusy] 4.71r 0.00u 0.00s 0% 2304k
load: 0.07  cmd: kldload 5411 [kldbusy] 6.09r 0.00u 0.00s 0% 2304k
load: 0.07  cmd: kldload 5411 [kldbusy] 6.80r 0.00u 0.00s 0% 2304k
^C

in dmesg:

...
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
drmn0: [drm] GT0: Resetting chip for stopped heartbeat on bcs'0
drmn0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.36.0
drmn0: [drm] GT0: GUC: submission enabled
drmn0: [drm] GT0: GUC: SLPC enabled
drmn0: [drm] GPU HANG: ecode 12:0:00000000
...

Config:

vgapci0@pci0:0:2:0:     class=0x030000 rev=0x08 hdr=0x00 vendor=0x8086 device=0x7d55 subvendor=0x17aa subdevice=0x3f96
    vendor     = 'Intel Corporation'
    device     = 'Meteor Lake-P [Intel Arc Graphics]'
    class      = display
    subclass   = VGA
CPU microcode: updated from 0x1c to 0x20
CPU: Intel(R) Core(TM) Ultra 7 155H (2995.20-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0xa06a4  Family=0x6  Model=0xaa  Stepping=4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x7ffafbff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x121<LAHF,ABM,Prefetch>
  Structured Extended Features=0x239c27eb<FSGSBASE,TSCADJ,BMI1,AVX2,FDPEXC,SMEP,BMI2,ERMS,INVPCID,NFPUSG,RDSEED,ADX,SMAP,CLFLUSHOPT,CLWB,PROCTRACE,SHA>
  Structured Extended Features2=0x994007bc<UMIP,PKU,OSPKE,WAITPKG,GFNI,VAES,VPCLMULQDQ,RDPID,MOVDIRI,MOVDIR64B>
  Structured Extended Features3=0xfc18c410<FSRM,MD_CLEAR,IBT,IBPB,STIBP,L1DFL,ARCH_CAP,CORE_CAP,SSBD>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  IA32_ARCH_CAPS=0xd89fd6b<RDCL_NO,IBRS_ALL,SKIP_L1DFL_VME,MDS_NO,TAA_NO>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID,VID,PostIntr
  TSC: P-state invariant, performance statistics
real memory  = 17179869184 (16384 MB)
avail memory = 15853375488 (15118 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <LENOVO CB-01   >
WARNING: L3 data cache covers more APIC IDs than a package (6 > 3)
FreeBSD/SMP: Multiprocessor System Detected: 16 CPUs
FreeBSD/SMP: Non-uniform topology
..

( CPU Hyper-threading: off )

olevole avatar Apr 03 '25 17:04 olevole

hw.i915kms.enable_guc=0

helps, but there is no acceleration

olevole avatar Apr 03 '25 17:04 olevole

@emaste: Is this a new behaviour comparer to 6.7 or before?

I believe I saw this with 6.7 on this machine as well, but will have to double-check.

emaste avatar Apr 10 '25 00:04 emaste

I haven't been able to reproduce the panic again. I do have an interesting update on the corruption (on Raptor Lake-P [UHD Graphics]). I ran startx and observed the corruption as @aokblast reported, then left the machine idle until the screen blanked. After cursor movement + unblanking the display was fine. Then, when watching a video in Firefox switching window focus would lead to a different kind of corruption on each switch.

emaste avatar Apr 10 '25 14:04 emaste

I haven't been able to reproduce the panic again.

I think I may have confused myself about the issues that appeared on various machines. The Dell laptop (Raptor Lake) has the video corruption and no panic. The Framework Core Ultra (Meteor Lake) is the one that panicked, and still does.

emaste avatar Apr 10 '25 18:04 emaste

I'm now running this on my daily driver, with

vgapci0@pci0:0:2:0:     class=0x030000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x
9a49 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'TigerLake-LP GT2 [Iris Xe Graphics]'
    class      = display
    subclass   = VGA

I saw corruption like @aokblast reported when first starting X, but it stopped after switching to vty0 and back and it has been "fine" since.

emaste avatar Apr 11 '25 13:04 emaste

hw.i915kms.enable_guc=0 and kldload i915kms got a panic. core.txt attached core.txt

slw avatar Apr 11 '25 13:04 slw

@slw I saw that panic (address %p(%p) has not been allocated) on my Meteor Lake as well, immediately upon load. Sometimes that panic, sometimes the did not belong to zone.

emaste avatar Apr 11 '25 14:04 emaste

@slw I saw that panic (address %p(%p) has not been allocated) on my Meteor Lake as well, immediately upon load. Sometimes that panic, sometimes the did not belong to zone.

yes, this Meteor Lake too

vgapci0@pci0:0:2:0:     class=0x030000 rev=0x08 hdr=0x00 vendor=0x8086 device=0x7d55 subvendor=0x17aa subdevice=0x384c
    vendor     = 'Intel Corporation'
    device     = 'Meteor Lake-P [Intel Arc Graphics]'
    class      = display
    subclass   = VGA

slw avatar Apr 11 '25 14:04 slw

hw.i915kms.enable_guc=0 and kldload i915kms got a panic. core.txt attached core.txt

I'm pretty sure that GuC is mandatory for this GPU.

evadot avatar Apr 11 '25 15:04 evadot