Пошкодження екрану після сплячки - чи є інший спосіб оновити дисплей X11?


23

Коли я відновлююсь зі сплячого режиму, екран часто пошкоджується. Я підозрюю, що графічна пам'ять не зберігається. Підвіска до барана працює інакше.

Схоже, кеш-шрифт пошкоджений, оскільки всі букви пошкоджені послідовно. Здається, ефект націлює шрифт на певний розмір. Наприклад, якщо моє вікно терміналу потрапило, зміна шрифту та / або розміру шрифту виправить це, якщо тільки цей шрифт із таким розміром вже не пошкоджений.

Якщо шрифт використовується в іншому місці (інші програми, менеджер вікон тощо), проблема також є. Іноді потрапляє шрифт, який використовується для заголовків вікон, тоді всі заголовки вікон показують однакові букви зіпсованими.

Вихід із системи та вхід знову виправляють це , але я не хочу цього робити. Я виходив із режиму зимування, але це докладає більше зусиль і позбавляє більшості переваг сплячого.

Чи є інший спосіб оновити дисплей X11? Ctrl+ Alt+ F1... не виправити ні. Він перемикає термінал, але нічого не перемальовує: він просто показує старий пошкоджений екран.

Я використовую Debian 6.

У цьому випадку назва вікна погана: Шрифт заголовка вікна застарілий

Вміст терміналу поганий, але назва (все-таки) гаразд: Текст систематично спотворюється, але впливають лише деякі шрифти


1
Який графічний чіп / драйвер ви використовуєте? Distro?
Калеб

1
Debian 6, acer aspire 5338 інтегрованої графіки. У мене це працювало в Ubuntu, і підвіска до оперативної роботи працює чудово. Я підозрюю, що це ми просто не економимо графічний таран на диску.
ctrl-alt-delor

1
Це не зовсім відповідає на питання, оскільки ця модель, здається, постачається з відеокартами Intel, Nvidia та ATI. Під "інтегрованим" ви маєте на увазі, чи має ваша відеокарта Intel GMA?
Калеб

З того, що ви сказали, незрозуміло - ви намагалися робити ctrl-alt-F1 перед тим, як перезимувати (тобто перезимувати з текстового режиму, і лише після перезавантаження повернутися до X11)? Вам може знадобитися дізнатися команду для переходу в сплячку з командного рядка.
Випадково832

1
Я оновив до debian7, він зараз працює. @terdon знімки екрана, додані до питання, схожі на те, що у мене було.
ctrl-alt-delor

Відповіді:


12

У мене була схожа ситуація і з ноутбуком. Екран часто залишався б чорним, коли він прокинувся від призупинення. Моє рішення було використовувати xrandrдля скидання моїх дисплеїв. Вам потрібно знайти xrandrкоманду, яка встановлює ваш макет, і виконати її. Наприклад, у моїй системі у мене було два екрани, і це налаштовувалося так, як я хотів:

xrandr --output DP-3 --auto --output VGA-0 --auto --right-of DP-3 --primary

Якщо у вас є лише один екран, ви можете спробувати вимкнути його і знову:

xrandr --output VGA-1 --off; xrandr --output VGA-1 --auto;

Ви можете побачити назви ваших екранів, запустивши xrandrбез аргументів. У системі, яку я зараз використовую (один екран VGA), я отримую:

$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
VGA-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
DVI-I-1 disconnected (normal left inverted right x axis y axis)

Як тільки ви знайдете потрібну команду, призначте її ярликом, щоб ви могли запустити її навіть тоді, коли екран порожній.


Я не бачу, як це могло б працювати. Ви отримуєте чорний екран і не маєте інтерфейсу ... але ви запускаєте команду? Як? Виконання alt + Fn не працюватиме, оскільки навіть усі команди X містять помилку "Не вдається відкрити дисплей". Спробування export DISPLAY=:0трюку просто призводить до іншої помилки.
Серін

@Cerin у моїй системі я призначив ярлик цій команді, щоб я міг запускати її наосліп, натиснувши Alt + F.
terdon

Дякую, що це зробило для мене (отримання фантазійних збоїв на екрані з моменту початку використання цитричного приймача; це виправлено, коли все не вдалося). Зауважте, що якщо ви запустите команду з іншого VT на одному комп’ютері, ви можете отримати Configure crtc 0 failedпомилку; просто додайте невеликий сон перед командою і переключіть VT, щоб він був активним, коли xrandr працює. @Cerin, це, мабуть, твоя проблема. sleep 5; xrandr --output VGA-1 --off; xrandr --output VGA-1 --auto
Томас Гайо-Сіоннест

Виявляється, це насправді не було моєю проблемою; при перемиканні VT з'являється, що менеджер Windows або оболонка gnome наздоганяють події і залишаються невідповідними протягом деякого часу; часу, проведеного на ці дії, було достатньо, щоб наздогнати та оновити екран. Інакше це допомогло один раз, коли я зіткнувся з проблемою фокусування, де я не міг натиснути на що-небудь &, і комбінації клавіш були ігноровані - вимкнення, а потім увімкнення дисплея виправляло це.
Томас Гайо-Сіоннест

Чи нормально, щоб вищевказана команда (для одного дисплея) залишала вас з низьким (чорним) екраном із вказівником миші? Якщо так, як це зробити?
Класний персонаж

7

Ви спробували xrefreshкоманду?


Так, не вийшло,
ctrl-alt-delor

Я спробую це наступного разу ... FWIW більшу частину часу отримую глюк, що впливає на дисплей, або перемикаючись між текстом і графічним інтерфейсом графічного інтерфейсу, або використовуючи користувацький параметр перемикача (який блокує один VT, а розблокує інший), виправляє мої проблеми ... але рідко з'являється, що лише xrandr може виправити це. Я зазвичай перемикаю використання VT, CTRL-ALT-F<n>тому мені не доведеться розблокувати весь час.
Томас Гайо-Сіоннест

6

У GNOME 3 , AltF2renterоновлює GUI. AltF2запускає рядок Run Command , і rкоманда примушує оновити.


Це здається, що ви також можете бігти rз консолі. У мене не rвстановлено. - Що тобі бігти, кажете? Тобто який пакет? Як називається повна назва цієї rпрограми?
Роберт Сімер

1
@RobertSiemer - це не програма, це внутрішня річ GNOME, яка перезапускає DE. Я здогадуюсь, що вона працює gnome --replaceу фоновому режимі, але я не знаю.
terdon

3
rабо restart(це те саме). Еквівалент консолі був би gnome-shell --replace.
don_crissti

Я запускаю gnome-панель з metacity.
Роберт Сімер

@richard, це працювало?
Северин Козак

5

У мене теж є таке питання (Debian Squeeze and Wheezy).

На мій досвід, це відбувається в основному, коли більша частина пам'яті заповнена і система використовує своп-пам'ять.

Як часткова обробка: якщо я зміню шрифти за замовчуванням, корупція відпадає. (Недаремно, мені доведеться знову змінитись, коли корупція знову з’явиться.)

(На Debian Wheezy це робиться за допомогою gnome-tweak-tool.)


4

Оновлення до ядра 3.19. - Я використовував основні пакети ядра Ubuntu , які можна знайти тут:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/ (працює і на Ubuntu 14.04, надійний)

Наступний коментар повідомлення про помилку згадував про це

https://bugs.freedesktop.org/show_bug.cgi?id=45092#c37

... і відслідковував комісію за допомогою наступного повідомлення:

https://github.com/torvalds/linux/commit/656bfa3afc14e45e2d9e1624bf60d79b3beb12f2

"... оскільки ми бачили це лише в gm45 та i965gm."

У мене є мобільний чіпсет Intel GM45 з інтегрованою графікою. Ноутбук Acer в ОП також продавався з цим чіпсетом (хоча не все).

(Це не мало нічого спільного з призупиненням.)


3

Якщо драйвер не зможе відновити пристрій належним чином, я вважаю, що єдине рішення, яке ви знайдете, - це налагодження та визначення місця проблеми, щоб ви могли вирішити, що робити звідти. Наприклад, я не бачу, як можна оновити, якщо відеокарта не буде повторно використана.

ACPI ручки призупинити / відновити та відобразити. Наприклад, наступна проблема ACPI, яка виникає на деяких ThinkPad, може вирішити симптоми, які ви описуєте:

Під час поновлення з режиму "призупинення роботи" на екрані текстової консолі може відображатися сміття замість фактичного тексту. Інакше машина все ще чутлива і X відображає чудово. Якщо все це вірно, додавання параметра ядра acpi_sleep = s3_bios, s3_mode у ваше меню.lst або lilo.conf може вирішити проблему.

Проблеми з тимчасовим відключенням програми ACPI - ThinkWiki

Якщо ви використовуєте thinkpad_acpiмодуль, на який звертається вищенаведена цитата, це може бути все, що вам потрібно. Для отримання додаткової інформації про це рішення див. Suspend2Ram - Документація на енергозбереження

По-перше, є кілька параметрів ядра, які можна випробувати. Просто додайте їх до свого "ядра" -line в /boot/grub/menu.lst . Більше інформації про них можна знайти в /usr/src/linux/Documentation/power/video.txt .

З відео.txt:

Під час резюме S3 апаратне забезпечення потребує відновлення. Для більшості пристроїв це легко, і драйвер ядра знає, як це зробити. На жаль, є один виняток: відеокарта. Зазвичай вони ініціалізуються BIOS, і ядро ​​не має достатньо інформації для завантаження відеокарти. (Ядро зазвичай навіть не містить драйвера відеокарти - широко використовуються vesafb та vgacon).

Детальніше на video.txt Перегляньте таблицю тут, щоб побачити, чи acpi_sleep=<hack>є в списку відома модель вашої відеокарти.

Debian Suspend та KMS Вікі Debian пропонують вимкнути KMS для випуску "пошкодженого відео під час резюме". 1

Дуже поширена проблема, яка виникає після поновлення комп'ютера - пошкоджене відео (або чорний екран, або відсутність підсвічування РК-дисплея). Перший крок - перевірити, чи все ще працює система, що можна зробити просто натисканням кнопки Capslock і перевірити, чи змінюється відповідно світлодіод Capslock. Якщо система все ще працює, у більшості випадків нам потрібно додати відео-вигадку для вашої відеокарти.

У Debian тепер налаштування режиму ядра (KMS) включено за замовчуванням для більшості відеокарт Intel, nVidia та ATI. Але дивовижна програма pm-utils ще [не] підтримує KMS. Тому в більшості випадків спершу слід спробувати відключити KMS. Детальні кроки для вашої конкретної відеокарти можна знайти на сторінці KernelModesetting.

Якщо вимкнено KMS, якщо відео після резюме все-таки пошкоджується, ви можете спробувати призупинити роботу системи, використовуючи деякі відео-вигадки. Прочитайте сторінку програми pm-suspend, щоб дуже детально пояснити всі наявні примхи та спробуйте їх комбінації з командного рядка. Якщо ви успішно знайдете одну комбінацію примх, яка працює для вашої системи, ви можете додати їх у / usr / lib / pm-utils / video-quirks, щоб зробити їх постійними. У той же час, будь ласка, допоможіть подати помилку на пакет pm-utils з виправленням змін, щоб вони могли принести користь масі.

Поширеною проблемою, що зустрічається при модернізації систем зі старих версій Debian, є те, що можливість quirk-s3-bios заморожує систему під час призупинення. Якщо ваша система замерзає під час призупинення, уважно перевірте pm-suspend.log після включеної налагодження та переконайтесь, що quirk-s3-bios не використовується.

Якщо ви вважаєте, що це пов’язано з вашою проблемою, ви можете спробувати відключити KMS, як пропонується. Про порушення щодо вашої картки див. KernelModesetting - Debian Wiki

Налагодження призупинення

Журнал призупинення та відновлення процесів знаходиться у файлі /var/log/pm-suspend.log. Він містить помірно багатослівну інформацію за замовчуванням. Додаткову інформацію можна включити для налагодження, вставивши рядок export PM_DEBUG = true у початок файлових / usr / lib / pm-utils / pm-функцій .

Щоб дізнатися більше, ознайомтеся з інформацією про тестувальний центр Kernel, згаданий на Suspend - Debian Wiki . Це може допомогти вам налагодити та вирішити проблему.

Деякі приклади та більш поглиблена інформація про налагодження, яка може допомогти вам "драйвери, які не призупиняють або відновлять свої пристрої", доступні за посиланням https://www.kernel.org/doc/Documentation/power/basic-pm-debugging.txt

Ще кілька ідей для налагодження pm-utilsв pm-utils - ArchWiki та /unix//a/29090/87728

Ось повний список параметрів ядра, багато з яких стосуються acpi та призупинення.

Удачі.


X дисплей не в порядку; віртуальний текстовий термінал чудово
Роберт Сімер

Ви перевірили /var/log/pm-suspend.log? Ви ввімкнули налагодження /usr/lib/pm-utils/pm-functionsі перевіряли це після цього?
ійрін

Ви можете перевірити призупинення з допомогою примх з терміналу, використовуючи pm-suspend --quirk-s3-bios --quirk-s3-mode. Дивіться розділ параметрів у man pm-action.
ійрін

Я перевірив /var/log/pm-suspend.log. Нічого незвичайного. Я використовую KMS. - Вимкнення KMS не є можливим сьогодні (це потребує драйвера xorg intel); що вікі, на які ви вказували, востаннє оновлено 2012.
Роберт Сімер

Просто хочу сказати, що dmesg | tail -50команда може бути корисною для налагодження. Я фактично виявив низьку пошкодженість пам'яті, пов’язану з тим, щоб призупинити, що мені вдалося вирішити параметри ядра в grub memmap=64K$0 memory_corruption_check=0. Я вірю, що він повідомить вам про помилку ініціалізації відеокарти.
iyrin

2

Здається, це повідомлення про помилку, перевірте наступне посилання.

У разі Ubuntu перевірте це посилання

У випадку з Debian прочитайте це інше посилання спеціально зафіксованого пошкодженого відео у частині резюме

Якщо проблема полягає в текстовій консолі: Ви спробували оновити кеш шрифтів?

fc-cache -f -v


Не допомагає ...
Роберт Сімер

1
Здається, це повідомлення про помилку, перевірте наступне посилання. Якщо ваш дистрибутив не Ubuntu, помилка може не бути специфічною для дистрибутива, але деякі бібліотеки, які можуть впливати на інші дистрибутиви. Копайтесь у помилку / s та дивіться, чи вирішено це для вашого дистрибутива ... bugs.launchpad.net/ubuntu/+source/linux/+bug/659434
YoMismo

Вибачте, що не бачив вашого дистрибутива Debian. Перевірте наступне посилання: wiki.debian.org/Додайте спеціально виправлене пошкоджене відео на частину резюме .
YoMismo

У мене є Ubuntu 14.04.
Роберт Сімер

Гаразд, питання вказано "Я використовую Debian 6." перед першим скріншотом. Тоді я здогадуюсь, що ви знайдете свою відповідь у помилках запуску ... У будь-якому випадку, Ubuntu заснований на Debian, тому, можливо, рішення із посилання Debian може допомогти вам.
YoMismo

0

Це майже напевно, тому що у графічного драйвера є помилки для пристрою відображення. Це, мабуть, не надто важливо, що це таке, тому що в будь-якому випадку це не те, що ви, можливо, виправите. Але вам слід подати помилку про драйвер ядра для пристрою (як тільки ви зрозумієте, що це таке ( lspciможе допомогти тут)).

Щось, що ви можете спробувати, як вирішення проблеми: коли виходите зі сну, спробуйте натиснути "ctrl-alt-F4", щоб переключитися на інший віртуальний термінал, а потім переключитися назад (що, швидше за все, або ctrl-alt-F1 або ctrl- alt-F7 або, можливо, F8). Це може зробити достатньо для оновлення екрана, що призведе до відновлення дисплея. Можливо.


спробували ctrl-alt-F1, не вийшло.
ctrl-alt-delor

0

Ctrl + Alt + F1 ... не працює

Ну ... тоді спробуйте видати sudo chvt 1, а потім поверніться до vorg Xorg за допомогою Ctrl_Alt_Fn або sudo chvt N(де N зазвичай 7 або 8). У випадку, якщо chvtце спрацює, ви навіть можете спробувати його сценарій.


вибачте, що не зрозуміло, що працює ctrl + alt + f1. Це не рішення ctrl + alt + f1. Я можу переключити віртуальні термінали, але це не виправить корупцію. Спасибі.
ctrl-alt-delor

0

Спробуйте xrandrповернути або перевернути екран за допомогою , наприклад, догори дном, а потім повернутися до звичайного. Цього може бути достатньо, щоб повністю переробити.


-1

Спробуйте Crtlalt-потім Crtlalt+. Це змінює роздільну здатність екрана вперед і назад.


нічого. Можливо, ключі не зв'язані.
ctrl-alt-delor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.