2

Yesterday, after six stable months I upgraded my Debian 10 box to Debian 4.19.98-1+deb10u1 (2020-04-27). I am running a KVM hypervisor and Windows 10 Pro as a VM on that box. The Win VM uses the i915 graphics adapter from the Intel(R) Core(TM) i5-9600K CPU. That setup was relatively straight forward to set up and worked like a charm.

The PCI passthrough within the Virtual Machine Manager is still working (i.e. PCI address recognized and adapter can be added to VM) but Windows only recognizes the PCI graphics device as a generic "Video Controller" and can not find an appropriate driver for it. I think the problem could be related to Debian not recognizing the PCI device correctly.

The Debian syslog had the following message during the upgrade process that caught my attention but I do not fully understand what those *ERROR* messages relate to specifically. Clearly, it relates to the i915 graphics, but what exactly is the issue? I know there was no monitor connected (I use RDP to connect to the Windows 10 Pro VM...).

Any suggestion would be much appreciated.

Aug 15 10:56:10 server kernel: [9133931.108810] vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Aug 15 10:56:10 server kernel: [9133931.129199] DMAR: Setting identity map for device 0000:00:02.0 [0x8b800000 - 0x8fffffff]
Aug 15 10:56:10 server kernel: [9133931.129248] [drm] VT-d active for gfx access
Aug 15 10:56:10 server kernel: [9133931.129249] [drm] Replacing VGA console driver
Aug 15 10:56:10 server kernel: [9133931.130210] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
Aug 15 10:56:10 server kernel: [9133931.130211] [drm] Driver supports precise vblank timestamp query.
Aug 15 10:56:10 server kernel: [9133931.131579] i915 0000:00:02.0: firmware: direct-loading firmware i915/kbl_dmc_ver1_04.bin
Aug 15 10:56:10 server kernel: [9133931.131912] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Aug 15 10:56:11 server kernel: [9133932.247060] [drm] failed to retrieve link info, disabling eDP
Aug 15 10:56:11 server kernel: [9133932.247340] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well always-on refcount/domain refcount mismatch (refcount
 8/domains refcount 0)
Aug 15 10:56:11 server kernel: [9133932.247352] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well DC off refcount/domain refcount mismatch (refcount 8/
domains refcount 0)
Aug 15 10:56:11 server kernel: [9133932.247363] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well power well 2 state mismatch (refcount 8/enabled 0)
Aug 15 10:56:11 server kernel: [9133932.247372] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well power well 2 refcount/domain refcount mismatch (refco
unt 8/domains refcount 0)
Aug 15 10:56:11 server kernel: [9133932.247382] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well DDI A/E IO power well refcount/domain refcount mismatch (refcount 8/domains refcount 0)
Aug 15 10:56:11 server kernel: [9133932.247392] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well DDI B IO power well refcount/domain refcount mismatch (refcount 8/domains refcount 0)
Aug 15 10:56:11 server kernel: [9133932.247401] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well DDI C IO power well refcount/domain refcount mismatch (refcount 8/domains refcount 0)
Aug 15 10:56:11 server kernel: [9133932.247411] [drm:intel_power_domains_verify_state [i915]] *ERROR* power well DDI D IO power well refcount/domain refcount mismatch (refcount 8/domains refcount 0)
Aug 15 10:56:11 server kernel: [9133932.261129] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.261765] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.262406] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.263041] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.263682] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.264355] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.265029] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.265679] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.266374] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.267072] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.267751] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.268436] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.269117] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.269814] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.270511] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.271192] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.271870] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.272542] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.273258] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.273952] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.274605] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.275284] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.275972] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.276592] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.277287] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.277981] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.278682] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.279458] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.280238] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.280986] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.281725] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.282517] [drm:intel_dp_aux_xfer [i915]] *ERROR* dp_aux_ch not done status 0x00000000
Aug 15 10:56:11 server kernel: [9133932.282593] [drm] Initialized i915 1.6.0 20180719 for 0000:00:02.0 on minor 2
Aug 15 10:56:11 server kernel: [9133932.283978] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
Aug 15 10:56:11 server kernel: [9133932.284039] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input31
Aug 15 10:56:11 server kernel: [9133932.284142] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
Aug 15 10:56:11 server kernel: [9133932.301972] [drm] Cannot find any crtc or sizes
Aug 15 10:56:11 server kernel: [9133932.319310] [drm] Cannot find any crtc or sizes
Aug 15 10:56:11 server kernel: [9133932.336871] [drm] Cannot find any crtc or sizes

I also attach a snippet from dmesg | grep i915 after the reboot where the i915 graphics adapter seems to be recognized. Interestingly, this is only the case when I connect a monitor during the boot process, otherwise the same command returns nil. Is it that the i915 graphics is not even recognized or perhaps deactivated by Debian without a connected monitor?

Is there any way to prevent Linux from deactivating the graphics adapter when there is no monitor connected?

Aug 15 13:13:49 server kernel: [    1.749350] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Aug 15 13:13:49 server kernel: [    1.749376] i915 0000:00:02.0: firmware: direct-loading firmware i915/kbl_dmc_ver1_04.bin
Aug 15 13:13:49 server kernel: [    1.749661] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Aug 15 13:13:49 server kernel: [    2.298395] [drm] Initialized i915 1.6.0 20180719 for 0000:00:02.0 on minor 0
Aug 15 13:13:49 server kernel: [    3.235635] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

Update

I just realized that Debian no longer uses the non-free Intel graphics driver that I had installed before, as can be seen from this lshw snippet where it also only uses a generic Intel driver:

*-display
     description: VGA compatible controller
     product: Intel Corporation
     vendor: Intel Corporation
     physical id: 2
     bus info: pci@0000:00:02.0
     version: 00
     width: 64 bits
     clock: 33MHz
     capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
     configuration: driver=vfio-pci latency=0
     resources: irq:134 memory:aa000000-aaffffff memory:90000000-9fffffff ioport:6000(size=64) memory:c0000-dffff

Update 2

One step further after noticing a 'beginner's mistake'. I should have run apt-get dist-upgrade and not only apt-get upgrade. Now the system is running on Debian 4.19.132-1 (2020-07-24).

I purged and re-installed firmware-misc-nonfree but even than I only have "already the newest version (20190114-2)". Is that really the latest version? But the i915 driver seems to be recognized by Debian (see second last line):

  *-display
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:132 memory:aa000000-aaffffff memory:90000000-9fffffff ioport:6000(size=64) memory:c0000-dffff

Update 3

Even after installing the entire firmware-linux-nonfree package from buster-backports:

deb http://deb.debian.org/debian buster-backports main contrib non-free

apt-get update
apt-get -t buster-backports install firmware-linux-nonfree

I could not manage to get the graphics adapter properly handed over to Windows like it was before the update. :(

One thing that I noticed is the date 20180719 in line 4 when I run dmesg | grep i915:

[    1.791551] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    1.791733] i915 0000:00:02.0: firmware: direct-loading firmware i915/kbl_dmc_ver1_04.bin
[    1.799002] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    3.684845] [drm] Initialized i915 1.6.0 20180719 for 0000:00:02.0 on minor 0
[    4.856056] i915 0000:00:02.0: fb1: inteldrmfb frame buffer device
[    5.601611] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

While apt list --installed | grep nonfree returns the date 20190717:

firmware-linux-nonfree/buster-backports,now 20190717-2~bpo10+1 all [installed]
firmware-misc-nonfree/buster-backports,now 20190717-2~bpo10+1 all [installed]
sdittmar
  • 121
  • 6

0 Answers0