- +

Автор: _PG_ Тема: После обновления ядра на экране мусор на левых 3/4 экрана  (Прочитано 393 раз)

Оффлайн _PG_

  • Начинающий
  • *
  • Сообщений: 6
  • Репутация: +0/-0
    • Просмотр профиля
Ноутбук ASUS EEE 1003 HAG

На ноутбук установлена начисто Xubuntu 16.04.3 LTS.

Обновление компонентов после установки я всегда проводил через apt-get (update/upgrade), а вот графическое окно с предложением обновления игнорировал (отменял), полагая, что это то же самое, только в другой форме.

По видимому, я ошибался, потому что сегодня, когда я согласился выполнить обновление именно в среде gui, была в числе прочего обновлена версия ядра (с 4.10.0-38-generic до 4.13.0-26-generic), и теперь после перезагрузки система доходит до запроса логина-пароля, после ввода которых не отрисовывает левую половину рабочего стола графической оболочки. Видно, что  окна отрисовываются, так, например, виден правый кончик диалогового окна завершения работы системы, если его вызвать, но всё что находится в левых 3/4 экрана - порублено в попиксельную лапшу.

Та же картина наблюдается и при переключении в другие терминалы (Ctrl-Alt-F1).

Перезагрузка не помогает, проблема сохраняется.

Если при загрузке использовать расширенное меню загрузки и выбрать там старое ядро, то проблема устраняется.

Если через расширенное меню загрузиться с новым ядром, но в режиме Recovery Mode, то выскакивает текстовое меню на русском языке квадратиками (ни одно сообщение прочитать нельзя), и если там выбрать пункт меню Resume, происходит загрузка системы, но разрешение экрана сильно понижено, явно не нативное.

Вопросов три:
1) Как я понимаю, надо срыть ядро 4.10.0-38 и сделать так, чтобы при обновлении система больше не пыталась его установить. Как это правильно сделать?

2) Хорошо бы сообщить разработчикам ядра о том, что присутствует фатальная несовместимость между новым ядром и конкретным железом. Как это правильнее всего сделать? Как собрать информацию о моей видеокарте, в какой форме и куда эту информацию отправить? Есть форма с образцом обращения?

3) Хорошо бы сообщить сборщикам дистрибутива о том, что присутствует конфликт между загрузкой шрифтов и русификацией меню Recovery Mode. Либо загрузка шрифтов не проходит вовсе, либо не проходит вовремя. Как это правильнее всего сделать? Может ли кто-нибудь из присутствующих проверить наличие проблемы у себя и в случае подтверждения написать разработчикам по требуемой форме? Буду благодарен.

Оффлайн denkin

  • Global Moderator
  • Старожил
  • *****
  • Сообщений: 1493
  • Репутация: +73/-2
    • Просмотр профиля
Приветствуем вас на форуме!
Во первых хочу подчеркнуть: нет никакой принципиальной разницы обновление проводить через терминал или с помощью GUI. Просто полное обновление через терминал проводится двумя командами:
sudo apt get upgrade && sudo apt get full-upgrade
Что касается ответов на вопросы:
1. Можно зафиксировать версию пакета, например через synaptic или командой:
sudo apt-mark hold имя_пакета
после чего удалить ненужное ядро
2. Для сообщения об ошибках сушествует такой способ:
ubuntu-bug имя_пакета
в вашем случае это новое ядро. Но так же потребуется кратко описать суть проблемы.
3. Уж не знаю почему, но именно команда Canonical постоянно ломает нормальную работу неанглийских локалей в ядре. Могу посоветовать в таких случаях выполнить команду:
setupcon -f
это исправит проблемы с локалью, но только до перезагрузки. Полное исправление делается по разному для разных версий Ubuntu. У меня когда то сработало так:
cd /lib/systemd/system
sudo cp systemd-vconsole-setup.service systemd-vconsole-setup.service.bak
sudo nano systemd-vconsole-setup.service
Исправить строку так:
ExecStart=/bin/setupcon

Оффлайн _PG_

  • Начинающий
  • *
  • Сообщений: 6
  • Репутация: +0/-0
    • Просмотр профиля
Боюсь, что я не получил ответа ни на один из своих вопросов.

Первый вопрос был "как удалить новое ядро и сделать чтобы при загрузке новых обновлений ядро не обновлялось".
Общую мысль "надо заблокировать версию пакета" я понял, но, к сожалению, мне нужна конкретная пошаговая инструкция:
- Какой пакет отвечает за обновление ядер? Как определить его название?
- Как сделать чтобы новая, некорректная версия - удалилась, а старая корректная сохранилась?
- Как сделать чтобы загрузочное меню скорректировалось в соответствии с предыдущим пунктом?
- Как заблокировать обновление для этого пакета на предпоследней версии?

Второй вопрос был "Как отрапортовать об ошибке в новом ядре?"
Нужна пошаговая инструкция:
- Как определить название нужного пакета? (задача идентична первому шагу из первого вопроса)
- Как отправить отчёт об ошибке по конкретному пакету я понял. Очевидно, на английском языке. А вот есть ли какой-то типовой шаблон для таких отчётов?
- Как включить в отчёт об ошибке перечень установленного у меня железа, чтобы дать разработчикам конкретное ядро и конкретную видеокарту, несовместимые друг с другом?

Третий вопрос был "как отрапортовать сборщикам дистрибутива об ошибке с юникодом в загрузочном меню?"
- Консольные команды для загрузки шрифтов бесполезны, если ты находишься в автоматически загруженном Recovery Menu
- Инструкцию "как пофиксить" я попробую, но важнее было бы не пофиксить, а донести сам факт существования проблемы до сборщиков дистрибутива. Как это лучше сделать?

Оффлайн _PG_

  • Начинающий
  • *
  • Сообщений: 6
  • Репутация: +0/-0
    • Просмотр профиля
Вдогонку:
Я думал, что apt-get full-upgrade нужно только для обновления версии дистрибутива, а ядра обновляются и при обычном apt-get upgrade. Это не так?

Оффлайн butjapka

  • Global Moderator
  • Старожил
  • *****
  • Сообщений: 1222
  • Репутация: +118/-0
  • Xubuntu 16.04 LTS
    • Просмотр профиля
_PG_ ответы вы получили, по крайней мере куда копать уже известно, остальное посмотрите по ссылке, можете перечитать полностью статью, очень поучительно
« Последнее редактирование: Январь 21, 2018, 20:12:58 от butjapka »

Оффлайн denkin

  • Global Moderator
  • Старожил
  • *****
  • Сообщений: 1493
  • Репутация: +73/-2
    • Просмотр профиля
apt full-upgrade
это аналог команды
apt-get dist-upgrade
которая обновляет версии пакетов
apt upgrade
или
apt-get upgrade
устанавливает "обычные" (минорные) обновления
обновление дистрибутива проводится командой
sudo do-release-upgrade
кажется