Монитор остается черным после переключения KVM обратно на компьютер с FreeBSD

Вопрос или проблема

У меня установлена FreeBSD 13.1 с интегрированной графикой Intel (Intel NUC). Я пробовал с поддержкой видео ACPI и без нее, с драйвером графики Intel и с драйвером графики NVidia (у него две карты) – всякий раз, когда я переключаюсь с машины на другую через KVM, а затем обратно, монитор остается пустым.

Я могу получить доступ к машине через SSH, поэтому она все еще работает. Это происходит как когда я использую X, так и когда просто загружаюсь в консоль.

Ничего не отображается в dmesg. Я ничего не нашел в интернете по этому поводу. Что может быть причиной этого?

Редактирование для предоставления информации для всех, кто сталкивается с этой проблемой: экран также остается пустым после отключения и повторного включения монитора. Я установил Ubuntu Linux вместо FreeBSD и столкнулся с той же проблемой. Понижение версии драйверов NVidia с 5xx до 4xx решило ее на Linux.

 psi# cat dmesg.boot | grep -i acpi  
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
ACPI APIC Table: <INTEL NUC11PHB>
acpi0: <INTEL>
Firmware Error (ACPI): Failure creating named object [\134_SB.PC00.XHCI.RHUB.HS10._UPC], AE_ALREADY_EXISTS (20201113/dswload2-480)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20201113/psobject-372)
Firmware Error (ACPI): Failure creating named object [\134_SB.PC00.XHCI.RHUB.HS10._PLD], AE_ALREADY_EXISTS (20201113/dswload2-480)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20201113/psobject-372)
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
acpi_ec0: <Embedded Controller: GPE 0x6e> port 0x62,0x66 on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 6.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> at device 7.0 on pci0
pcib3: <ACPI PCI-PCI bridge> at device 7.2 on pci0
pcib4: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib4
pcib5: <ACPI PCI-PCI bridge> at device 28.2 on pci0
pci3: <ACPI PCI bus> on pcib5
pcib6: <ACPI PCI-PCI bridge> at device 28.4 on pci0
pci4: <ACPI PCI bus> on pcib6
pcib7: <ACPI PCI-PCI bridge> at device 29.0 on pci0
pci5: <ACPI PCI bus> on pcib7
acpi_button0: <Sleep Button> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_syscontainer0: <System Container> on acpi0
acpi_syscontainer1: <System Container> on acpi0
acpi_wmi0: <ACPI-WMI mapping> on acpi0
acpi_wmi0: Embedded MOF found
ACPI: \134AMW0.WQBA: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361)
acpi_wmi1: <ACPI-WMI mapping> on acpi0
acpi_wmi1: Embedded MOF found
ACPI: \134_SB.WFDE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361)
acpi_wmi2: <ACPI-WMI mapping> on acpi0
acpi_wmi2: Embedded MOF found
ACPI: \134_SB.WFTE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361)
acpi_wmi3: <ACPI-WMI mapping> on acpi0
acpi_wmi4: <ACPI-WMI mapping> on acpi0
iicbus0: <Philips I2C bus (ACPI-hinted)> on ig4iic0
iicbus1: <Philips I2C bus (ACPI-hinted)> on ig4iic1
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
ACPI APIC Table: <INTEL NUC11PHB>
acpi0: <INTEL>
Firmware Error (ACPI): Failure creating named object [\134_SB.PC00.XHCI.RHUB.HS10._UPC], AE_ALREADY_EXISTS (20201113/dswload2-480)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20201113/psobject-372)
Firmware Error (ACPI): Failure creating named object [\134_SB.PC00.XHCI.RHUB.HS10._PLD], AE_ALREADY_EXISTS (20201113/dswload2-480)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20201113/psobject-372)
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
acpi_ec0: <Embedded Controller: GPE 0x6e> port 0x62,0x66 on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 6.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> at device 7.0 on pci0
pcib3: <ACPI PCI-PCI bridge> at device 7.2 on pci0
pcib4: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci2: <ACCI PCI bus> on pcib4
pcib5: <ACPI PCI-PCI bridge> at device 28.2 on pci0
pci3: <ACPI PCI bus> on pcib5
pcib6: <ACPI PCI-PCI bridge> at device 28.4 on pci0
pci4: <ACPI PCI bus> on pcib6
pcib7: <ACPI PCI-PCI bridge> at device 29.0 on pci0
pci5: <ACPI PCI bus> on pcib7
acpi_button0: <Sleep Button> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_syscontainer0: <System Container> на acpi0
acpi_syscontainer1: <System Container> на acpi0
acpi_wmi0: <ACPI-WMI mapping> на acpi0
acpi_wmi0: Embedded MOF найден
ACPI: \134AMW0.WQBA: 1 аргумент был передан не-методу ACPI объекту (Buffer) (20201113/nsarguments-361)
acpi_wmi1: <ACPI-WMI mapping> на acpi0
acpi_wmi1: Embedded MOF найден
ACPI: \134_SB.WFDE.WQCC: 1 аргумент был передан не-методу ACPI объекту (Buffer) (20201113/nsarguments-361)
acpi_wmi2: <ACPI-WMI mapping> на acpi0
acpi_wmi2: Embedded MOF найден
ACPI: \134_SB.WFTE.WQCC: 1 аргумент был передан не-методу ACPI объекту (Buffer) (20201113/nsarguments-361)
acpi_wmi3: <ACPI-WMI mapping> на acpi0
acpi_wmi4: <ACPI-WMI mapping> на acpi0
iicbus0: <Philips I2C bus (ACPI-hinted)> на ig4iic0
iicbus1: <Philips I2C bus (ACPI-hinted)> на ig4iic1
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
ACPI APIC Table: <INTEL NUC11PHB>
acpi0: <INTEL>
Firmware Error (ACPI): Failure creating named object [\134_SB.PC00.XHCI.RHUB.HS10._UPC], AE_ALREADY_EXISTS (20201113/dswload2-480)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20201113/psobject-372)
Firmware Error (ACPI): Failure creating named object [\134_SB.PC00.XHCI.RHUB.HS10._PLD], AE_ALREADY_EXISTS (20201113/dswload2-480)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20201113/psobject-372)
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> на acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff на acpi0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 на acpi0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b на acpi0
acpi_ec0: <Embedded Controller: GPE 0x6e> port 0x62,0x66 на acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff на acpi0
pci0: <ACPI PCI bus> на pcib0
pcib1: <ACPI PCI-PCI bridge> на устройстве 6.0 на pci0
pci1: <ACPI PCI bus> на pcib1
pcib2: <ACPI PCI-PCI bridge> на устройстве 7.0 на pci0
pcib3: <ACPI PCI-PCI bridge> на устройстве 7.2 на pci0
pcib4: <ACPI PCI-PCI bridge> на устройстве 28.0 на pci0
pci2: <ACPI PCI bus> на pcib4
pcib5: <ACPI PCI-PCI bridge> на устройстве 28.2 на pci0
pci3: <ACPI PCI bus> на pcib5
pcib6: <ACPI PCI-PCI bridge> на устройстве 28.4 на pci0
pci4: <ACPI PCI bus> на pcib6
pcib7: <ACPI PCI-PCI bridge> на устройстве 29.0 на pci0
pci5: <ACPI PCI bus> на pcib7
acpi_button0: <Sleep Button> на acpi0
acpi_button1: <Power Button> на acpi0
acpi_tz0: <Thermal Zone> на acpi0
acpi_syscontainer0: <System Container> на acpi0
acpi_syscontainer1: <System Container> на acpi0
acpi_wmi0: <ACPI-WMI mapping> на acpi0
acpi_wmi0: Embedded MOF найден
ACPI: \134AMW0.WQBA: 1 аргумент был передан не-методу ACPI объекту (Buffer) (20201113/nsarguments-361)
acpi_wmi1: <ACPI-WMI mapping> на acpi0
acpi_wmi1: Embedded MOF найден
ACPI: \134_SB.WFDE.WQCC: 1 аргумент был передан не-методу ACPI объекту (Buffer) (20201113/nsarguments-361)
acpi_wmi2: <ACPI-WMI mapping> на acpi0
acpi_wmi2: Embedded MOF найден
ACPI: \134_SB.WFTE.WQCC: 1 аргумент был передан не-методу ACPI объекту (Buffer) (20201113/nsarguments-361)
acpi_wmi3: <ACPI-WMI mapping> на acpi0
acpi_wmi4: <ACPI-WMI mapping> на acpi0
iicbus0: <Philips I2C bus (ACPI-hinted)> на ig4iic0
iicbus1: <Philips I2C bus (ACPI-hinted)> на ig4iic1

===

psi# grep -i pci dmesg.boot 
  Features2=0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  Structured Extended Features=0xf3bfa7eb<FSGSBASE,TSCADJ,BMI1,AVX2,FDPEXC,SMEP,BMI2,ERMS,INVPCID,NFPUSG,PQE,AVX512F,AVX512DQ,RDSEED,ADX,SMAP,AVX512IFMA,CLFLUSHOPT,CLWB,PROCTRACE,AVX512CD,SHA,AVX512BW,AVX512VL>
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff на acpi0
pci0: <ACPI PCI bus> на pcib0
vgapci0: <VGA-compatible display> port 0x4000-0x403f mem 0x6053000000-0x6053ffffff,0x4000000000-0x400fffffff на устройстве 2.0 на pci0
vgapci0: Устройство загрузки видео
pcib1: <ACPI PCI-PCI bridge> на устройстве 6.0 на pci0
pci1: <ACPI PCI bus> на pcib1
vgapci1: <VGA-compatible display> port 0x3000-0x307f mem 0x6b000000-0x6bffffff,0x6040000000-0x604fffffff,0x6050000000-0x6051ffffff на устройстве 0.0 на pci1
hdac0: <NVIDIA (0x10f9) HDA Controller> mem 0x6c080000-0x6c083fff на устройстве 0.1 на pci1
xhci0: <NVIDIA TU106 USB 3.1 controller> mem 0x6052000000-0x605203ffff,0x6052040000-0x605204ffff на устройстве 0.2 на pci1
pci1: <serial bus> на устройстве 0.3 (драйвер не подключен)
pcib2: <ACPI PCI-PCI bridge> на устройстве 7.0 на pci0
pcib3: <ACPI PCI-PCI bridge> на устройстве 7.2 на pci0
xhci1: <Intel Tiger Lake-LP Thunderbolt 4 USB controller> mem 0x6054190000-0x605419ffff на устройстве 13.0 на pci0
pci0: <serial bus, USB> на устройстве 13.2 (драйвер не подключен)
pci0: <serial bus, USB> на устройстве 13.3 (драйвер не подключен)
xhci2: <Intel Tiger Lake-LP USB 3.2 controller> mem 0x6054180000-0x605418ffff на устройстве 20.0 на pci0
pci0: <memory, RAM> на устройстве 20.2 (драйвер не подключен)
pci0: <network> на устройстве 20.3 (драйвер не подключен)
pci0: <serial bus> на устройстве 21.0 (драйвер не подключен)
pci0: <serial bus> на устройстве 21.1 (драйвер не подключен)
pci0: <simple comms> на устройстве 22.0 (драйвер не подключен)
pcib4: <ACPI PCI-PCI bridge> на устройстве 28.0 на pci0
pci2: <ACPI PCI bus> на pcib4
rtsx0: <2.1e Realtek RTS525A PCIe MMC/SD Card Reader> mem 0x6c600000-0x6c600fff на устройстве 0.0 на pci2
pcib5: <ACPI PCI-PCI bridge> на устройстве 28.2 на pci0
pci3: <ACPI PCI bus> на pcib5
igc0: <Intel(R) Ethernet Controller I225-LM> mem 0x6c200000-0x6c2fffff,0x6c300000-0x6c303fff на устройстве 0.0 на pci3
pcib6: <ACPI PCI-PCI bridge> на устройстве 28.4 на pci0
pci4: <ACPI PCI bus> на pcib6
nvme0: <Generic NVMe Device> mem 0x6c500000-0x6c503fff на устройстве 0.0 на pci4
pcib7: <ACPI PCI-PCI bridge> на устройстве 29.0 на pci0
pci5: <ACPI PCI bus> на pcib7
nvme1: <Generic NVMe Device> mem 0x6c400000-0x6c403fff на устройстве 0.0 на pci5
isab0: <PCI-ISA bridge> на устройстве 31.0 на pci0
hdac1: <Intel Tiger Lake HDA Controller> mem 0x60541a8000-0x60541abfff,0x6054000000-0x60540fffff на устройстве 31.3 на pci0
pci0: <serial bus> на устройстве 31.5 (драйвер не подключен)
drmn0: <drmn> на vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
iwlwifi0: <iwlwifi> mem 0x60541ac000-0x60541affff на устройстве 20.3 на pci0
ig4iic0: <Intel Tiger Lake-LP I2C Controller-4> на устройстве 21.0 на pci0
ig4iic1: <Intel Tiger Lake-LP I2C Controller-5> на устройстве 21.1 на pci0
ichsmb0: <Intel Tiger Lake SMBus controller> port 0xefa0-0xefbf mem 0x60541b4000-0x60541b40ff на устройстве 31.4 на pci0

Я не могу сказать по вашему комментарию, какую среду рабочего стола вы используете, но, вероятно, это Plasma, так как DE на базе Gnome намного менее чувствительны к аппаратным проблемам.

Я столкнулся с подобной проблемой, у меня есть MacBook с встроенным HDMI портом, который идет к DP адаптеру и одним из USB-C выходов на DP. Они подключены к KVM, к которому также подключен мой Linux Desktop (Ryzen 5-2600, Nvidia 1660 TI). С той стороны Linux Box есть DP разъем, который идет прямо к KVM, и HDMI порт, который идет к DP адаптеру для KVM.

Когда я использовал Gnome (и несколько других DE), переключение KVM не вызывало никаких отрицательных последствий. Но с Plasma на нескольких дистрибутивах, когда я переключал KVM, HDMI-> DP монитор на рабочем столе отказывался просыпаться или просыпался, считая, что сейчас 2001 год, и отображал 1024×768.

На какое-то время я просто использовал дистрибутивы с Gnome, но из-за предпочтений мне казалось, что я должен разобраться в сути проблемы.

Я наткнулся на этот поток:
https://bbs.archlinux.org/viewtopic.php?pid=2207447#p2207447

Который ссылается на этот поток:
https://discuss.kde.org/t/second-display-repeatedly-connects-disconnects-in-kde-plasma-x11/4388

Который помог мне найти причину проблемы.

ЕСЛИ вы используете Plasma (или кто-то другой, кто столкнется с этой темой здесь), это поможет вам.

Откройте окно терминала, запустите kscreen-console

Это отображает обновление о том, что делает kscreen2. Переключите ваш KVM, а затем переключите его обратно.

Промотайте вывод, и вы должны увидеть разницу.

Id:  442
Name:  "HDMI-0"
Type:  "Unknown"
Connected:  false

Для меня было похоже на упомянутый поток, один из портов больше не мог определить, какой тип монитора был подключен.

Когда я немного подробнее изучил это, оказалось, что KDE/Plasma или стек NVIDIA более чувствительны к аппаратным проблемам, чем другие DE. Замена адаптера/кабеля решила проблему.

Ответ или решение

Проблема с пустым экраном при переключении KVM обратно на компьютер с FreeBSD может быть вызвана несколькими факторами, требующими тщательной диагностики. Давайте разберемся подробнее с потенциальными причинах и возможными решениями.

1. Статья: Причины Пустого Экрана

1.1. Проблемы с Видеодрайверами

У вас установлены две видеокарты: встроенная графика Intel и дискретная Nvidia. Вы экспериментировали как с драйверами Intel, так и с Nvidia. Иногда, особенно при работе с KVM, драйверы могут некорректно реагировать на изменения подключения.

  • Решения:
    • Убедитесь, что у вас установлены последние версии драйверов для обеих видеокарт. Иногда обновление драйверов может решить проблему.
    • Поскольку вы упомянули, что понижение версии драйвера Nvidia решало проблему на Linux, попробуйте сделать то же самое на FreeBSD, если возможно.

1.2. Настройки ACPI

В сообщениях о загрузке видно, что существуют ошибки ACPI, находящиеся в состоянии «AE_ALREADY_EXISTS». Это может указывать на проблемы с управлением питанием или недоступность функционала для перезапуска устройства.

  • Решения:
    • Попробуйте отключить поддержку ACPI в настройках BIOS и протестировать работу системы без него.
    • Обратите внимание на настройки BIOS/UEFI, связанные с управлением питанием. Убедитесь, что они соответствуют рекомендациям производителя.

2. Статья: Конфликты с KVM

Ваши проблемы также могут быть связаны с аппаратными конфликтами во время переключения KVM.

  • Решения:
    • Убедитесь, что KVM поддерживается и обновлен. Иногда прошивка устройства KVM может играть решающую роль.
    • Проверьте, правильно ли подключены кабели и адаптеры. Даже легкое повреждение или несоответствие стандартам может вызвать проблемы с определением устройства.

3. Статья: Проблемы с Десктопной Средой

Если вы используете KDE Plasma, как упоминалось в обсуждениях, стоит проверить настройки дисплея через утилиту kscreen-console. В некоторых случаях Plasma может неправильно определять состояние экрана.

  • Решения:
    • Запустите команду kscreen-console в терминале, переключите KVM и посмотрите на вывод. Это может дать понимание того, какие изменения происходят с вашим дисплеем.
    • Попробуйте изменить настройки дисплея через System Settings, особенно касающиеся конфигурации экранов и режимов искажения.

4. Высновки

Поскольку вы можете получить доступ к системе через SSH, стоит попробовать перезапустить видеосервер (например, Xorg) в случае, если выбрана графическая оболочка, чтобы проверить, не восстанавливается ли связь с дисплеем. Если ни одно из предложенных решений не помогает, рекомендуется обратиться в сообщество FreeBSD или соответствующие технические форумы, где можно получить дополнительную поддержку от пользователей с аналогичными проблемами.

Удачи в устранении неполадок!

Оцените материал
Добавить комментарий

Капча загружается...