Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents


5. Аргументы загрузки для драйверов буфера видео-фреймов

The `video=' argument (not avail. in v2.0 kernels) is used when the frame buffer device abstraction layer is built into the kernel. If that sounds complicated, well it isn't really too bad. It basically means that instead of having a different video program (the X11R6 server) for each brand of video card (e.g. XF86_S3, XF86_SVGA, ...), the kernel would have a built in driver available for each video card and export a single interface for the video program so that only one X11R6 server (XF86_FBDev) would be required. This is similar to how networking is now - the kernel has drivers available for each brand of network card and exports a single network interface so that just one version of a network program (like Netscape) will work for all systems, regardless of the underlying brand of network card.

Аргумент `video=' (не доступен в ядрах v2.0) используется, когда слой (уровень) абстракции устройства буфера фреймов втроен в ядро. Если это звучит слишком сложно, это не так уж и плохо. В основном, это означает, что вместо наличия разных видеопрограмм (сервер X11R6) для каждого брэнда видеокарты (т.е. XF86_S3, XF86_SVGA, ...), ядро имеело бы встроенный драйвер для каждой видеокарты и экспортировало бы единственный интерфейс для видеопрограмм, так чтобы требовался только один сервер X11R6 (XF86_FBDev). Это похоже на то, как сейчас работает сеть - ядро имеет драйверы для каждого брэнда сетевой карты и экспортирует единственный сетевой интерфейс, так чтобы для всех систем работала всего лишь одна версия сетевой программы (типа Netscape), независимо от марки сетевой карты.

Типичный формат этого аргумента video=name:option1,option2,..., где name - название универсальной опции или драйвера буфера фреймов. Опция video= передается от linux/init/main.c в linux/drivers/video/fbmem.c для дальнейшей обработки. Здесь она проверяется на некоторые универсальные опции перед попыткой сравнения с известным именем драйвера. Как только найдено совпадающее имя драйвера список параметров, разделенных запятыми, передаются в этот конкретный драйвер для окончательной обработки. Список допустимых имен драйверов можно найти чтением массива fb_drivers в файле fbmem.c, упомянутом выше.

Информацию по опциям, поддерживаемым каждым драйвером, можно найти в linux/Documentation/fb/, а всего лишь несколько текущих (v2.2) описаны здесь. К сожалению, количество видеодрайверов и количество опций для каждого из них - тема уже другого документа, так как их слишком много, чтобы перечислять здесь.

Если для вашей карты нет файла документации, вы должны будете получить информацию об опциях непосредственно из драйвера. Идите в linux/drivers/video/ и посмотрите соответствующий файл ???fb.c (где ??? будет взять из названия карты). В нем найдите функцию с _setup в ее имени и вы увидите какие опции драйвер пытается найти, такие как font или mode или ...

5.1 Аргумент `video=map:...'

This option is used to set/override the console to frame buffer device mapping. A comma separated list of numbers sets the mapping, with the value of option N taken to be the frame buffer device number for console N.

Эта опция используется для установки/переустановки консоли отображения устройства буфера фреймов. Список номеров, разделенных запятыми, устанавливает распределение, со значением опции N взятой номером устройства буфера фреймов для консоли N.

5.2 Аргумент `video=scrollback:...'

Число после двоеточия устанавливает размер памяти, выделенной для буфера прокрутки (scrollback). (Для прокрутки используются клавиши Shift и PageUp или Page Down.) Суффикс `k' или `K' после числа указывает, что число представляет килобайты, а не байты.

5.3 Аргумент `video=vc:...'

Число или диапазон чисел (т.е. video=vc:2-5) определяет первую или первую и последнюю виртуальную консоль(ли) буфера фреймов. Использование этой опции также не дает использовать консоль буфера фреймов в качестве консоли по-умолчанию.


Next Previous Contents