如何在不离开X.11环境的情况下开发DirectFB应用程序

我正在尝试为embedded式平台开发一个GUI应用程序,没有任何窗口,我正在用DirectFB做这件事,而且它适合我的需求。

由于我开发的embedded式function并不强大,所以我真的想尝试在自己的Ubuntu桌面上开发。 问题是Framebuffer与X.org冲突,导致我离开整个桌面,closuresX.org只是为了看看我的变化的结果。

有没有一个适合我的需求的好的帧缓冲模拟器? Qt有一个名为QVFb的版本,但它只适用于开发Qt应用程序,DirectFB的VNC后端总是崩溃。

那么,有什么想法?

Solutions Collecting From Web of "如何在不离开X.11环境的情况下开发DirectFB应用程序"

DirectFB有一个X11后端。

 无论如何,$ sudo apt-get会安装Debian和Ubuntu的libdirectfb-extra#
 $ cat〜/ .directfbrc
系统= X11
力窗 

另外,DirectFB有一个SDL后端,而SDL有一个X11后端。 此外,SDL有一个GGI后端,GGI有一个X后端。 这有点迂回,但它应该工作:)

我用它来测试它

  $ SDL_VIDEODRIVER = directfb ffplay some_movie.avi 

并获得了一个不错的640×480窗口与媒体播放和DirectFB处理分层和输入,所以我相信这个工程。

以前的三个答案都是很好的建议。 我建议尝试ephemient的答案,因为这是最简单的。 有关设置.directfbrc文件的更多详细信息,请查阅“man directfbrc”。

另一种可能是从X切换到另一个虚拟终端(使用CTRL + ALT + F1),运行directfb程序,然后切换回X(使用CTRL + ALT + F7)。

我开始使用Ephemient的解决方案在一个chroot环境中运行DirectFB应用程序(目标文件系统作为buildroot的一个礼貌),另外还有一个在当前X的窗口中运行的单独的X环境。

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

这样,你不仅可以保证你的directfb安装是正确的,而且所有必需的依赖项都安装在chroot的文件系统中。

您可以使用Moblin Image Creator创建Moblin的磁盘映像,然后可以像QEMU一样在VM内运行。 然后,您可以在虚拟机内测试您的DirectFB应用程序。

你可以在你的Ubuntu桌面上开发(即编辑和编译)你的应用程序,然后在你打算运行的嵌入式平台上测试你的应用程序。

如果嵌入式平台支持联网,则可以通过直接从NFS共享运行应用程序来缩短编辑 – 编译 – 测试循环的时间。

以下是qemu和directFB的一个很好的例子: