어제 6개월 간의 안정적인 운영 끝에 Debian 10 상자를 Debian 4.19.98-1+deb10u1(2020-04-27)로 업그레이드했습니다. 저는 이 머신에서 KVM 하이퍼바이저와 Windows 10 Pro를 가상 머신으로 실행하고 있습니다. Win VM은 Intel(R) Core(TM) i5-9600K CPU의 i915 그래픽 어댑터를 사용합니다. 이 설정은 비교적 간단하고 매력적으로 작동합니다.
가상 머신 관리자의 PCI 패스스루는 여전히 작동하지만(즉, PCI 주소가 인식되고 어댑터를 VM에 추가할 수 있음) Windows는 PCI 그래픽 장치를 일반 "비디오 컨트롤러"로만 인식하고 이에 적합한 드라이버를 찾을 수 없습니다. . 문제는 데비안이 PCI 장치를 올바르게 인식하지 못하는 것과 관련이 있을 수 있다고 생각합니다.
업그레이드하는 동안 데비안 시스템 로그에 있는 다음 메시지가 내 주의를 끌었지만, 이 *ERROR* 메시지가 정확히 무엇과 관련되어 있는지 완전히 이해하지 못합니다. 아무래도 i915 그래픽 카드와 관련이 있는 것 같은데, 정확히 무엇이 문제일까요? 연결된 모니터가 없다는 것을 알고 있습니다(RDP를 사용하여 Windows 10 Pro VM에 연결하고 있습니다...).
어떤 조언이라도 대단히 감사하겠습니다.
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
dmesg | grep i915
재부팅 후 i915 그래픽 어댑터가 인식되는 것으로 보이는 조각도 첨부했습니다. 흥미롭게도 이는 부팅 중에 모니터를 연결할 때만 발생하며, 그렇지 않으면 동일한 명령이 nil을 반환합니다. 데비안은 모니터가 연결되지 않은 상태에서 i915 그래픽 카드를 인식하거나 비활성화할 수 없습니까?
모니터가 연결되어 있지 않을 때 Linux가 그래픽 어댑터를 비활성화하는 것을 방지할 수 있는 방법이 있습니까?
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])
고쳐 쓰다
저는 데비안이 더 이상 이전에 설치한 무료가 아닌 Intel 그래픽 드라이버를 사용하지 않는다는 것을 깨달았습니다. 그리고 이 lshw 조각에서 볼 수 있듯이 일반 Intel 드라이버도 사용합니다:
*-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
업데이트 2
'초심자의 실수'를 깨닫고 한 걸음 더 나아갑니다. 난 apt-get dist-upgrade
그냥 뛰는 게 아니라 달려야 해요 apt-get upgrade
. 현재 시스템이 실행 중입니다.데비안 4.19.132-1 (2020-07-24).
제거하고 다시 설치했지만 firmware-misc-nonfree
"이미 최신 버전(20190114-2)"만 받았습니다. 이게 정말 최신 버전인가요? 하지만 i915 드라이버는 데비안에서 인식되는 것 같습니다(마지막 두 번째 줄 참조):
*-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
업데이트 3
Buster-backports에서 전체 펌웨어-linux-nonfree 패키지를 설치한 후에도:
deb http://deb.debian.org/debian buster-backports main contrib non-free
apt-get update
apt-get -t buster-backports install firmware-linux-nonfree
업데이트 전처럼 그래픽 어댑터를 윈도우에 제대로 넘겨줄 수가 없어요. :(
내가 주목한 것 중 하나는 날짜이다.20180719내가 실행할 때 라인 4에서 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])
apt list --installed | grep nonfree
귀국 날짜 에도 불구하고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]