Bug 214725

Summary: simpledrm and i915 both active after boot
Product: Drivers Reporter: Denis Lisov (dennis.lissov)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: RESOLVED INVALID    
Severity: normal CC: pbrobinson
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.14.11 Subsystem:
Regression: No Bisected commit-id:

Description Denis Lisov 2021-10-14 23:28:12 UTC
Gentoo Linux, custom kernel build, 5.14.11 with
CONFIG_DRM_SIMPLEDRM=y
CONFIG_DRM_I915=y

Plasma (wayland) sees two monitors: the laptop screen and an unknown one. The only monitor physically present is the laptop screen. This did not happen a few months ago (possibly started with 5.14 upgrade).

$ ls /sys/class/drm/
card0  card0-eDP-1  card1  card1-Unknown-1  card2  card2-DP-1  card2-DP-2  card2-DP-3  renderD128  renderD129  version
$ readlink /sys/class/drm/card0 # Intel GPU
../../devices/pci0000:00/0000:00:02.0/drm/card0
$ readlink /sys/class/drm/card1 # Simple DRM
../../devices/platform/simple-framebuffer.0/drm/card1
$ readlink /sys/class/drm/card2 # Nouveau (not used at the moment)
../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2

$ dmesg | egrep '(simple|i915)'
[    0.000000] Command line: BOOT_IMAGE=/kernel-5.14.11 root=[...] ro acpi_backlight=video resume=[...] i915.enable_gvt=1 quiet
[    0.060342] Kernel command line: BOOT_IMAGE=/kernel-5.14.11 root=[...] ro acpi_backlight=video resume=[...] i915.enable_gvt=1 quiet
[    1.076957] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    1.076961] i915 0000:00:02.0: vgaarb: deactivate vga console
[    1.387359] i915 0000:00:02.0: Direct firmware load for i915/gvt/vid_0x8086_did_0x191b_rid_0x06.golden_hw_state failed with error -2
[    1.404418] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    1.404525] i915 0000:00:02.0: [drm] Disabling framebuffer compression (FBC) to prevent screen flicker with VT-d enabled
[    1.404931] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27)
[    1.422128] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    1.425127] [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 1
[    1.437859] simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrm frame buffer device
[    1.438058] fbcon: i915 (fb1) is primary device
[    2.579133] i915 0000:00:02.0: [drm] fb1: i915 frame buffer device
[   22.162612] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops)
[   52.106084] simple-framebuffer simple-framebuffer.0: swiotlb buffer is full (sz: 8388608 bytes), total 32768 (slots), used 0 (slots)

Looks like the hand-over mechanism does not correctly handle this combination, possibly due to i915 loading before simpledrm.
Comment 1 Jani Nikula 2021-11-09 07:55:00 UTC
Please file drm/i915 bugs at freedesktop.org gitlab.

https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs