Четверг, Февраль 23, 2012
Авторизация
26
Окт
2010

Ремонтируем экран загрузки в Maverick

(10 Голосов)

Как известно, благими намерениями вымощена дорога в ад. Пользователям различных дистрибутивов Linux, судя по сообщениям в "багзилле" и других списках рассылки, не нравится частое мерцание экрана при загрузке системы, связанное с переключением различных видеорежимов, сначала текстовый режим, затем framebuffer, затем графический режим X-Window. В новых версиях Ubuntu, начиная с 10.04 попытались наконец решить эту проблему,  Для этого в ядро включен новый механизм - Kernel Mode-Setting (переключение режимов на уровне ядра). Он позволяет переключаться между видеорежимами плавно и незаметно для пользователя. К сожалению, для работоспособности этого метода требуется его поддержка драйвером видеоадаптера. Все открытые драйверы уже имеют эту поддержку, в отличии от проприетарных драйверов NVidia и AMD. По этой причине, при переключении на использование проприетарного драйвера в Ubuntu 10.04 появляется уродливая заставка в разрешении CGA, а в Ubuntu 10.10 загрузчик вообще переключается в псевдографический режим. В результате пользователи, обновившие систему до новейшей версии, винят разработчиков из Canonical (которые пошли навстречу их пожеланиям) и лично Шатлворта во всех смертных грехах. Хотя в этом нет их вины - во всем виновата закрытая модель разработки, присущая таким гигантам, как NVidia и AMD.

Далее я расскажу, как исправить описанную ситуацию (информация позаимствована из этой статьи).

Настроим загрузчик таким образом, чтобы он использовал для фреймбуфера стандартные режимы VESA при помощи драйвера uvesafb. Сначала установите драйвер v86d. Он обеспечивает вызов функций BIOS для переключения видеорежимов драйвером uvesafb. Зайдите в окно терминала и введите команду:

 

Код
sudo apt-get install v86d

Затем добавьте в файл /etc/initramfs-tools/modules следующую строку:

Код
uvesafb mode_option=1280x1024-24 mtrr=3 scroll=ywrap

Это параметры ядра, передаваемые начальному загрузчику initrd. Замените при необходимости параметр 1280x1024 на родное разрешение Вашего монитора.

Затем создайте файл /etc/initramfs-tools/conf.d/splash со следующим содержимым:

Код
FRAMEBUFFER=y

Для этого можно воспользовать следующую команду:

Код
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash

Этот параметр указывает на необходимость при сборке начального загрузчика initrd включать в файл загрузчика драйвер VESA-режимов. После этого надо пересобрать образ загрузчика следующей командой:

Код
sudo update-initramfs -u

Теперь Ваш загрузчик готов к использованию VESA-режима. Осталось сообщить ядру о предпочтительных параметрах загрузки. Откройте в любом текстовом редакторе файл /etc/default/grub и замените следующую строку:

Код
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

на строку:

Код
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap"

Данная строка указывает загрузчику при автоматическом формировании файла конфигурации grub.conf добавлять указанные параметры ядра по умолчанию. Параметр nomodeset отключает злополучный KMS. Параметр video указывает на использование при загрузке драйвера vesafb в режиме разрещения 1280x1024 глубина цвета 24 бит (замените на свое разрешение). Далее замените следующую строку:

Код
#GRUB_GFXMODE=640x480

на строку:

Код
GRUB_GFXMODE=1280x1024

Это позволит установить аналогичный графический режим в меню выбора операционной системы GRUB. Теперь дадим команду загрузчику GRUB переформировать файл настроек grub.cfg:

Код
sudo update-grub2

Теперь перегружаем компьютер и наслаждаемся новой исправленной заставкой!

 

Автор статьи :
Vinnie
 
Нравится статья
Обсуждение статьи в форуме
Обновить сообщения
Re: Ремонтируем экран загрузки в Maverick ( iXPEH )
Суббота, 06 Ноябрь 2010 21:03
Спасибо, уже попробовал - работает, делал все как написано только без команд для Gruba-а. Теперь заменю тему загрузчика по вашей инструкции, дефолтная уж больно страшная :)  Руки еще с апреля чешутся.
Re: Ремонтируем экран загрузки в Maverick ( admin )
Суббота, 06 Ноябрь 2010 20:38
Цитата:

Я сижу на 10.04 и Grub у меня пока первый, на второй переходить не стал, т.к. начитался статей про его нестабильность. Но вот splash screen страдает такой же бедой. Вопрос - данное лекарство применимо для 10.04 в связке с певым Grub-ом?

Без разницы, какой загрузчик - главное правильно прописать параметры ядра. Так что данный рецепт подойдет и для 10.04.
Re: Ремонтируем экран загрузки в Maverick ( iXPEH )
Суббота, 06 Ноябрь 2010 20:14
Я сижу на 10.04 и Grub у меня пока первый, на второй переходить не стал, т.к. начитался статей про его нестабильность. Но вот splash screen страдает такой же бедой. Вопрос - данное лекарство применимо для 10.04 в связке с певым Grub-ом?

Зарегистрируйтесь, чтобы оставить сообщение

Комментарии  

 
0 # RE: Ремонтируем экран загрузки в Maverickecho 13.11.2010 18:23
Премного благодарствую, теперь все в норме :lol:
Ответ | Ответить с цитатой | Цитировать
 
 
0 # RE: Ремонтируем экран загрузки в Maverickalext 20.11.2010 08:41
У вас ошибка
>>sudo update-unitramfs -u

вместо
sudo update-initramfs -u

Спасибо за статью!
Ответ | Ответить с цитатой | Цитировать
 
 
0 # Ошибка в статьеA1ecs 21.11.2010 12:32
Там где "После этого надо пересобрать образ загрузчика следующей командой:
Код
sudo update-unitramfs -u "
надо sudo update-initramfs -u
Ответ | Ответить с цитатой | Цитировать
 
 
0 # RE: Ремонтируем экран загрузки в Mavericksilver 22.11.2010 23:57
sudo update-unitramfs -u замени на
sudo update-шnitramfs -u
Ответ | Ответить с цитатой | Цитировать
 
 
0 # RE: Ремонтируем экран загрузки в MaverickFeuer 24.11.2010 09:19
Спасибо за статью, всё работает, единственное уточнение - команда sudo update-initramfs -u
Ответ | Ответить с цитатой | Цитировать
 
 
0 # Опечатка в командеАнастасия 25.11.2010 23:19
>sudo update-unitramfs -u

А надо:

sudo update-initramfs -u

:D
Ответ | Ответить с цитатой | Цитировать
 
 
0 # RE: Опечатка в командеVinnie 14.12.2010 08:06
Цитирую Анастасия:
>sudo update-unitramfs -u

А надо:

sudo update-initramfs -u

:D

Спасибо, исправил.
Ответ | Ответить с цитатой | Цитировать
 
 
0 # Не сработалоeNdiD 17.02.2011 15:57
Сделал все по инструкции, разрешение выставил свое 1440х900, но вместо экрана GRUB я вижу на черном экране в синей рамке сообщение:

ВНЕ ДИАПАЗОНА
90,0 kHz / 60Hz

То же самое происходит и на сплэше:

ВНЕ ДИАПАЗОНА
75,0 kHz / 60Hz

Что я делаю не так?
Ответ | Ответить с цитатой | Цитировать
 
 
0 # RE: Не сработалоVinnie 21.02.2011 11:20
Цитирую eNdiD:
Сделал все по инструкции, разрешение выставил свое 1440х900, но вместо экрана GRUB я вижу на черном экране в синей рамке сообщение:

ВНЕ ДИАПАЗОНА
90,0 kHz / 60Hz

То же самое происходит и на сплэше:

ВНЕ ДИАПАЗОНА
75,0 kHz / 60Hz

Что я делаю не так?


Режим VESA не содержит в стандарте разрешение 1440x900. Чтобы узнать, какие разрешения поддерживаются Вашей видеокартой, введите команду:

hwinfo --vbe

которая выдаст на экран список всех доступных режимов. Например, у меня выдает следующее:

Resolution: 720x400@70Hz
Resolution: 640x480@60Hz
Resolution: 640x480@67Hz
Resolution: 640x480@72Hz
Resolution: 640x480@75Hz
Resolution: 800x600@60Hz
Resolution: 800x600@72Hz
Resolution: 800x600@75Hz
Resolution: 832x624@75Hz
Resolution: 1024x768@60Hz
Resolution: 1024x768@70Hz
Resolution: 1024x768@75Hz
Resolution: 1280x1024@75Hz
Resolution: 1152x864@75Hz
Resolution: 1280x1024@76Hz
Resolution: 1280x1024@60Hz
Resolution: 1280x1024@72Hz
Resolution: 640x350@60Hz
Resolution: 1280x1024
Resolution: 640x350
Max. Resolution: 1280x1024
Ответ | Ответить с цитатой | Цитировать
 
 
0 # RE: Ремонтируем экран загрузки в Maverickvcsasha 21.08.2011 00:40
Спасибо большое!
Ответ | Ответить с цитатой | Цитировать
 

Добавить комментарий


Защитный код
Обновить

Активность в форуме

Последние комментарии

Авторизация

Счетчик посетителей

245124
СегодняСегодня50
ВчераВчера398
За неделюЗа неделю1090
За месяцЗа месяц7305
ВсегоВсего245124

Случайная картинка


Spacedome
Spacedome