[Comm] fb
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Май 13 19:36:08 MSD 2003
On Mon, May 12, 2003 at 23:20:48 +0400, Maksim Otstavnov wrote:
> >> Я обнаружил, что у меня после обновления ALM 2.0 -> ALM 2.2 фреймбуфер
> >> пришел в малоработоспособное состояние.
> >>
> >> Последовав рекомендациям AVL на atmsk.ru, я убрал splash из меню ГРУБа
> >> и добавил явную загрузку модуля (конфиги прилагаю).
>
> SV> Хмм, vga=... в menu.lst, возможно, стоит удавить (хотя с хорошим
> SV> драйвером это не должно вызывать проблем, но кто его знает).
>
> Так а тогда в текстовом режиме и грузится :)
Именно - вдруг при инициализации fb после установки графического режима
BIOS-ом возникают какие-то странности.
> SV> А грузить модуль можно через /etc/sysconfig/framebuffer - у меня с
> SV> radeonfb это работает.
>
> А формат этого файла? man'а по нему нет :(
Это точно. На этой машине у меня там сейчас вот что:
=======
# Example framebuffer config file.
# Uncomment following lines, replacing example values with real ones.
ENABLE=yes
MODULE=radeonfb
MODE=1024x768-75/8bpp
TTYS='1 2 3 4 5 6 12'
=======
MODULE - имя модуля, MODE - имя режима для fbset (из fb.modes). Режим в
данном случае самопальный (у radeonfb имеется странность - при смене
-depth сдвигается изображение, поэтому для разных bpp настройки слегка
разные).
> >> Результат получился очень странным: от root Mplayer показывает фильм
> >> нормально, от пользователя --- картинка искажена.
>
> SV> За 5 минут он у меня от пользователя не запустился (-vo sdl - SDL
> SV> Initialization Error: Unable to open mouse; -vo directfb - /dev/tty0:
> SV> Access denied).
>
> У меня он _запускается_.
А с какими настройками, и какая версия? Я пробовал имеющуюся под рукой
MPlayer-0.90-alt11.rc3; прочие библиотеки тоже из Master 2.2.
> Насколько я понимаю, суть проблемы может быть в том, что mplayer
> самостоятельно пытается переключать режимы карточки, что ему удается
> из-под рута, но не удается из-под пользователя. С чем-то похожим я
> сталкивался в свое время под Соляркой (на сановском железе, там,
> натурально, текстовых режимов вообще нет, только графические).
Тут дело явно не в видеорежимах - fbset от пользователя работает.
Что-то ещё ему надо...
> SV> От рута с -vo sdl работает. Ковыряться лень - xine в X нормально
> SV> играет :-)
>
> У меня Xine вообще валится от первого прикосновения.
А у меня он валился только на каких-то особо кривых файлах странного
происхождения.
> >> От fbv ровной картинки не могу добиться ни из под кого.
>
> SV> Действительно не работает. А fbv /usr/share/pixmaps/ooo_writer.png (и
> SV> куча файлов рядом) вообще вызывает Segmentation fault (после любого из
> SV> fbset -depth {8,15,16,32})
>
> У меня _работает_, но картинка искажена.
Версия? У меня fbv-0.96-alt1 падает.
> SV> Кстати, а в matroxfb тоже DirectColor, а не просто TrueColor? Тогда там
> SV> палитра хитро настраивается - вероятно, fbv нормально работать и не
> SV> будет.
>
> Судя по тому, что я вижу на экране, с палитрой проблем нет. Я не знаю,
> что такое DirectColor.
$ /usr/sbin/fbset -i
mode "1024x768-75"
# D: 78.802 MHz, H: 60.063 kHz, V: 75.078 Hz
geometry 1024 768 1024 8191 32
timings 12690 176 16 28 1 96 3
hsync high
vsync high
rgba 8/16,8/8,8/0,0/0
endmode
Frame buffer device information:
Name : Radeon QY VE
Address : 0xd0000000
Size : 33554432
Type : PACKED PIXELS
Visual : DIRECTCOLOR
XPanStep : 8
YPanStep : 1
YWrapStep : 0
LineLength : 4096
MMIO Address: 0xdfef0000
MMIO Size : 16384
Accelerator : Unknown (38)
В X11 типы visual аналогичны. Суть тут в следующем: для DirectColor
есть отдельные таблицы перекодировки цветов для R, G, B, и fbcon
устанавливает их так, что цвета (0,0,0), (1,1,1), ..., (15,15,15)
переводятся в VGA-образные цвета из палитры консоли. Что в остальных
элементах - не смотрел, возможно, они вообще в этом случае не
инициализируются. Во всяком случае, после запуска fbv на экране главным
образом чёрный цвет, кое-где видны странно раскрашенные контуры - такое
впечатление, что там как раз и остались в основном нули.
> >> fbset отказывается понимать синтаксис (--geometry, --timings),
> >> описанный в его man'е, а в help синтаксис не указан.
>
> SV> /usr/sbin/fbset --geometry 1024 768 1024 8191 8
>
> SV> Вот так точно работает.
>
> Нет.
>
> ioctl FBIOPUT_VSCREENINFO: Invalid argument
Во всяком случае, ругается явно не на синтаксис.
А "--geometry 1024 768 1024 768 8" - тоже не работает? (Вторая пара -
размеры виртуального экрана (-vxres, -vyres); последнее число - -depth.)
> >> (Заодно уж "пожалуюсь", что в новом формате XFree86-config т.н.
> >> "стандартные" режимы не прописаны явно, поэтому не вполне понятно, чем
> >> компенсировать давнее удобство взятия гарантированно рабочих
> >> геометрии/тайминга утилитой modelines2fb).
>
> SV> При прописанном Option "UseFBDev" "On" можно взять параметры через
> SV> fbset, запустив его в X.
>
> Возможно, но чтобы запустить иксы через фреймбуфер, нужно поиметь
> сначала работающий фреймбуфер :)
Так я понял, что вообще-то он у вас работает, но MPlayer и fbv глючат.
Если режим ставится и текст отображается, X должен бы запуститься.
Правда, на radeonfb есть один фокус: при включении UseFBDev меняется
полярность сигналов синхронизации, если она не задана явно в Modeline.
Поэтому настройки монитора сползают (он считает это новым режимом). Не
знаю, общее ли это свойство, либо особенность radeonfb (или драйвера
radeon_gatos в X).
Подробная информация о списке рассылки community