This is an old revision of the document!
Table of Contents
Mini PC Intel Pentium J3710
Video card problem with kernel 6.12
Using Debian 13 Trixie with kernel 6.12.69, the screen goes blank (no HDMI signal) as soon as it switches to frame buffer. With dmesg you can read the following errors:
[ 6.587061] i915 0000:00:02.0: [drm] timed out waiting for [ENCODER:98:HDMI B] port ready: got 0xf, expected 0x0 [ 16.775053] i915 0000:00:02.0: [drm] *ERROR* [CRTC:53:pipe A] flip_done timed out [ 27.015096] i915 0000:00:02.0: [drm] *ERROR* flip_done timed out [ 27.015122] i915 0000:00:02.0: [drm] *ERROR* [CRTC:53:pipe A] commit wait timed out [ 37.255074] i915 0000:00:02.0: [drm] *ERROR* flip_done timed out [ 37.255097] i915 0000:00:02.0: [drm] *ERROR* [CONNECTOR:99:HDMI-A-1] commit wait timed out [ 47.495072] i915 0000:00:02.0: [drm] *ERROR* flip_done timed out [ 47.495095] i915 0000:00:02.0: [drm] *ERROR* [PLANE:32:primary A] commit wait timed out [ 57.735072] i915 0000:00:02.0: [drm] *ERROR* [CRTC:53:pipe A] flip_done timed out [ 57.932964] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
The only way to boot Debian 13 with kernel 6.12 is to pass the nomodeset kernel parameter.
Kernel 6.1
It is possible to install kernel 6.1.0 from Debian 12 Bookworm, so that frame buffer works:
[ 5.399065] fbcon: i915drmfb (fb0) is primary device [ 5.438998] Console: switching to colour frame buffer device 128x37 [ 5.458533] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Despite the HDMI monitor is connected, the status pseudfile reports that it is disconnected:
cat /sys/class/drm/card0-HDMI-A-1/status disconnected
Writing the on string to the file changes the status to connected:
echo on > /sys/class/drm/card0-HDMI-A-1/status cat /sys/class/drm/card0-HDMI-A-1/status connected
but it causes a kernel trace:
[ 69.315446] i915 0000:00:02.0: timed out waiting for [ENCODER:94:HDMI B] port ready: got 0xf, expected 0x0
When the i915 kernel module is loaded, you can find five DRM (Direct Rendering Manager) devices managed by card0:
ls -1 /sys/class/drm/ card0 card0-DP-1 card0-DP-2 card0-HDMI-A-1 card0-HDMI-A-2 card0-HDMI-A-3 renderD128 version
It is possibile to do a complete hardware reset of the cards using the following command:
echo "0000:00:02.0" > /sys/bus/pci/drivers/i915/unbind sleep 1 echo "0000:00:02.0" > /sys/bus/pci/drivers/i915/bind
After the unbind you can verify that the directory /sys/class/drm/ is empty, it will be populated again after the bind.
Blanking the Virtual Terminal
When the host is started in frame buffer text console, the setterm command can be used to force the screen to go blank:
setterm --blank force setterm --powerdown 0
The monitor turns off due no signal and remains blank even keys are pressed on the keyboard.
To revive the screen:
setterm --blank poke setterm --powerdown 0
If the screen is blanked the following command returns 1:
setterm --blank 1
Pygame
When running a Pygame app in SDL_VIDEODRIVER=fbcon, the SDL (Simple DirectMedia Layer library) takes over VT, so the setterm command does not work.
