[РЕШЕНО] ПК с Debian GNU/Linux 10 (buster) зависает с артефактами на экране монитора

archive view archive save

screen artefacts Debian GNU/Linux 10 (buster) регулярно застывает с артефактами на экране монитора, клавиатура на нажатия не реагирует, срабатывает только кнопка RESET или полное физическое отключение питания.

До недавнего времени машина под управлением Debian GNU/Linux 10 (buster) успешно работала на установленных ядрах:

  • linux-image-4.19.0-25-686
  • linux-image-4.19.0-24-686
  • linux-image-4.19.0-6-686

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

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

screen-artefacts_2.jpg

Рекомендации, которыми загажен Интернет под заголовками типа Что делать если появляются артефакты на экране ноутбука?:

  • Проверьте драйверы видеокарты
  • Проверьте температуру видеокарты
  • Проверьте температуру себе
  • Проверьте кабель и разъемы экрана
  • Проверьте матрицу экрана
  • Проверьте видеокарту на повреждения
  • Проверьте ПК на барановирусы
  • Проверьсь сами на барановирусы
  • Сделайте прививку от барановируса
  • Уколитесь ещё раз, да ещё раз, да ещё много.., много.., много раз...
  • Установите/обновите мозговые чипы и/или анальные зонды
  • Отрегулируйте настройки восприятия объективной реальности
  • Протрите монитор
  • Выдерните шнур питания, выдавите стекло
  • ...и так далее...

Нихера не работают.

Что делать если появляются артефакты на экране ноутбука?
...
Если все вышеуказанные шаги не помогли устранить артефакты на экране ноутбука, возможно, проблема кроется в самой видеокарте. В некоторых случаях, видеокарта может быть повреждена из-за перегрева, произошедшего короткого замыкания или других причин. В таком случае потребуется замена видеокарты или ремонт ноутбука в сервисном центре.

Заключение

Артефакты на экране ноутбука могут возникать из-за разных причин и свидетельствовать о различных проблемах. Важно правильно определить их причину и принять соответствующие меры. Если вы не уверены в своих навыках или столкнулись с сложными проблемами, обратитесь в Уральский Сервисный Центр. Наши специалисты помогут вам быстро и качественно устранить проблему с артефактами на экране вашего ноутбука.

...обратитесь в Уральский Сервисный Центр. Наши специалисты... - с экспертами, помогут опустошить кошельки и карманы, доламают старый ПК и впарят новый + Нубук, блюпуп, ви-фи, фрэшка, макрософак, дохляк... - это кино мы уже видели.

Там где-то ещё есть Антон Уральский ни единого разрыва:

А вдруг Антон Уральский уже в Уральском Сервисном Центре работает?!

... Неее.., мы пойдём другим путём...

Кто виноват в артефактах экрана? Вероятные подозреваемые:

  • драйвера оборудования;
  • конфигурация оборудования;
  • само оборудование (закисшие шлейфы, припухшие конденсаторы и т.п.);
  • модули ядра;
  • само ядро.
  1. Изменения в системе
  2. Драйвера оборудования
  3. Конфигурация оборудования
  4. Припухшее железо
  5. Модули ядра Intel graphics
  6. Ядро Linux
  7. Что делать
    1. Откат xserver на старые версии
    2. Переход на новую ветку ядра
    3. Обновление глюка в linux-image-5.x
    4. Замена припухших деталей
    5. BIOS Configuration
    6. Отключение лишнего оборудования
  8. РЕШЕНО

Изменения в системе

Что обновилось/изменилось можно узнать в журналах:

  • /var/log/dpkg.log
  • /var/log/apt/history.log

Поскольку проблема графическая, поищем изменения в этом направлении с подсветкой найденных ключевых слов:

zless /var/log/apt/history.log|grep --color=always -B2 -E '(xorg|mesa|linux|driver)'|more
Start-Date: 2024-01-01 16:16:43
Commandline: apt-get dist-upgrade
...xserver-xorg-core:i386 (2:1.20.4-1+deb10u10, 2:1.20.4-1+deb10u12)...xserver-xorg-legacy:i386 (2:1.20.4-1+deb10u10, 2:1.20.4-1+deb10u12)
 
zless /var/log/apt/history.log.1.gz|grep --color=always -B2 -E '(xorg|mesa|linux|driver)'|more
 
zless /var/log/apt/history.log.2.gz|grep --color=always -B2 -E '(xorg|mesa|linux|driver)'|more
 
zless /var/log/apt/history.log.3.gz|grep --color=always -B2 -E '(xorg|mesa|linux|driver)'|more
Start-Date: 2023-10-30 20:12:51
Commandline: apt-get dist-upgrade
...xserver-xorg-core:i386 (2:1.20.4-1+deb10u9, 2:1.20.4-1+deb10u10)...xserver-xorg-legacy:i386 (2:1.20.4-1+deb10u9, 2:1.20.4-1+deb10u10)...firmware-linux-nonfree:i386 (20190114+really20220913-0+deb10u1, 20190114+really20220913-0+deb10u2)
 
zless /var/log/apt/history.log.4.gz|grep --color=always -B2 -E '(xorg|mesa|linux|driver)'|more
...
Start-Date: 2023-08-10 17:15:21
Commandline: apt-get dist-upgrade
Install: linux-image-4.19.0-25-686:i386 (4.19.289-2, automatic), linux-headers-4.19.0-25-common:i386 (4.19.289-2, automatic), linux-headers-4.19.0-25-686:i386 (4.19.289-2, automatic), ..., linux-libc-dev:i386 (4.19.282-1, 4.19.289-2), ..., linux-headers-686:i386 (4.19+105+deb10u19, 4.19+105+deb10u20), linux-compiler-gcc-8-x86:i386 (4.19.282-1, 4.19.289-2), ..., linux-source:i386 (4.19+105+deb10u19, 4.19+105+deb10u20), ..., linux-image-686:i386 (4.19+105+deb10u19, 4.19+105+deb10u20), ..., linux-kbuild-4.19:i386 (4.19.282-1, 4.19.289-2), ..., linux-config-4.19:i386 (4.19.282-1, 4.19.289-2), ..., linux-source-4.19:i386 (4.19.282-1, 4.19.289-2), ...

Видим, что из последних (2023-10-30 и 2024-01-01) обновлялись пакеты xserver-xorg-* сервера обеспечивающие работу оконной системы X Window System, и (2023-10-30) firmware-linux-nonfree.

Последнее обновление ядра было ещё в августе прошлого 2023-го года (2023-08-10).

Ок, но куда копать?

Драйвера оборудования

firmware-linux-nonfree в расчёт не берём потому, что сыпать артефактами и наглухо виснуть оно начало с нового 2024-го года.

Конфигурация оборудования

После установки самой операционной системы конфигурация оборудования на протяжении лет не менялась.

Конфигурация Xorg и вовсе осталась по-умолчанию после установки.

Были эксперименты с настройками драйвера i915, версиями OpenGL, вертикальной и горизонтальной синхронизациями:

<driconf>
 
  <device screen="0" driver="i915">
    <application name="Default">
      <!--
      $ glxinfo | grep OpenGL
      $ eglinfo
      false = OpenGL version string: 1.4 Mesa 18.3.6
      true = OpenGL version string: 2.1 Mesa 18.3.6
      -->
      <!-- option name="stub_occlusion_query" value="false" / -->
      <!-- option name="fragment_shader" value="false" / -->
    </application>
    <application name="All">
      <!-- 3 - Always synchronize with vertical refresh to avoid tearing -->
      <!-- option name="vblank_mode" value="0"/ -->
    </application>
    <application name="glxgears" executable="glxgears" -->
      <!-- 0 - glxgears should not synchronize with vertical refresh, show full fps -->
      <!-- option name="vblank_mode" value="0"/ -->
    </application>
    <application name="tuxracer" executable="tuxracer">
      <!-- Tuxrace has some artifacts with hardware TCL -->
      <!-- option name="tcl_mode" value="0"/ -->
    </application>
  </device>
 
  <device screen="0" driver="dri2">
    <application name="Default">
      <!-- option name="vblank_mode" value="0"/ -->
    </application>
  </device>
 
</driconf>

Но они проблему не решили...

Не решилась проблема и после экспериментов с настройками BIOS: отключение Hyper-Threading Technology; понижение частоты CPU; cpu/pci async; etc...

Припухшее железо

В области модулей оперативной памяти обнаружен припухший конденсатор (1000 uF 6.3v), а чтобы выяснить в нём ли дело (влияет ли на RAM) - с загрузочного флоппи-диска запущен Memtest86+, которым оперативка нагружалась в течении 2-3 часов без обнаружения ошибок и зависаний.

Элемент питания BIOS CMOS CR2032 3v также выпадает из числа подозреваемых потому, что:

  1. CR2032 на CMOS менялась не прошло и пол года;
  2. проверка CR2032 цифровым мультиметром показала +3.6 В;
  3. в результате артефактных зависаний настройки BIOS слетели лишь один раз за 10-15 глюков.

Короткие замыкания

Не помешает осмотреть внутренности на предмет наличия:

  • посторонних стальных предметов (стружка, проволока, и т.д.);
  • признаков потёков термопасты, особенно если она алюминиевая;
  • пережатых переломанных проводов;
  • ослабшие и/или окисленные шлейфы.

Модули ядра Intel graphics

Из модулей ядра, которые можно было придумать туда-сюда покрутить - i915.

Если файл /etc/modprobe.d/i915-kms.conf отсутствует, то его нужно создать

vi /etc/modprobe.d/i915-kms.conf
 
options i915 enable_dc=0 enable_fbc=0 enable_ips=0 enable_psr=0 fastboot=1

После чего, чтобы система узнала о новом /etc/modprobe.d/i915-kms.conf, выполнить: sudo update-initramfs -u -k all

Перезапустить ПК.

Ещё можно пробовать:

  • acpi=off
  • pci=
             bios
             nobios
             biosrq
             noacpi

В некоторых случаях может помогать, но не в нашем...

Это не все фокусы и причуды с Intel graphics по которым могут происходить: Зависания Xorg; Проблемы с DRI3; X зависает/падает с драйверами intel; Искажение/Зависание в Chromium и Firefox, - подробнее по ссылке:

Дополнительная информация по графическим драйверам и модулям ядра:

Ядро Linux

Были опробованы ядра:

  • linux-image-4.19.0-25-686
  • linux-image-4.19.0-24-686
  • linux-image-4.19.0-6-686

Пробуем PAE версию (CPU поддерживает lscpu|grep pae): apt-get install linux-image-4.19.0-25-686-pae

Спустя 2-5 мин после загрузки рабочего стола с ядром linux-image-4.19.0-25-686-pae всё отвалилось в чёрный экран и перезагрузилось.

Что делать

После ознакомления со всеми подозреваемыми напрашиваются такие варианты решения проблемы с артефактами экрана и зависанием системы:

  1. Откат xserver на старые версии
  2. Переход на новую ветку ядра
  3. Замена припухших деталей

Очевиден тот факт, что проблема с артефактами началась после обновления пакетов xorg и поэтому откат xserver на старые версии поставлено на 1-е место.

Неоспоримо также то, что в конечном итоге всё обрабатывается Linux ядром, а значит и обновление ядра может решить проблему даже без отката xorg на старые версии.

И самое последнее решение - это замена припухшего конденсатора (10 центов его розничная стоимость), который несомненно нужно будет заменить.

Откат xserver на старые версии

Версии 2:1.20.4-1+deb10u9 пакетов xserver-xorg-core и xserver-xorg-legacy уже не доступна для установки.

Откат пакетов на старые версии выполняется командой apt-get install PKG_NAME=PKG_VER.

Версию нужно указывать полностью так, как она отображается в журналах apt, dpkg, apt-show-versions, иначе Версия ... не найдена:

apt-get install xserver-xorg-core=1.20.4-1+deb10u12
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Версия «1.20.4-1+deb10u12» для «xserver-xorg-core» не найдена

Проверить какие версии пакетов доступны:

apt-cache policy xserver-xorg-core xserver-xorg-legacy
xserver-xorg-core:
  Установлен: 2:1.20.4-1+deb10u12
  Кандидат:   2:1.20.4-1+deb10u12
  Таблица версий:
 *** 2:1.20.4-1+deb10u12 500
        500 http://security.debian.org buster/updates/main i386 Packages
        100 /var/lib/dpkg/status
     2:1.20.4-1+deb10u4 500
        500 http://ftp.debian.org/debian buster/main i386 Packages
xserver-xorg-legacy:
  Установлен: 2:1.20.4-1+deb10u12
  Кандидат:   2:1.20.4-1+deb10u12
  Таблица версий:
 *** 2:1.20.4-1+deb10u12 500
        500 http://security.debian.org buster/updates/main i386 Packages
        100 /var/lib/dpkg/status
     2:1.20.4-1+deb10u4 500
        500 http://ftp.debian.org/debian buster/main i386 Packages

Откат xserver-xorg-core и xserver-xorg-legacy на версию 2:1.20.4-1+deb10u4:

apt-get install xserver-xorg-core=2:1.20.4-1+deb10u4 xserver-xorg-legacy=2:1.20.4-1+deb10u4
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие пакеты будут заменены на СТАРЫЕ версии:
  xserver-xorg-core xserver-xorg-legacy
Обновлено 0 пакетов, установлено 0 новых пакетов, 2 пакетов заменено на старые версии, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 5853 kB архивов.
После данной операции объём занятого дискового пространства уменьшится на 2 048 B.
Хотите продолжить? [Д/н]

Стабилизируем пакет запрещая его обновлять: sudo apt-mark hold package_name

Или отменяем: sudo apt-mark unhold package_name

Откат xserver на старые версии как вариант, но его мы оставим на потом в качестве плана Б...

Переход на новую ветку ядра

Ядро Linux - это хребет всей системы, с перехода на его новую векту и попробуем решить проблему с артефактами экрана.

В репозитории buster обнаружена доступная для установки 5-я ветка ядра, котурую мы и поставим - обычную и после PAE версии:

apt-get install linux-image-5.10-686
apt-get install linux-image-5.10-686-pae
sudo reboot
 
uname -a
Linux falinux 5.10.0-0.deb10.26-686-pae #1 SMP Debian 5.10.197-1~deb10u1 (2023-08-08) i686 GNU/Linux

Теперь система работает стабильно и без артефактов.

Обновление глюка в linux-image-5.x

Дождались пакращення... Пару дней назад вышло обновление глюка в 5-й ветке ядра, после установки и загрузки с которым (2024-01-24) артефакты на экране с полным зависанием системы снова дали о себе знать:

  • linux-image-5.10.0-0.deb10.26-686-pae:i386 - NOT FREEZE 2 weeks
  • linux-image-5.10.0-0.deb10.27-686-pae:i386 - SCREEN FREEZE after 5-10 min after boot

Также вышло новое ядро для 4-й ветки - linux-image-4.19.0-26-686:i386. 4.19.0-25 глючное, 4.19.0-26 пока не проверялось...

С полным списком изменений в ядре можно ознакомиться выполнив apt-get changelog PKG_NAME

apt-get changelog linux-image-4.19.0-26-686
apt-get changelog linux-image-5.10.0-0.deb10.27-686

Удаляем 5.10.0-0.deb10.27 и фиксируем 5.10.0-0.deb10.26

sudo apt-get purge linux-image-5.10.0-0.deb10.27-686-pae:i386 linux-image-5.10.0-0.deb10.27-686:i386
 
sudo apt-mark hold linux-image-5.10.0-0.deb10.26-686
linux-image-5.10.0-0.deb10.26-686 помечен как зафиксированный.
 
sudo apt-mark hold linux-image-5.10.0-0.deb10.26-686-pae
linux-image-5.10.0-0.deb10.26-686-pae помечен как зафиксированный.

Замена припухших деталей

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

Тогда в области скопления портов подключения внешнего оборудования было обнаружено около 3-4 припухших конденсаторов на 3300 uF (вольтаж не помню), после замены которых курсор мыши успокоился :)

Несмотря на то, что глюк с артефактами экрана и зависанием ПК устранился переходом на 5-ю ветку ядра - припухшие детали всё же нужно заменить потому, что их влияние на возникшую проблему, как и появление новых проблем в будущем, полностью исключить нельзя!

BIOS Configuration

Если из вышеперечисленного нифига не помогло, тогда можно попробовать сбросить настройки BIOS к параметрам по-умолчанию, а также...

ACPI HPET Table

В BIOS отключить HPET, ACPI Configuration -> ACPI HPET Table = Disable, который в qemu-system-i386 может вызывать длительные таймауты при загрузке гостевой машины с множественныеми сообщениями:

clocksource: timekeeping watchdog on CPU0: hpet wd-wd read-back delay of 54830ns
clocksource: wd-tsc-wd read-back delay of 350830ns, clock-skew test skipped!
...

В kernel boot parameters гостевой машины рекомендуется добавить clocksource=tsc tsc=nowatchdog

Хоть и не совсем по теме артефактов, но настройка так или иначе влияет на работу CPU.

CPU Configuration

Попробовать такую конфигурацию:

CPU Configuration ->
  Overlock Mode: Auto (Default)
                 CPU, PCIE Sync.
                 CPU, PCIE Async.
                 Optimized
  CPU Thermal Throttling: Enabled (Default)
  Hyper Threading Technology: Enabled (Default)
  On-Demand Clock Modulation: Disabled (Default)
                              Auto
                              12.5% On
                              25.0% On
                              37.5% On
                              50.0% On
                              62.5% On
                              75.0% On
                              87.5% On

On-Demand Clock Modulation по некоторым сообщениям может вызывать проблемы (тормоза и зависания):

Отключение лишнего оборудования

Можно попробовать отключить флоппи-привод, CD-привод, и другое неиспользуемое оборудование - вдруг проблемы с нехваткой мощности от блока питания.

РЕШЕНО

Без артефактов и зависаний система стабильно работала на 5-й версии PAE ядра (есть поддержка PAE в CPU) без малого неделю, после чего была перезагружена.

Обычная 5-я версия ядра на артефакты не проверялась.

Откат пакетов xserver-xorg-core и xserver-xorg-legacy на старые версии не выполнялся.

После последнего перезапуска система на 5-й версии PAE ядра без артефактов и зависаний проработала целый месяц!

И уже казалось, что проблема действительно программная и кроется в самом ядре, но.., - сталося не так як гадалося и на втором месяце работы система снова залипла в артефактах.

screen-artefacts_3.jpg

Когда же артефактами залепило экран в самом начале загрузки initrd, тут мы сразу вспомнили про припухший конденсатор (1000 uF 6.3v) в области модулей оперативной памяти, и - заменили его новым.

Только после замены припухшего конденсатора, на 5-й версии PAE Linux ядра, артефакты прекратились полностью.

Получается, что проблема программно-аппаратная, очевидно связана с управлением питанием где ядро Linux играет далеко не последнюю роль.

Мораль сей басни такова, что:

  • ПО оказывает прямое влияние на усталость железа и срок его службы! Желательно избегать использования ПО с закрытым исходным кодом, особенно разработанного большими корпорациями и правительственными структурами - в таком ПО множество бэкдоров и запланированных неисправностей;
  • Нужно избегать автоматического обновления. Обновления для одних и тех же пакетов могут выходить пачками день за днём без перерыва в течении недели и более - это разработчиков значит капитально колбасит (добавили/удалили глюк/запятую/описание/комментарий/etc) и лучше переждать пока оно стабилизируется;
  • Обновлять систему не чаще 1-2 раза в месяц, - это даст время на тестирование и скоратит время на откат. За редким исключением по мере выхода новых версий можно обновлять только прикладное ПО: веб-сервера и т.п.
  • Не нужно поспешно переходить на новые ветки релизов вскоре после их появления ИМХО..! Как правило в начале разработки всегда неимоверное множество глюков и багов, пустая трата Интернет трафика на туеву хучу обновлений + повышенное потребление ресурсов и износ железа, а из профита лишь головная боль да геморрой.

P.S. Чтоб Вы все были здоровы и жили без разрывов, зависаний и артефактов на своих голубых экранах мониторов!


Комментарии в блоге
Новое на форуме