Режимы работы фреймбуфера

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Введение

При использовании терминальной консоли, а так-же при использования драйвера fbdev в X-сервере, бывает нужно задать разрешение, в котором работает фреймбуфер.

Для этого надо при загрузке передать ядру параметр работы его работы. Обычно для этого в lilo или в grub задаётся параметр VGA из следующеёй таблицы:

Стандартные режимы fbdev

Стандартные режимы fbdev в 16-ном виде

Кол-во цветовЧисло бит640x480800x6001024x7681280x10241440x9001600x1200
25680x3010x3030x3050x3070x3600x31c
32k150x3100x3130x3160x3190x3610x31d
64k160x3110x3140x3170x31A0x3620x31e
16M240x3120x3150x3180x31B0x3630x31f

или в 10-чном:

Кол-во цветовЧисло бит640x480800x6001024x7681280x10241440x9001600x1200
2568769771773775864796
32k15784787790793865797
64k16785788791794866798
16M24786789792795867799


Задание режима через lilo

Для задания режима в lilo, надо добавить к параметрам передаваемым ядру параметр VGA с заданным значением, например:

image="/boot/vmlinuz"
        label="ALTLinux4.1"
        initrd="/boot/initrd.img"
        root="UUID=28c12a86-fbfc-4d94-8824-284bd3e2fdb5"
        vga="0x31b"


Задание режима через grub2

  • Первый вариант (уже как правило не работает), как пример добавляем в переменную параметр vga=0x314. Этот параметр не работает напрямую с 64-битным ядром Linux архитектуры x86, так как grub использует 32-битный протокол загрузки.
GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314'
  • Второй вариант - использование переменных [1] gfxmode и gfxpayload
Примечание: Поддерживаемые режимы grub можно получить командой videoinfo из терминала grub.


  • Параметра 'GRUB_GFXMODE' задаёт значение переменной gfxmode, которая определяет разрешение монитора в графическом терминале grub. Устанавливает разрешение, используемое в графическом терминале grub. Можно использовать только те режимы, которые поддерживает видеокарта через расширения VESA BIOS (VBE), поэтому, например, собственное разрешение ЖК-панели может быть недоступно. По умолчанию - режим 'auto', который пытается выбрать разрешение автоматом.

Возможные значения:

  • Напрямую заданные режимы. Разрешения задаются в виде ширина x высота или ширина x высота x глубина разделённые через запятую или точку с запятой. Заданные режимы проверяются слева направо.
  • auto1080p - выбор режима Full HD
  • auto - автоматический выбор видеорежима.

Параметр GRUB_GFXPAYLOAD_LINUX задаёт значение параметра gfxpayload, которая определяет с какими параметрами будет загружаться ядро Linux, заменяя режим vga. Возможные значения:

  • text - ядро загружается в станадартном текстовом режиме (vga=normal).
  • keep - ядро загружается в текущем режиме консоли GRUB.
  • режимы, задаваемые напрямую, аналогично gfxmode.

Пример задания параметров grub в /etc/sysconfig.grub2

GRUB_TERMINAL_OUTPUT='gfxterm'
GRUB_GFXMODE='1920x1080,auto'
GRUB_GFXPAYLOAD_LINUX='keep'


Поддерживаемые монитором разрешения

  • Если задать параметр в настройках lilo строчку vga=ask, то lilo выдаст все параметры, поддерживаемые монитором (для этого надо еще при загрузке выдать команду scan).
  • Список всех разрешений поддерживаемых данным монитором можно получить, выполнив следующую команду:
# hwinfo --framebuffer<pref>по какой-то причине эта команда не всегда работает</pref>
  • Если команда не найдена, значит, надо установить пакет hwinfo:
# apt-get update; apt-get install hwinfo
  • Получение возможных видеорежимов с помощью консольной команды grub videoinfo.

Для того, чтобы попасть в консоль grub, надо нажать кнопку с (латинская), другой вариант - кнопка e и потом нажать F2. После попадания в консоль grub, даём команду videoinfo, которая тестирует и выдаёт возможные режимы работы графической консоли grub (соответственно режимы работы фреймбуфера ядра Linux).

Fremebuffer grub.png

Ссылки

Примечания