📑 Изменение разрешения экрана и шрифтов в консоли Ubuntu
Иногда, особенно при настройке сервера, работа в консоли Linux Ubuntu, мягко говоря, не совсем удобна — разрешение экрана по умолчанию 640х480 при убогом шрифте 16-го размера. Это изрядно раздражает.
Можно уcтановить разрешение экрана в зависимости от видеокарты и монитора для более комфортной работы в командном режиме. Делается это очень просто на основании таблицы:
Depth
800×600
1024×768
1152×864
1280×1024
1600×1200
8 bit
vga=771
vga=773
vga=353
vga=775
vga=796
16 bit
vga=788
vga=791
vga=355
vga=794
vga=798
24 bit
vga=789
vga=792
vga=795
vga=799
Для этого открываем любимым редактором файл /etc/default/grub и в строчку командной строки GRUB_CMDLINE_LINUX_DEFAUL добавляем еще один парамер — vga=xxx, например:
После этого обновляем загрузчик GRUB:
Можно так-же подправить экранные шрифты и их стиль. Для этого набираем:
Выбор шрифтов и их написания конечно не богат:
но выбрать можно. И в завершении подобрать размер консольного шрифта в соответствие с установленным разрешением экрана.
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Содержание
Введение [ править ]
При использовании терминальной консоли, а так-же при использования драйвера fbdev в X-сервере, бывает нужно задать разрешение, в котором работает фреймбуфер.
Для этого надо при загрузке передать ядру параметр работы его работы. Обычно для этого в lilo или в grub задаётся параметр VGA из следующеёй таблицы:
Стандартные режимы fbdev [ править ]
Стандартные режимы fbdev в 16-ном виде
Кол-во цветов
Число бит
640×480
800×600
1024×768
1280×1024
1440×900
1600×1200
256
8
0x301
0x303
0x305
0x307
0x360
0x31c
32k
15
0x310
0x313
0x316
0x319
0x361
0x31d
64k
16
0x311
0x314
0x317
0x31A
0x362
0x31e
16M
24
0x312
0x315
0x318
0x31B
0x363
0x31f
Кол-во цветов
Число бит
640×480
800×600
1024×768
1280×1024
1440×900
1600×1200
256
8
769
771
773
775
864
796
32k
15
784
787
790
793
865
797
64k
16
785
788
791
794
866
798
16M
24
786
789
792
795
867
799
Задание режима через lilo [ править ]
Для задания режима в lilo, надо добавить к параметрам передаваемым ядру параметр VGA с заданным значением, например:
Если задать параметр в настройках lilo строчку vga=ask, то lilo выдаст все параметры, поддерживаемые монитором (для этого надо еще при загрузке выдать команду scan).
Список всех разрешений поддерживаемых данным монитором можно получить, выполнив следующую команду:
Если ничего не показало, значит, надо установить hwinfo:
просветите инвалида, почему ядро отказыватся понимать vga=795 [1280×1024@24bpp], пишет мол undefined number?
Re: vga=795
Разные причины могут быть. Ты бы хоть сказал, какая у тебя видеокарта, ядро, чипсет. Ну и для полноты картины нарисовал бы куски dmesg’а соответствующие.
А то знаешь как грустно, когда телепаты ушли в бессрочный отпуск? 🙁
Re: vga=795
Re: vga=795
Проверь поддерживается ли у тебя этот режим.
прога называется по моему vbeчтото еше ксть в grub’е татая же возможность
Re: vga=795
Потому что не нужно ипать мозги, а нужно ставить vesafb-tng и всё будет путём.
Re: vga=795
>> а нужно ставить vesafb-tng и всё будет путём.
Пробовал vesa-tng на EN7600GS. Режимы переключаются, а кадровая развертка 60 герц.
Как пишет разработчик :
vesafb-tng::troubleshooting nVidia 5900* boards
The newer nVidia boards, such as nv59* seem to ignore the refresh rate provided by vesafb-tng. It’s theoretically possible to circumvent the problem by editing the Video BIOS to change the default refresh rate. I have never personally attempted this, so please don’t ask me for any advice about how to do it.
Re: vga=795
Попробуй vga=31B написать.
Re: vga=795
Re: vga=795
насчет поддержки режима это идея, thanx. ща попробую из доски переключится. интересно, если окажется nvidia про этот vesa режим забыла, как тогда к этому относится? 🙂
Re: vga=795
Ну-ну, в век LCD-панелей народ ещё беспокоится по поводу развёртки. или «@100» дописать к режиму никак? Помнится у меня на gf6600/7900/8800 всё работало и есть не просило.
И позвольте спросить, а на фиг на core2duo пускать 64-битный софт, если в этом режиме он начинает сливать по скорости в отличие от amd64? Типа памяти сильно больше 4Gb и нужно всю её использовать?
Re: vga=795
Дяденька кулхацкер, вопрос был вообще то не про то, но уж если пошла такая пьянка. Вот как раз переезд на lcd панель и заставил озаботиться переездом на новый режим. Так для справки если для lcd родной режим 1280×1024, то как бы и консоль полезно в этом режиме юзать. Насчет коредуо, не буду спорить, я собсна на амд сижу. Да и чего спорить, верить некому, обзоры все сплошь как один проплачены, глаза врут. Про 4гб это вообще перл. И напоследок про мою немочь дописать что то типа video=vesa:1280×1024@60 так оно и не сработает, если конечно less /usr/src/linux/Documentation/fb/vesa.txt не врет а вот если video=nvidiafb:1280×1024-32@60 то оно вообще глючит, а если даже и заработает, то less /usr/share/nvidia-drivers/README иксы с ускорением запустить не удасться.
Так может все таки по сути будем говорить. Уж пардон за мой французский.
Re: vga=795
Нифига не понял и судя по всему чуть раньше произошло то же самое.
Re: vga=795
>> Ну-ну, в век LCD-панелей народ ещё беспокоится по поводу развёртки. или «@100» дописать к режиму никак? Помнится у меня на gf6600/7900/8800 всё работало и есть не просило.
Умный Вы наш. Вы один наверно все знаете. Добавление в lilo.conf
append=»video=vesafb:1024×768-32@85″ не приводило к появлению 85 герц.
И вам, может быть перевести слова разработчика patch-a vesa-tng
>> The newer nVidia boards, such as nv59* seem to ignore the refresh rate provided by vesafb-tng. It’s theoretically possible to circumvent the problem by editing the Video BIOS to change the default refresh rate. I have never personally attempted this, so please don’t ask me for any advice about how to do it.
А насчет века LCD-панелей
Re: vga=795
>> Помнится у меня на gf6600/7900/8800 всё работало и есть не просило.
Афигеть можно. А какая видеокарта на данный момент у Вас сейчас? Может быть Вы гость из будущего?
Всем привет! В одной из предыдущих статей мой коллега Des333 реализовал фреймбуфер для LCD, работающего на графическом контроллере ILI9341. Однако, его написание потребовало существенного опыта в разработке RTL-кода.
К тому же, не у каждого под рукой есть embedded LCD-дисплей, зато наверняка есть монитор с VGA-входом.Что же делать, если опыта разработки под FPGA мало, но есть SoC, а сделать что-то интересное хочется?
В этой статье мы расскажем, как разработать графический контроллер, имея на руках плату с SoC (Altera Cyclone V), дисплей с VGA и минимальные знания языков HDL (в нашем случае — Verilog).
Для примера будем использовать наши платки, но всё описанное заработает и на других. Кому интересно, прошу под кат.
Я буду использовать отладочную плату CB-CV-SOM, работающую вместе с SoDIMM-модулем CV-SE-SOM: К этой отладочной плате у нас есть шилд, на котором помимо VGA есть много интересного (см. metrotek.spb.ru/cbcvsom.html)
Архитектура
Для вывода изображения на дисплей нам нужны фреймбуффер, драйвер и модуль развёртки, который обеспечит связку между процессором и дисплеем, а также обеспечит непрерывное обновление кадров.
В SoC’е к ARM ( также называется HPS — Hard Processing System ) подключенна DDR3 память (1 GB в нашем случае), в ней и будет находится наш фреймбуффер. А в FPGA будет модуль, который нам нужно будет сделать с помощью Qsys.
Как работает VGA
VGA ( Video Graphics Array ) — это видео интерфейс, использующий аналоговый сигнал для передачи цветовой информации. Формат сигналов и их поведение похожи на тевелизионный сигнал. Список сигналов: vga_vs_o — вертикальная синхронизация vga_hs_o — горизонтальная синхронизация vga_r_o — данные красной составляющей пикселя vga_g_o — данные зеленой составляющей пикселя vga_b_o — данные синий составляющей пикселя
Shield поддерживает 16 бит на цвет, а это значит, что на синий и красный выделяется по 5 бит, а на зеленый 6. ЦАП сделан по схеме R2R.
Времянки выглядят так:
Прошивка для FPGA
Подробнее про Frame Reader и Clocked Video Output можно посмотреть тут. Как собрать прошивку и какие настройки нужны для HPS можно прочитать в этой статье.
Altera PLL
Frame Reader
Clocked Video Output
Qsys Connections
Как выше сказано, на плате 16 бит, а из модуля выходит 32 бита, поэтому нужно внимательно назначить пины в qsf-файле, либо отредактировать выход для себя удобным образом в top файле проекта. Нам нужны старшие биты каждого цвета, они более информативны, чем младшие.
Обратите внимание, что это первое и единственное место, где мы редактируем код. Больше это не потребуется.
Драйвер и dtb
Нам потребуется драйвер altvipfb.
Вернемся к параметрам Bits per pixel per color plane и Number of color planes in parallel в Frame Reader. В драйвере написано:
Число бит на один цвет только 8 и ширина слова должна быть больше или кратна 32. С чем же связано такое ограничение? Смотрим дальше и видим:
Становится ясно, что драйвер работает в режиме True color, записывая цвет в 32 битное слово ( более удобно выравнивать, чем 24 ), и работает он только в таком режиме.
Чтобы собрать этот драйвер, в конфиге ядра надо внести следующие изменения.
Для того что бы linux узнал, что у нас в FPGA есть фреймбуфер от Альтеры, в dtb надо прописать следующие магические слова:
В параметре range — диапазон валидных адресов, с которых драйвер будет читать, а в reg = — стартовый адрес и сколько адресов занято alt_vip. mem-word-width это параметр Master port width в Frame Reader.
Запуск терминала и иксов
Заходим на прибор и загружаем драйвера:
Затем проверяем, все ли хорошо с помощью dmesg, и смотрим, есть ли похожая строка:
Затем выводим консоль на экран, подключенный к плате:
Ставим icewm и запускаем с помощью startx:
Итого: мы получили графический контроллер, с минимальными знаниями HDL языков.