Подтвердить что ты не робот

Использование OpenGL без системы X-Window

Как OpenGL на платформе Linux без системы X-Window, могу ли я напрямую отправлять графику OpenGL на устройство Framebuffer?

Существует проект, названный DirectFB (Direct FrameBuffer). С DirectFB Мы можем это сделать, но DirectFB нужно для драйвера для каждого оборудования, и я хочу, чтобы пользовательская графическая карта имела только драйвер Linux.

4b9b3361

Ответ 1

Вот как я это сделал в своем убунту 11.04: 1- Установите зависимости с помощью команды:

sudo apt-get install xutils-dev libpciaccess-dev x11proto-dri2-dev x11proto-gl-dev libxdamage-dev libxfixes-dev

2- Для библиотеки mesa требуется версия libdrm >= 2.4.24, которая недоступна в репозитории ubuntu 11.04 (доступна более старая версия), поэтому вам нужно загрузить источник и построить его, используя следующие команды:

./configure
make
make install

3-Загрузите библиотеку mesa и затем скомпилируйте ее, используя следующие команды: . /configure --prefix = install_directory

make realclean
make linux-fbdev
sudo make install

будьте осторожны, когда вы выбираете каталог install_directory, чтобы не перезаписывать библиотеку системы mesa. после этого скомпилируйте свое приложение, используя параметры: -lGL -lOSMesa -ldl -L'install_directory/lib' -I'install_directory/include'

Ответ 3

Как вы сказали, вам нужен драйвер для этого. 99,9% всех графических драйверов Linux используют X11, поэтому, если у вас нет драйвера DirectFB OpenGL для вашего оборудования, вы застряли в использовании X11.

Ответ 4

Я использую SDL (простой Direct Media Layer) для программирования OpenGL в Linux. Этот сайт содержит несколько полезных уроков, которые помогут вам настроить. Одним из преимуществ использования SDL является то, что он будет переноситься через платформы, поэтому, как только вы получите что-то, работающее в Linux, оно будет передано прямо в Windows, если у вас там установлен SDL.

Ответ 5

Вы можете использовать Mesa для рендеринга программного обеспечения на основе фреймбуфера.