Пустой экран после возобновления - Dell M5510 Ubuntu 16.04

12

Невозможно возобновить из приостановки

Ноутбук Dell M5510 Precision

Suspend / Resume работает под Windows 10 и образом Ubuntu Live CD / USB. Он даже работал первые пару дней установлены. Затем (без запуска каких-либо обновлений или перезагрузки) я сделал приостановку и возобновление не удалось. Я получаю пустой экран. Это работает: я могу SSH из другой системы.

Я пробовал несколько вещей из Интернета, хотя мой первый набор заметок я потерял, когда переустанавливал. Первоначально я начал на Ubuntu Mint, а затем переустановил на ванильный Ubuntu. После новой установки приостановка / возобновление работали отлично в течение 2 дней. На второй день я восстановил свой ноутбук и начал работать. В полдень я приостановил его, и он выдал проблему с пустым экраном. Я не выполнял никаких команд обновления или перезагружался между ними, поэтому я не знаю, что там изменилось.

00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1000M](rev a2)
Linux 4.4.0-36-generic

Вещи, которые я пробовал:

  • Создан незаписанный своп на 24 ГБ
  • Редактировать /etc/systemd/logind.confи раскомментировать HandleLidSwitchDocked=suspend 763085
  • Обновление ядра до 4.4.8 (также нарушило работу сети) 761820
  • Обновление ядра до 4.6.0 (это не помогло, а также сломало Docker) Ошибка панели запуска
  • Переключился с драйвера с открытым исходным кодом на Nvidia 361.42
  • Я видел какой-то пост об отключении дискретной графики в биосе, но не смог найти этот вариант в моем биосе.
  • В некоторых ответах предлагается выполнить ctrl-alt-f [12], чтобы получить текстовую консоль, а затем ctrl-alt-f7. Когда на пустом экране это ничего не делает.
  • Пробовал переключение экрана Fn + F8 (переключение между внутренним / внешним дисплеем), а также все клавиши яркости. ошибка archlinux

Запустите настройки сервера nvidia x и измените gpu на Intel вместо nvidia.

ytjohn
источник
Я попробовал nomodeset в этом, и когда я вхожу в систему, Ubuntu Unity падает, возвращает меня к lightdm. Корица потерпит неудачу в резервном режиме. Приостановка от корицы или lightdm с nomodeset все еще не в состоянии возобновиться.
ytjohn
Ядро 4.6.x устарело. Мне немного повезло с 4.6.3, но обновление до 4.7.2 оказалось для меня очень успешным. Как ни странно, обновления в воскресенье вечером исчезли, и 4.7.2 по-прежнему остается самым актуальным с 21 августа. В AskUbuntu есть множество вопросов и ответов о черных экранах до 16.04. Один из них имеет 200 голосов за, если я правильно помню.
WinEunuuchs2Unix
Благодарю. Я пошел дальше и обновился до 4.7.2. Я обнаружил, что установленный драйвер nvidia не загружается с ним, и я также установил драйвер nvidia 370.23 вместе с ним. К сожалению, резюме не сработало ни в одном случае. Я думаю, что я ударил почти все из 16.04 сообщений на черном экране, некоторые из которых я связал. Будет продолжать смотреть, хотя.
ytjohn
Под 16.04 есть много сообщений на черном экране. Надеюсь, среди них вы найдете этот «скрытый драгоценный камень». Мне пришлось написать свои собственные скрипты bash-close, lid-open и tv-sound bash в каталоге / etc / acpi / events, чтобы все работало на моем ноутбуке без проблем, чтобы я знал, каково это. Даже для 9 из 10 резюме требуется движение мыши или нажатие на другое окно на втором экране, чтобы правильно возобновить возобновление.
WinEunuuchs2Unix
Попробовал pm-suspend --quirk-dpms-onбез удачи.
ytjohn

Ответы:

11

Решение было найдено 18 сентября на форумах сообщества Dell . В конечном итоге это проблема BIOS: во время приостановки регистр Intel сбрасывается на все 0. Обходной путь исправления ядра уже находится в разработке, но не может быть включен до 4.9. Тем не менее, регистр может быть сохранен в файл во время приостановки и загружен во время возобновления.

Сохраните следующий скрипт как / lib / systemd / system-sleep / fixbacklight (и chmod 755)

#!/bin/sh
# From patchwork.freedesktop.org/.../
# and en.community.dell.com/.../19985320
# Suspend Resume fails to restore PWM_GRANUALITY
# Based on script by Tony.Jewell@Cregganna.Com

INTEL_REG=/usr/bin/intel_reg
ADDR="0x000c2000"
SAVE_FILE=/var/lib/systemd/save_intel_reg_pwm_granuality

[ -x "$INTEL_REG" ] || exit 0

case "$1" in
    pre)
        echo "$0: Saving Intel Register PWM_GRANUALITY"
        "$INTEL_REG" read "$ADDR" \
            | (read addr value && echo "$value") \
            >"$SAVE_FILE"
    sync
    ;;
    post)
        value=`cat "$SAVE_FILE" 2>/dev/null`
        if [ -n "$value" ]
        then
            echo "$0: Restoring Intel Register PWM_GRANUALITY $value"
            "$INTEL_REG" write "$ADDR" "$value"
            rm "$SAVE_FILE"
        fi
    ;;
esac

Именно @nloewen указал мне правильный путь.

ytjohn
источник
Подтвердил работу 28 сентября 2016 года на ядре Ubuntu 16.04 LTS 4.4.8-040408. Большое спасибо!
Ингвар Кристиансен
Работает также с 16.04 LTS с ядром 4.8.1. Благодарю.
Ашика
Есть ли вариант для компьютера с похожими проблемами?
Джордж Удосен
Не работает для меня
BartBog
Войдите в систему, чтобы сказать, что это работает для меня с моим ультрабуком Acer
Cacoon
1

У меня такая же проблема. Оказывается, обновление вашего ядра до последнего рекомендованного ядра в Ubuntu 16.04.3 исправило это для меня (после того, как я попробовал множество альтернативных «решений»).

Чтобы сделать это обновление, запустите sudo apt install --install-recommends linux-image-generic-hwe-16.04 xserver-xorg-hwe-16.04

Который (в настоящий момент) устанавливает ядро ​​4.10. (это обновление ядра также предлагается в ответе /ubuntu//a/823523/647310 )

BartBog
источник
0

Хотелось бы, чтобы я вел такие подробные записи, как ты. Половина этого ответа поступает из памяти, а другая половина - из электронной таблицы LibreOffice Calc, в которой выполняется длинный список команд терминала / сценариев bash и записывается вывод на экран и фрагменты файлов конфигурации.

Предпринятые действия

Msgstr " Создан незаписанный своп на 24 ГБ ". Вам не нужен своп для вашей машины, если вы не спите . Хотя обмен, когда у вас много места на диске, не вреден.

« Редактировать /etc/systemd/logind.confи раскомментироватьHandleLidSwitchDocked=suspend ». Опция Docked применяется только тогда, когда ваш аппарат подключен к док-станции или ваш HDMI подключен к телевизору или внешнему монитору. Переменная HandleLidSwitchболее важна для большинства людей. По умолчанию эта строка комментируется, но что она делает, когда комментируется? Моя система делала странные вещи, такие как гибернация, когда она должна была приостанавливаться, дважды или вообще не приостанавливаться, просто выключая экран. Я рекомендую установить опцию на то, что вы действительно хотите, то есть suspendили ignore.

Msgstr " Обновить ядро ​​до 4.4.8 (также нарушило работу сети) ". 4.4.8 старый и не должен использоваться.

« Обновление ядра до 4.6.0 (это не помогло, а также сломало докер) ». 4.6.0 устарела вместе с остальной частью цепочки 4.6.x. 4.6.3 было бы лучше, потому что у него были обновления ядра для ноутбуков Dell. Однако, когда я попробовал 4.6.3, у меня были проблемы, как описано ниже.

« Switched от драйвера с открытым исходным кодом для Nvidia 361.42 ». Это хорошая идея, так как многие сообщают об успехе с драйвером Noveau над Nvidia .

« Я видел какой-то пост об отключении дискретной графики в BIOS, но не смог найти эту опцию в своем BIOS ». Дискретная графика означает отдельную микросхему на материнской плате, а не встроенную графику . По сути, отключение дискретной графики означает отключение графического процессора Nvidia , что вы уже сделали в Xorg . Другой способ превращения его в blacklistИНГ его или используя модерн драйвер для M100M чипа (который вы сказали , что вы уже сделали).

Рекомендуемые действия

Обновление до ядра 4.7.3, в котором улучшено выравнивание ЦП и коэффициент загрузки, меньше тепла и обновлены драйверы. У меня были проблемы с 4.4 приостановить / возобновить после обновления до Ubuntu 16.04. У меня также проблемы с Intel Turbo Boost, который всегда работает, и система работает горячо. У меня также были проблемы с "тонкими шрифтами" в Nautilus . Я обновил ядро ​​до версии 4.6.3, но у меня возникли проблемы с гибернацией системы вместо ее приостановки. Поэтому я обновился до 4.7.1 , затем 4.7.2 и, наконец, 4.7.3 . Наряду с настройками для приостановки / возобновления настроек в Ubuntu и sytemd, у меня до сих пор не было проблем с 4.7.3.

Если это не сработает, есть еще вещи, которыми я могу поделиться, но не хочу делать этот ответ дольше, чем это необходимо, с помощью « Стены текста ». Попутно я разработал сценарии для собственного Suspend / Resume вместо закрывания крышки Ubuntu или systemd и сценарии для возврата звука на ТВ после приостановки / возобновления.

WinEunuuchs2Unix
источник
Я дам 4.7.3 + ново выстрел. Я попробовал вчера, но не смог загрузить его. Попробую еще раз на этой неделе.
ytjohn
У меня 4.7.3 едет. Я не пробовал свой путь через разные драйверы nouveau / nvidia, но у него была та же проблема с 4.7.3 + nouveau.
ytjohn
Спасибо за вашу помощь. Оказалось, проблема с подсветкой, упомянутая выше. Ожидается исправление ядра, но это все еще WIP. en.community.dell.com/techcenter/os-applications/f/4613/p/…
ytjohn
У тебя было много проблем, и я не могу вспомнить все, о чем я думал 9 дней назад. Я думаю, что после того, как вы решите большинство из них, вы должны очистить этот пост как решенный и начать пост с любыми новыми проблемами. Есть немало проблем и решений с Nvidia и Nouveau. Я еще не играл с ними, так как все еще настраиваю 6 различных и полдюжины способов приостановить / возобновить.
WinEunuuchs2Unix
0

Это проблема BIOS. После возобновления управление яркостью нарушается, и дисплей работает только на полной яркости или выключен.

Обойти эту проблему можно с помощью сочетания клавиш, который устанавливает максимальную яркость дисплея. Клавиши нормальной яркости, которые регулируют яркость на один шаг, не будут работать. (это работает для меня)

Вы можете исправить это, вернувшись к более старой версии BIOS, с некоторыми компромиссами, описанными здесь . (Я не пробовал это)

nloewen
источник
Я не вижу, как сделать ярлык для яркости дисплея там, но поиск вокруг этого, кажется, проблема. Можете ли вы поделиться настройкой ярлыка?
ytjohn
1
en.community.dell.com/techcenter/os-applications/f/4613/p/… Это решило это для меня! Если вы можете взять скрипт hsahmed и комментарий «сохранить его в / lib / systemd / system-sleep / fixbacklight» и опубликовать его здесь, я приму ваш ответ.
ytjohn
Этот сценарий может даже свести на нет необходимость горячей клавиши.
ytjohn
Я использую свет для управления своей подсветкой. Итак, я использую, light -S 100чтобы установить свою подсветку на 100%. Я не уверен, какие инструменты Ubuntu установил по умолчанию.
ноября
0

Я столкнулся с той же проблемой на моем Dell Inspiron 15 7559. Он работал хорошо в течение нескольких дней, после чего эта проблема возникла.

ИСПРАВИТЬ :

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

Перезагрузитесь и перейдите к дополнительным настройкам в меню grub. Проверьте разные версии ядра, которые у вас есть. Попробуйте загрузить каждую из этих версий отдельно и использовать функцию приостановки и проверить, в какой версии приостановка работает так, как должна. Кроме того, проверяйте приложение настроек сервера nvidia при каждой загрузке, так как изменение версии ядра отключило nvidia (режим производительности) для меня. Если он отключен, проверьте режим nvidia> logout> login>, затем снова используйте suspend, чтобы проверить, работает ли он.

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

Ахил Кумар
источник