Intel iGPU causes log spam

reference: [NAS-130360] - iXsystems TrueNAS Jira
reference 2: CPU usage spikes every 20 seconds | TrueNAS Community

The journal and kernel messages are spammed with:

EDID block 0 is all zeroes

Apparently this is caused by i915 kernel modul for intel iGPUs.
old forums thread above recommends this solution:

sudo midclt call system.advanced.update '{"kernel_extra_options": "i915.disable_display=1"}'

Given that I’m running latest Dragonfish TrueNAS-SCALE-24.04.2, this is a little concerning to me, as the post above is from a year ago.

Seems to be an upstream issue:

https://ixsystems.atlassian.net/browse/NAS-123618

So this has found it’s way also into Dragonfish, despite the kernel upgrade…

Does plugging in a monitor help?
In previous adventures with nVidia GPU passthrough in ESXI, among other things, these devices exist to simulate a monitor. They’ve worked for me in a pinch.
Amazon.com: FUERAN HDMI Dummy Plug Headless Ghost Display Emulator HDMI-Compatible(Fit Headless-1920x1080 New Generation@60Hz) (HDMI2.0-2K-1P) : Electronics

1 Like

This is a Supermicro X11SSH-F server board that provides only a single “emergency” VGA. A connection standard my household has last seen about the year 2002. I neither own a cable nor a display device this old…

Ah, a dummy dongle wouldn’t help in this case because the VGA is connected to the ASPEED BMC output, not the iGPU.

We might be able to spoof it with the built-in EDID firmware files?

sudo midclt call system.advanced.update '{"kernel_extra_options": "drm.edid_firmware=edid/1920x1080.bin"}'
2 Likes

This has worked with Cobia according to the mentioned thread and still seems to resolve it on Dragonfish.
Just ran it, rebooted, and haven’t seen the any “EDID” message since, in journalctl. Transcoding remains functional though.

Is your spoof the smarter solution?

1 Like

If that resolves it and still preserves transcoding, that will work - for users who only have the iGPU (eg: a non-IPMI board) disabling the display might prevent you from being able to attach a monitor for console access. Spoofing EDID (although possibly to a lower res like 800x600) would at least let the console monitor be useful still.

But if we have two solutions that work, we have choices!

1 Like

Hm, yes more choices, more better. Need to keep in mind that my monitor output is now disabled, if future-me is trying to use it in an “emergency”…

Also this wouldn’t be persistent with future updates, no?
So should it be run via post-init or cron than, if possible?

EDIT:
to give a little context, this was the system cpu usage before the fix was applied:


and this is the usage after:

2 Likes