Что можно делать в расширенном видео режиме:
- Изменять
разрешение экрана и следовательно
консоль не ограничена 80x25;
- Просматривать изображения (с помощью
драйвера svgalib);
- Вертикальный скролинг консоли —
клавишами вверх и вниз;
- Создавать скриншоты и сохранять их в графические файлы;
- Просматривать видео в консоли с помощью драйвера svgalib.
Для того чтобы в консоли были доступны настройки расширенного видео режима необходимо пересобрать ядро с соответствующими опциями.
Замечания:
- Исходники ядра должны быть установлены.
- Материалов по сборке ядра с поддержкой расширенного видео режима в интернете довольно много, поэтому я ограничусь скромным описанием этого процесса.
Пересборка ядра FreeBSD с опциями расширенного видео режима
Копируем файл настроек:
#: cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/NEWKERNEL
Редактируем (папка i386 ест-но должна соответствовать вашей архитектуре):
#: vi /usr/src/sys/i386/conf/NEWKERNEL
Добавляем для включения расширенного видеорежима:
options VESA
options SC_PIXEL_MODE
Ну и собственно собираем
#: make buildkernel KERNCONF=NEWKERNEL && make installkernel KERNCONF=NEWKERNEL
Перезагрузка системы и проверяем (собственно смотрим, какие видеорежимы имеются):
#: vidcontrol -i mode
Устанавливаем видео режим:
#: vidcontrol MODE_282
Если хотим, чтобы после перезагрузки настройка видеорежима сохранилась, добавляем в:
#: vi /etc/rc.conf
строку с полюбившимся видеорежимом
allscreens_flags="MODE_282"
Посты о сборке ядра:
http://msnp.ru/126
http://noted.org.ua/255
Устанавливаем svgalib, zgv
Для просмотра изображений понадобится библиотека для работы с графикой svglib
#: cd /usr/ports/graphics/svgalib
#: make configure
#: make
#: make install
#: make clear
Устанавливаем просмотрщик zgv использующий svgalib:
либо устанавливаем порт /usr/ports/graphics/zgv
либо закачиваем пакет:
#: pkg_add -r zgv
Ссылки:
Официальный сайт проекта svgalib и zgv
Описание работы с zgv
Вертикальный скролинг консоли
При активированном расширенном видеорежим в консоли FreeBSD доступен скролинг при выключенном Scroll Lock.
Скролинг вниз — нижняя стрелка
Скролинг вверх — верхняя стрелка
Скриншоты
См.
http://www.i2r.ru/static/282/out_8790.shtml
Установка программного обеспечения для просмотра видео в консоли
Потребуется установить svgalib и ее пакет разработки, чтобы MPlayer собрал свой SVGAlib драйвер (определяется автоматически, но можно включить принудительно), и отредактировать /etc/vga/libvga.config в соответствии с вашей картой и монитором.
Настройка svgalib
Запустив на воспроизведение файл увидел что часть изображения не влезает на экран.
На самом деле мне еще повезло! И это по нескольким причинам:
- Svga драйвер поддерживает мою видеокарту (svgalib похоже давно уже не поддерживается);
- Настройки по умолчанию позволили хоть что-то увидеть.
Настройки svgalib хранятся в файле /usr/local/etc/vga/libvga.config. В котором необходимо подобрать частоту (это влияет и на качество отображения).
Как я понял из немного численных источников по настройке драйвера svgalib, разрешение экрана и будет ли вообще отображение помещаться на экране определяется заданной частотой развертки монитора.
В файле libvga.config частота развертки монитора задаются, следующими строками:
HorizSync min_kHz max_kHz
VertRefresh min_Hz max_Hz
Пример:
HorizSync 31.5 35.5
VertRefresh 50 70
Так же можно задать частоту развертки, через параметр monitor:
monitor monitor_class
Где monitor_class — число от 0 до 6 или максимальная горизонтальная частота в кГц(kHz). Примеры:
monitor 0 # Max horizontal sync is 31.5 kHz
monitor 1 # Max horizontal sync is 35.1 kHz
monitor 2 # Max horizontal sync is 35.5 kHz
monitor 3 # Max horizontal sync is 37.9 kHz
monitor 4 # Max horizontal sync is 48.3 kHz
monitor 5 # Max horizontal sync is 56.0 kHz
monitor 6 # No restrictions.
Небольшое пояснение по тому какие параметры задавать monitor или же HorizSync c VertRefresh:
«For your convenience you may specify the max horizontal sync explicitly. The correct class will the be chosen. You may use floats consisting of digits and a decimal point for this too:
monitor 40.0 # equivalent to monitor 3
This command is privileged.»
Источник:
http://linux.die.net/man/5/libvga.config
Просмотр Видео в Консоли
Подготовка подготовка программного обеспечения
Для просмотра видео будет использоваться svga драйвер поэтому прийдется:
- установить из исходных кодов svgalib (/usr/ports/graphics/svgalib) (см. выше);
- установить из исходников mplayer (в опциях указать svga, а драйверы использующие x11 можно не отмечать).
Запуск файла на воспроизведение в mplayer:
#: mplayer -vo svga path.avi
Настройка Mplayer
Запуск файла на воспроизведение в mplayer:
#: mplayer -vo svga path.avi
Для того чтобы не набирать каждый раз опции mplayer в консоли можно настроить его с помощью файла ~/.m[layer/config
vo=svga
Настройка и регулирование звука в Mplayer - клавиши «0» и « /» , диапазон можно увеличить подняв mixer vol до 100 (см.
звук в FreeBSD).
Про сохранение уровня громкости:
http://www.daemony.ru/?p=1170
Кэширование воспроизведения видео.
Ключи для кэширования в molayer:
-cache 8912
-cache-min 4
ключ cache задает кэш в 8MB, а ключ cache-min - кэш должен быть заполнен минимум на 4% перед началом.
Просмотр видео по локальной сети.
Если возникает потребность посмотреть фильм с другого компьютера, то можно воспользоваться ssh. Команда:
#: ssh user@ip.adres "cat path/to/movie.avi" | mplayer -
Дефис в конце обязателен
П.С.
Настройкой FreeBSD для просмотра видео в консоли я занимался летом 2011 года. И с того момента сделал несколько наблюдений. Видео драйвер svgalib уже не поддерживается и не обеспечивает достаточной производительности для просмотра dvd рипов размером около 1,5 Гб на процессоре pentium 2 (Наблюдалось расхождение звукового и видео ряда по времени). Поэтому от повседневного использования mplayer на маломощных конфигурациях я отказался.