Последнее обновление 14.12.10 08:03 Добавил(а) Vinnie
Как известно, благими намерениями вымощена дорога в ад. Пользователям различных дистрибутивов 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
Теперь перегружаем компьютер и наслаждаемся новой исправленной заставкой!

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




Cairo и Cairo-dock с поддержкой аппаратной акселерации






Комментарии
>>sudo update-unitramfs -u
вместо
sudo update-initramfs -u
Спасибо за статью!
Код
sudo update-unitramfs -u "
надо sudo update-initramfs -u
sudo update-шnitramfs -u
А надо:
sudo update-initramfs -u
Спасибо, исправил.
ВНЕ ДИАПАЗОНА
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
RSS лента комментариев этой записи