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

Материал из ALT Linux Wiki
 
(не показано 26 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{stub}}
{{stub}}
=== Введение ===
== Введение ==




Строка 6: Строка 6:


Для этого надо при загрузке передать ядру параметр работы его работы. Обычно для этого в lilo или в grub задаётся параметр VGA из следующеёй таблицы:
Для этого надо при загрузке передать ядру параметр работы его работы. Обычно для этого в lilo или в grub задаётся параметр VGA из следующеёй таблицы:
=== Задание режима через lilo ===
Для задания режима в lilo, надо добавить к параметрам передаваемым ядру параметр VGA с заданным значением, например:
<source lang=text>
image="/boot/vmlinuz"
        label="ALTLinux4.1"
        initrd="/boot/initrd.img"
        root="UUID=28c12a86-fbfc-4d94-8824-284bd3e2fdb5"
        vga="0x31b"
</source>
=== Задание режима через grub2 ===
* Первый вариант (уже как правило не работает), как пример добавляем в переменную параметр vga=0x314
<syntaxhighlight lang="text">
GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314'
</syntaxhighlight>
* Второй вариант - использование переменных <ref>[https://www.gnu.org/software/grub/manual/grub/html_node/index.html GNU GRUB Manual 2.12]</ref> '''gfxmode''' и '''gfxpayload'''
=== Стандартные режимы fbdev ===
=== Стандартные режимы fbdev ===
Стандартные режимы fbdev в 16-ном виде
Стандартные режимы fbdev в 16-ном виде
Строка 69: Строка 48:




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


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


Если задать параметр в настройках lilo строчку
<source lang=text>
vga=ask, то lilo выдаст все параметры, поддерживаемые монитором (для этого надо еще при загрузке выдать команду scan).
image="/boot/vmlinuz"
        label="ALTLinux4.1"
        initrd="/boot/initrd.img"
        root="UUID=28c12a86-fbfc-4d94-8824-284bd3e2fdb5"
        vga="0x31b"
</source>




Список всех разрешений поддерживаемых данным монитором можно получить, выполнив следующую команду:
== Задание режима через grub2 ==
* Первый вариант (уже как правило не работает), как пример добавляем в переменную параметр vga=0x314. Этот параметр не работает напрямую с 64-битным ядром Linux архитектуры x86, так как grub использует 32-битный протокол загрузки.
<syntaxhighlight lang="text">
GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314'
</syntaxhighlight>


<tt># hwinfo --framebuffer</tt>
* Второй вариант - использование переменных <ref>[https://www.gnu.org/software/grub/manual/grub/html_node/index.html GNU GRUB Manual 2.12]</ref> '''gfxmode''' и '''gfxpayload'''
{{Note |Поддерживаемые режимы grub можно получить командой videoinfo из терминала grub.}}


Если ничего не показало, значит, надо установить hwinfo:
* Параметра '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
<syntaxhighlight lang="text">
GRUB_TERMINAL_OUTPUT='gfxterm'
GRUB_GFXMODE='1920x1080,auto'
GRUB_GFXPAYLOAD_LINUX='keep'
</syntaxhighlight>
 
 
== Поддерживаемые монитором разрешения ==
 
* Если задать параметр в настройках lilo строчку vga=ask, то lilo выдаст все параметры, поддерживаемые монитором (для этого надо еще при загрузке выдать команду scan).
* Список всех разрешений поддерживаемых данным монитором можно получить, выполнив следующую команду:
<syntaxhighlight lang="bash">
# hwinfo --framebuffer<pref>по какой-то причине эта команда не всегда работает</pref>
</syntaxhighlight>
* Если команда не найдена, значит, надо установить пакет hwinfo:
<syntaxhighlight lang="bash">
# apt-get update; apt-get install hwinfo
</syntaxhighlight>
* Получение возможных видеорежимов с помощью консольной команды  grub  '''videoinfo'''.
Для того, чтобы попасть в консоль grub, надо нажать кнопку '''с''' (латинская), другой вариант - кнопка '''e'''  и потом нажать '''F2'''.
После попадания в консоль grub, даём команду '''videoinfo''', которая тестирует и выдаёт возможные режимы работы графической консоли grub (соответственно режимы работы фреймбуфера ядра Linux).


<tt># apt-get update; apt-get install hwinfo</tt>
[[Файл:Fremebuffer grub.png|600x800px|центр]]


[[Файл:Fremebuffer grub.png|безрамки|слева]]
== Ссылки ==
* https://www.opennet.ru/base/X/framebuffer_setup.txt.html
* https://www.gnu.org/software/grub/manual/grub/html_node/index.html
[[Категория:HOWTO]]


=== Ссылки ===
== Примечания ==
https://www.opennet.ru/base/X/framebuffer_setup.txt.html

Текущая версия от 19:46, 26 февраля 2024

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

Ссылки

Примечания