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

Как разработать приложение DirectFB, не выходя из среды X.11

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

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

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

Итак, любые идеи?

4b9b3361

Ответ 1

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, поэтому я уверен, что это работает.

Ответ 2

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

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

Ответ 3

Я пришел к использованию эфемерного решения для запуска приложений 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'ed.

Ответ 4

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

Ответ 5

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

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