Режимы работы фреймбуфера: различия между версиями

Материал из ALT Linux Wiki
Строка 26: Строка 26:


* Второй вариант - использование переменных <ref>[https://www.gnu.org/software/grub/manual/grub/html_node/index.html GNU GRUB Manual 2.12]</ref> '''gfxmode''' и '''gfxpayload'''
* Второй вариант - использование переменных <ref>[https://www.gnu.org/software/grub/manual/grub/html_node/index.html GNU GRUB Manual 2.12]</ref> '''gfxmode''' и '''gfxpayload'''
** Параметра 'GRUB_GFXMODE' задаёт значение переменной '''gfxmode''', которая определяет разрешение монитора в графическом терминале grub. Устанавливает разрешение, используемое в графическом терминале grub. Можено использовать только те режимы, которые поддерживает видеокарта через расширения VESA BIOS (VBE), поэтому, например, собственное разрешение ЖК-панели может быть недоступно. По умолчанию - режим 'auto', который пытается выбрать разрешение автоматом. Поддерживаемые режимы grub можно получить командой videoinfo из терминала grub. Разрешения задаются в виде '''ширина''' x '''высота'''  или '''ширина''' x '''высота''' x '''глубина''' разделённые через запятую или точку с запятой. Заданные режимы проверяются слева направо.
** Параметра 'GRUB_GFXMODE' задаёт значение переменной '''gfxmode''', которая определяет разрешение монитора в графическом терминале grub. Устанавливает разрешение, используемое в графическом терминале grub. Можно использовать только те режимы, которые поддерживает видеокарта через расширения VESA BIOS (VBE), поэтому, например, собственное разрешение ЖК-панели может быть недоступно. По умолчанию - режим 'auto', который пытается выбрать разрешение автоматом. Поддерживаемые режимы grub можно получить командой videoinfo из терминала grub. Разрешения задаются в виде '''ширина''' x '''высота'''  или '''ширина''' x '''высота''' x '''глубина''' разделённые через запятую или точку с запятой. Заданные режимы проверяются слева направо.


** Параметр GRUB_GFXPAYLOAD_LINUX задаёт значение параметра '''gfxpayload''', которая определяет   
** Параметр GRUB_GFXPAYLOAD_LINUX задаёт значение параметра '''gfxpayload''', которая определяет с какими параметрами будет загружаться ядро Linux, заменяя режим vga. Возможные значения
*** '''text''' - ядро загружается в станадартном текстовом режиме (vga=normal)
*** '''keep''' - ядро загружается в текущем режиме консоли GRUB
*** напрямую заданный режим в формате ''ширина''' x '''высота''''''[ x глубина ]'''





Версия от 04:06, 26 февраля 2024

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

Введение

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

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

Задание режима через 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_GFXMODE' задаёт значение переменной gfxmode, которая определяет разрешение монитора в графическом терминале grub. Устанавливает разрешение, используемое в графическом терминале grub. Можно использовать только те режимы, которые поддерживает видеокарта через расширения VESA BIOS (VBE), поэтому, например, собственное разрешение ЖК-панели может быть недоступно. По умолчанию - режим 'auto', который пытается выбрать разрешение автоматом. Поддерживаемые режимы grub можно получить командой videoinfo из терминала grub. Разрешения задаются в виде ширина x высота или ширина x высота x глубина разделённые через запятую или точку с запятой. Заданные режимы проверяются слева направо.
    • Параметр GRUB_GFXPAYLOAD_LINUX задаёт значение параметра gfxpayload, которая определяет с какими параметрами будет загружаться ядро Linux, заменяя режим vga. Возможные значения
      • text - ядро загружается в станадартном текстовом режиме (vga=normal)
      • keep - ядро загружается в текущем режиме консоли GRUB
      • напрямую заданный режим в формате ширина x высота'[ x глубина ]


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

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

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

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

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

или в 10-чном:

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


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

Если задать параметр в настройках lilo строчку vga=ask, то lilo выдаст все параметры, поддерживаемые монитором (для этого надо еще при загрузке выдать команду scan).


Список всех разрешений поддерживаемых данным монитором можно получить, выполнив следующую команду:

# hwinfo --framebuffer

Если ничего не показало, значит, надо установить hwinfo:

# apt-get update; apt-get install hwinfo

Fremebuffer grub.png

Ссылки

https://www.opennet.ru/base/X/framebuffer_setup.txt.html