Видеосистема Линукс и framebuffer. Вопрос.
От: alpha21264 СССР  
Дата: 04.04.18 13:05
Оценка:
Коллеги!
Пожалуйста сориентируйте во времени и пространстве!
Как устроена Видеосистема Линукс и как она связана со framebuffer-ом?

Ситуация — собираю дистрибутив Линукс для отечественного компьютера.
Есть ядро Линукс, в ядре есть framebuffer. Он работает.
То есть, пингвин рисуется, консоль работает, можно ввести команду и она исполняется.

Что делать дальше, как сделать минимальный дистрибутив с графикой?
(Систему yocto знаю, собирал дистрибутивы для Интел и АРМ.)
Какие есть пути?
1) Если ограничиться framebuffer-ом, и не поднимать XServer, то что получится?
Нужно писать/использовать специальные программы, которые сами умеют работать с framebuffer-ом?
Откуда их брать, как их писать?
2) Вроде Qt можно собрать для работы с framebuffer-ом. Что получится в этом случае?
Придётся ограничиться программами написанными на Qt?
И что, каждую программу надо будет перекомпилировать на эту спец-Qt?
3) Таки поднять XServer.
Как его поднять? Ну, я понимаю, что его надо скомпилировать
Как ему сказать, чтобы он работал через framebuffer?

Кто-нибудь чем-нибудь подобным занимался?
Может какая книжка (статья) на эту тему есть?

Течёт вода Кубань-реки куда велят большевики.
Re: Видеосистема Линукс и framebuffer. Вопрос.
От: Pzz Россия https://github.com/alexpevzner
Дата: 04.04.18 13:34
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>3) Таки поднять XServer.


Я бы поднял иксы.

A> Как его поднять? Ну, я понимаю, что его надо скомпилировать

A> Как ему сказать, чтобы он работал через framebuffer?

Начни с этого: https://www.x.org/archive/X11R6.8.1/doc/fbdev.4.html

Можешь потренироваться на PC.

P.S. framebuffer без аппаратного ускорения графики может оказаться раздражающе медленным. Тем более, что насколько я понимаю, у отечественного компьютера процессор не из числа особо быстрых.
Re: Видеосистема Линукс и framebuffer. Вопрос.
От: reversecode google
Дата: 04.04.18 13:35
Оценка: :)
Здравствуйте, alpha21264, Вы писали:

A>Коллеги!

A>Пожалуйста сориентируйте во времени и пространстве!
A>Как устроена Видеосистема Линукс и как она связана со framebuffer-ом?

никак не связанна

A>Ситуация — собираю дистрибутив Линукс для отечественного компьютера.

A>Есть ядро Линукс, в ядре есть framebuffer. Он работает.
A>То есть, пингвин рисуется, консоль работает, можно ввести команду и она исполняется.

A>Что делать дальше, как сделать минимальный дистрибутив с графикой?

A>(Систему yocto знаю, собирал дистрибутивы для Интел и АРМ.)
A>Какие есть пути?
A>1) Если ограничиться framebuffer-ом, и не поднимать XServer, то что получится?
A> Нужно писать/использовать специальные программы, которые сами умеют работать с framebuffer-ом?
A> Откуда их брать, как их писать?

самому писать

A>2) Вроде Qt можно собрать для работы с framebuffer-ом. Что получится в этом случае?

A> Придётся ограничиться программами написанными на Qt?
A> И что, каждую программу надо будет перекомпилировать на эту спец-Qt?

придется ограничиваться, но не факт что у вас все получится

A>3) Таки поднять XServer.

A> Как его поднять? Ну, я понимаю, что его надо скомпилировать
A> Как ему сказать, чтобы он работал через framebuffer?

не надо ничего компилироваться
а для работы с фб нужно сконфигурировать сам икс сервер

A>Кто-нибудь чем-нибудь подобным занимался?

A>Может какая книжка (статья) на эту тему есть?

гугл вообще забит этим
как настроить Икс сервер для чайников, уже никто и примеров не пишет, молодежь уже с пленок это умеет
Re: Видеосистема Линукс и framebuffer. Вопрос.
От: Zhendos  
Дата: 05.04.18 09:46
Оценка: 6 (1)
Здравствуйте, alpha21264, Вы писали:

A>Коллеги!

A>Пожалуйста сориентируйте во времени и пространстве!
A>Как устроена Видеосистема Линукс и как она связана со framebuffer-ом?

https://people.freedesktop.org/~marcheu/linuxgraphicsdrivers.pdf

A>Ситуация — собираю дистрибутив Линукс для отечественного компьютера.

A>Есть ядро Линукс, в ядре есть framebuffer. Он работает.
A>То есть, пингвин рисуется, консоль работает, можно ввести команду и она исполняется.

A>Что делать дальше, как сделать минимальный дистрибутив с графикой?

A>(Систему yocto знаю, собирал дистрибутивы для Интел и АРМ.)
A>Какие есть пути?
A>1) Если ограничиться framebuffer-ом, и не поднимать XServer, то что получится?
A> Нужно писать/использовать специальные программы, которые сами умеют работать с framebuffer-ом?
A> Откуда их брать, как их писать?

Как обычно с помощью google, можно более экзотично, например поставить gentoo и искать
пакеты поддерживающие флаг "fb" или как там он сейчас называется. mplayer например умеет
работать поверх framebuffer и links.
А писать их кстати очень просто, т.к. framebuffer это типа кусок видиопамяти доступный
напрямую, то есть открыли /dev/fb0 сдвинулись на 4 32 битных слова (допустим у вас
32 bpp) и записали 0xFF_FF_FF_FF и вот у вас пятый пиксель слева/сверху стал белым.

A>2) Вроде Qt можно собрать для работы с framebuffer-ом. Что получится в этом случае?

A> Придётся ограничиться программами написанными на Qt?

gtk+ тоже умеет поверх framebuffer

A> И что, каждую программу надо будет перекомпилировать на эту спец-Qt?


Да придется, но вы как-то смело задумываетесь о множестве программ,
зачем они будут нужны пользователю если у него нет windows manager,
то есть поработает он с одной программой, которую вы в автозапуск
добавили и все, как он другие-то запустит?

A>3) Таки поднять XServer.

A> Как его поднять? Ну, я понимаю, что его надо скомпилировать
A> Как ему сказать, чтобы он работал через framebuffer?

Запустить Xvfb и все. Xorg умеет работать поверх framebuffer.
Re[2]: Видеосистема Линукс и framebuffer. Вопрос.
От: alpha21264 СССР  
Дата: 05.04.18 14:49
Оценка:
Здравствуйте, Zhendos, Вы писали:

A>>3) Таки поднять XServer.

A>> Как его поднять? Ну, я понимаю, что его надо скомпилировать
A>> Как ему сказать, чтобы он работал через framebuffer?

Z>Запустить Xvfb и все. Xorg умеет работать поверх framebuffer.


Чё-то тут пишут,
https://en.wikipedia.org/wiki/Xvfb

что Xvfb только имитирует framebuffer
То есть, на экран он рисовать ничего не будет.

Я конечно могу влезть в исходники, чтобы он таки начал писать в видеопамять.
Но нет ли более простого решения?

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Видеосистема Линукс и framebuffer. Вопрос.
От: reversecode google
Дата: 05.04.18 14:52
Оценка:
вам уже раз сказали
Xorg имеет в себе разные драйверы для работы с видео и один из них через freamebuffer
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.