Мой Lenovo ThinkPad X220 подключен к 27-дюймовому экрану Acer VG0 1440p через DisplayPort. Периодически экран гаснет на несколько секунд. Обычно он возвращается, но иногда отключается, пока я не отключу экран и не подключу его заново.
Я добавил репликатор портов, который позволяет мне подключить второй экран и использовать ноутбук в закрытом состоянии. Второй экран - это LG 23 "1080p, подключенный через DisplayPort-> HDMI. Этот экран не мерцает, так что это как-то связано либо с более высоким разрешением Acer, либо с собственным подключением DisplayPort (или с обоими).
Я обнаружил много противоречивой информации о сообщении об ошибке, которое появляется в dmesg
после мерцания:
[ 2779.680083] [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
[ 2779.680147] [drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder B
[ 2779.680176] [drm:intel_pch_fifo_underrun_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
Иногда это pipe / transcoder A
. В любом случае это один и тот же блок сообщений. Обширный поиск показал, что это простое диагностическое сообщение, не оказывающее особого влияния на использование, с теми же симптомами, которые я испытываю при мерцании дисплея и отсутствии четкого разрешения. В некоторых сообщениях говорится, что это было исправлено в более старых ядрах, чем я использую - 5.4.0-37
.
Мерцание происходит очень случайно, и его трудно вызвать, но часто случается при прокрутке в Firefox, опускании моего терминала Guake или участии в совещании Zoom.
Я пробовал много разных флагов ядра из разных сообщений, которые, кажется, указывают либо на 1) IOMMU в Sandy Bridge i7, либо на 2) C-состояния и управление питанием. Ничего надежно не устранило проблему. Некоторые из вариантов, которые я пробовал: "i915.enable_rc6 = 0 i915.semaphores = 1 pcie_aspm = force i915.enable_psr = 0 i915.edp_vswing = 2 intel_iommu = on, igfx_off processor.max_cstate = 1 intelc_idle.max_ 1 "
. Сейчас я использую "i915.enable_rc6 = 1 i915.enable_fbc = 1 i915.powersave = 1 i915.modeset = 1 i915.lvds_downclock = 1"
, и он все еще мерцает.Один пример: Мерцающий экран + канал ЦП B FIFO опустошается при использовании терминала
Я заменил материнскую плату в моем X220, и там повреждена сетевая карта, так что это не исключено, что на этой плате есть аппаратный сбой, но Поскольку он работает достаточно долго и второй экран работает стабильно, я уверен, что это не эта плата. Я не пробовал использовать экран Acer на исходной плате, но при подключении оригинальной платы к экранам 1080p через DP-> HDMI проблем не возникло. У меня нет другого экрана DP для тестирования. Я безуспешно пробовал другой кабель DP. Он также мерцает, если он подключен к выходу DP ноутбука.
Экран не проблема, так как он работает на другом ноутбуке через DP. Я также пробовал подключить экран к X220 через HDMI, который работает стабильно, но, кажется, максимально работает при разрешении 1080p, и мне особенно нужны дополнительные пиксели.
Оборудование:
Программное обеспечение:
Модули ядра:
Module Size Used by
ppp_mppe 16384 2
ppp_async 20480 1
nf_conntrack_pptp 24576 0
nf_conntrack 139264 1 nf_conntrack_pptp
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
binfmt_misc 24576 1
nls_iso8859_1 16384 1
dm_multipath 32768 0
scsi_dh_rdac 16384 0
scsi_dh_emc 16384 0
scsi_dh_alua 20480 0
intel_rapl_msr 20480 0
mei_hdcp 24576 0
intel_rapl_common 24576 1 intel_rapl_msr
x86_pkg_temp_thermal 20480 0
coretemp 20480 0
kvm_intel 282624 0
kvm 663552 1 kvm_intel
intel_cstate 20480 0
intel_rapl_perf 20480 0
uvcvideo 98304 0
videobuf2_vmalloc 20480 1 uvcvideo
videobuf2_memops 20480 1 videobuf2_vmalloc
snd_usb_audio 262144 1
videobuf2_v4l2 24576 1 uvcvideo
videobuf2_common 49152 2 videobuf2_v4l2,uvcvideo
cdc_mbim 20480 0
joydev 24576 0
snd_usbmidi_lib 36864 1 snd_usb_audio
snd_rawmidi 36864 1 snd_usbmidi_lib
snd_seq_device 16384 1 snd_rawmidi
iwldvm 237568 0
videodev 225280 3 videobuf2_v4l2,uvcvideo,videobuf2_common
cdc_ncm 36864 1 cdc_mbim
mac80211 843776 1 iwldvm
usbnet 45056 2 cdc_mbim,cdc_ncm
wmi_bmof 16384 0
mii 20480 1 usbnet
libarc4 16384 2 ppp_mppe,mac80211
mc 53248 5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
input_leds 16384 0
cdc_acm 40960 0
cdc_wdm 24576 1 cdc_mbim
serio_raw 20480 0
iwlwifi 331776 1 iwldvm
snd_hda_codec_hdmi 61440 1
snd_hda_codec_conexant 28672 1
snd_hda_codec_generic 81920 1 snd_hda_codec_conexant
cfg80211 704512 3 iwldvm,iwlwifi,mac80211
snd_hda_intel 53248 5
snd_intel_dspcfg 24576 1 snd_hda_intel
snd_hda_codec 131072 4 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel
snd_hda_core 90112 5 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
thinkpad_acpi 110592 0
snd_hwdep 20480 2 snd_usb_audio,snd_hda_codec
mei_me 40960 1
snd_pcm 106496 6 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
mei 106496 3 mei_hdcp,mei_me
nvram 16384 1 thinkpad_acpi
ledtrig_audio 16384 3 snd_hda_codec_generic,snd_hda_codec_conexant,thinkpad_acpi
snd_timer 36864 1 snd_pcm
snd 90112 24 snd_hda_codec_generic,snd_hda_codec_conexant,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,thinkpad_acpi,snd_pcm,snd_rawmidi
soundcore 16384 1 snd
mac_hid 16384 0
sch_fq_codel 20480 3
parport_pc 40960 0
ppdev 24576 0
lp 20480 0
parport 53248 3 parport_pc,lp,ppdev
ip_tables 32768 0
x_tables 40960 1 ip_tables
autofs4 45056 2
btrfs 1253376 0
zstd_compress 167936 1 btrfs
dm_crypt 40960 1
raid10 57344 0
raid456 155648 0
async_raid6_recov 24576 1 raid456
async_memcpy 20480 2 raid456,async_raid6_recov
async_pq 24576 2 raid456,async_raid6_recov
async_xor 20480 3 async_pq,raid456,async_raid6_recov
async_tx 20480 5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
xor 24576 2 async_xor,btrfs
raid6_pq 114688 4 async_pq,btrfs,raid456,async_raid6_recov
libcrc32c 16384 3 nf_conntrack,btrfs,raid456
raid1 45056 0
raid0 24576 0
multipath 20480 0
linear 20480 0
hid_logitech_hidpp 40960 0
hid_logitech_dj 24576 0
hid_generic 16384 0
usbhid 57344 1 hid_logitech_dj
hid 131072 4 usbhid,hid_generic,hid_logitech_dj,hid_logitech_hidpp
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
i915 1986560 22
sdhci_pci 53248 0
cqhci 28672 1 sdhci_pci
ahci 40960 3
aesni_intel 372736 2
psmouse 155648 0
libahci 32768 1 ahci
i2c_algo_bit 16384 1 i915
i2c_i801 32768 0
lpc_ich 24576 0
sdhci 65536 1 sdhci_pci
drm_kms_helper 184320 1 i915
syscopyarea 16384 1 drm_kms_helper
crypto_simd 16384 1 aesni_intel
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
cryptd 24576 3 crypto_simd,ghash_clmulni_intel
glue_helper 16384 1 aesni_intel
drm 491520 8 drm_kms_helper,i915
e1000e 258048 0
wmi 32768 1 wmi_bmof
video 49152 2 thinkpad_acpi,i915
Поскольку это случайно, я не могу точно сказать, является ли это исправлением, но с более новыми ядрами/другими обновлениями, похоже, увеличивается частота мерцания, это, похоже, помогло:
https://bbs.archlinux.org/viewtopic.php?pid=1533863#p1533863
Драйвер использует SNA в качестве метода ускорения по умолчанию. Можешь попробовать вернуться к UXA, если у вас возникнут проблемы. Для этого сохраните файл со следующим содержимым как /etc/X11/xorg.conf.d/20-intel.conf :
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "uxa"
#Option "AccelMethod" "sna"
EndSection
Он не мерцал с момента добавления этого файла и перезапуска X11. Скрестим пальцы, это помогает.
Редактировать: нет, это не исправление. Только что было очередное мерцание. Тем не менее, кажется, что это уменьшило количество случаев.
У меня проблема, аналогичная вашей, на моем Thinkpad W520 и похожее сообщение об ошибке процессора.
Это аппаратная проблема, так как я пытался переключиться на Windows 7, и мой экран мерцает точно так же. Проблема связана с перегревом.
Я увеличил скорость вращения вентилятора до максимума с помощью Thinkfan, и теперь проблема возникает редко.