суббота, 12 января 2013 г.

High resolution console

В отличие от линукса, FreeBSD несколько по другому подходит к организации системной консоли (syscons).

И если в линуксе для того чтобы получить нормальное разрешение нужно настраивать framebuffer, то во фре подход совсем другой.

До FreeBSD версии 9.0 для этого требовалось пересобирать ядро, предварительно добавив туда две опции:


options   VESA            # монолитно собрать с модулем VESA

options   SC_PIXEL_MODE   # syscons начнет взаимодействовать с
                          # пикселями а не с текстом

Вообщем то vesa можно было и не включать в ядро, а просто подгружать каждый раз модулем:

echo 'vesa_load="YES"' >> /boot/loader.conf

А теперь, начиная с версии 9.0, стандартное GENERIC ядро уже собрано с этими опциями.

Остается только запустить 

vidcontrol -i mode 
чтобы узнать какие разрешения поддерживаются, затем протестировать выбранный режим

vidcontrol MODE_280

и если все устраивает добавить его в /etc/rc/conf

echo 'allscreens_flags="MODE_280"' >> /etc/rc.conf

После этого системная консоль становится вполне удобной.

Кроме того есть возможность применить более высокое разрешение во время загрузки, получив вывод сообщений ядра в более компактном виде.
Для этого нужно в /boot/device.hints к стандартным флагам драйвера syscons добавить значение 0x80:

hint.sc.0.flags="0x180"

и дописать режим, без префикса "MODE"

hint.sc.0.vesa_mode="280"


Естественно не забыв при этом убрать allscreens_flags из /etc/rc.conf

Комментариев нет:

Отправить комментарий