[mdk-re] frame buffer

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_nm=2Eru?=
Ср Мар 7 16:48:01 MSK 2001


On Wed, 7 Mar 2001 01:32:38 -0500
Igor Solovyov <is-anti на mail.ru> wrote:

IS> Hi All!
IS> 
IS> Помогите с subj-ем разобраться. При установке Sisyphus-а (и REbeta)
IS> есть возможность выбрать subj-евый видеорежим консоли (в установке lilo).
IS> Я выбрал режим 800х600. Все работает.
IS> Программка fbset при этом сообщает, что установлен режим при 75 Гц :
IS> 
IS> mode "800x600-75"
IS>     # D: 48.001 MHz, H: 46.876 kHz, V: 75.121 Hz
IS>     geometry 800 600 800 600 16
IS>     timings 20833 96 32 16 4 96 4
IS>     rgba 5/11,6/5,5/0,0/0
IS> endmode                                                                           
IS> 
IS> На самом деле, кадровая развертка работает только на 60 Гц,
IS> это показывает сам монитор.
IS> 
IS> В файле /etc/fb.modes есть режимы с более высокой частотой,
IS> например 800x600-100, который и хотелось бы использовать.
IS> Не могу найти как заставить работать именно этот режим.
IS> Никаких следов, где это можно задать, я пока не нашел.
IS> Единственно - в /etc/lilo.conf стоит vga=788.
IS> Что означает 788 в man lilo.conf я не нашел.
IS> Если поставить vga=ask, то в списке режимов, который можно получить
IS> при загрузке, ничего подобного нет.
IS> Как это число 788 связано и связано ли вообще с установленным режимом?
IS> Где про это прочитать можно?
IS> 
IS> И почему fbset показывает, что используется 75 Гц, хотя это не так?

Через fbset ничего не получится :-(

Дело в том, что графический режим в данном случае устанавливается через VESA BIOS, причем Linux понятия не имеет о том, что это за видеокарта и как с ней обращаться. Загрузчик еще в реальном режиме (в самом начале запуска ядра) ставит видеорежим, указанный в строке vga=### и получает параметры экранного буфера. После этого используется установленный видеорежим без возможности его сменить. И частота будет такая, какую поставит BIOS.

В случае S3Trio3D/2X мне удалось найти досовские утилиты, которые перестраивали частоту, соответственно грузить ядро после этого приходилось через LOADLIN. Если их нет - облом :-(

А настоящих драйверов под фреймбуфер в ядре очень мало (в 2.4.2 чуть побольше).

Что касается номера видеорежима, то это описано в исходниках ядра в Documentation/fb/vesafb.txt (пакет kernel-doc) и немного сказано в документации LILO.




Подробная информация о списке рассылки community