Как разработать приложение DirectFB, не выходя из среды X.11 - PullRequest
12 голосов
/ 06 февраля 2009

Я пытаюсь разработать приложение с графическим интерфейсом для встроенной платформы без каких-либо окон, и я делаю это с DirectFB, и это очень хорошо подходит для моих нужд.

Поскольку встроенный инструмент, для которого я разрабатываю, не настолько мощный, я бы очень хотел попробовать разработать его на своем собственном рабочем столе Ubuntu. Проблема в том, что Framebuffer конфликтует с X.org, из-за чего я покидаю весь рабочий стол, и закрываю X.org, чтобы увидеть результат моих изменений.

Есть ли хороший симулятор фреймбуфера, который соответствует моим потребностям? У Qt есть такая, которая называется QVFb, но она работает только для разработки приложений Qt, а серверная часть VNC DirectFB всегда падает.

Итак, есть идеи?

Ответы [ 6 ]

16 голосов
/ 07 февраля 2009

DirectFB имеет серверную часть X11.

$ sudo apt-get install libdirectfb-extra  # for Debian and Ubuntu, anyhow
$ cat ~/.directfbrc
system=x11
force-windowed

Кроме того, DirectFB имеет бэкэнд SDL, а SDL - бэкэнд X11. Кроме того, SDL имеет GGI-бэкэнд, а GGI имеет X-бэкэнд. Это немного сложновато, но оно должно работать:)

Я проверил это с

$ SDL_VIDEODRIVER=directfb ffplay some_movie.avi

и получил хорошее окно 640x480 с воспроизведением мультимедиа и DirectFB, обрабатывающим наложение и ввод, поэтому я уверен, что это работает.

1 голос
/ 26 апреля 2010

Я решил использовать решение ephemient для запуска приложений DirectFB в среде chroot (целевая файловая система предоставлена ​​ buildroot ) в дополнение к Xnest, отдельной среде X, которая запускается в окне текущего X .

$ Xnest -ac :1 &
$ cd $TARGET_DIR # into the target file system root
$ DISPLAY=:1 sudo chroot . usr/bin/df_neo

Таким образом, вы можете убедиться, что установка DirectFB не только правильная, но также и все необходимые зависимости установлены внутри файловой системы chroot.

1 голос
/ 01 января 2010

Три предыдущих ответа - все хорошие предложения. Я бы предложил попробовать ответ эфимента, потому что он самый простой. Для получения более подробной информации о настройке вашего файла .directfbrc, посмотрите "man directfbrc".

Еще одна возможность состояла бы в том, чтобы переключиться с X на другой виртуальный терминал (используя CTRL + ALT + F1), запустить вашу программу directfb, а затем переключиться обратно на X (используя CTRL + ALT + F7).

0 голосов
/ 17 июня 2010
0 голосов
/ 07 февраля 2009

Вы можете разрабатывать (то есть редактировать и компилировать) свое приложение на рабочем столе Ubuntu и тестировать свое приложение на встроенной платформе, на которой оно предназначено для запуска.

Если встроенная платформа поддерживает работу в сети, вы можете сократить продолжительность цикла редактирования-компиляции-теста, запустив приложение непосредственно из общего ресурса NFS.

0 голосов
/ 07 февраля 2009

Вы можете использовать Moblin Image Creator для создания образа диска Moblin, который затем можно запустить внутри виртуальной машины, например QEMU . Затем вы можете протестировать приложение DirectFB внутри виртуальной машины.

...