我希望这很简单。我正在从我的Ubuntu linux桌面编写一个嵌入式Linux平台的应用程序。该应用程序本身在X11下工作正常。我也可以使用fbcon驱动程序和/ dev / fb0来实现它。
但是,如果我putenv("SDL_VIDEODRIVER=directfb");
我收到错误“没有可用的视频设备”
我还是SDL的新手,所以我不确定发生了什么。我刚刚使用'apt-get install libsdl'在我的ubuntu桌面上安装了libsdl。那么标准的ubuntu SDL版本是否不支持DirectFB?在此之前我还需要安装/设置/执行其他东西吗?
或者更重要的是,当fbcon工作正常时,试图让DirectFB正常工作是否有任何意义/优势?我认为DirectFB允许我正确设置视频模式,并提供某种形式的硬件加速,fbcon不会。
答案 0 :(得分:1)
SDL为您,程序员提供抽象,作为抽象的一部分,它可以被迫在后端使用许多不同的硬件视频模式。
您正试图强制它使用底层硬件不支持的硬件模式。
强制它使用特定硬件模式的唯一原因是您怀疑自己可能从特定模式获得更高性能,或者您希望更好地控制正在发生的事情。例如,某些硬件模式支持全屏,更智能的屏幕缩放,加速图形等。
最后,您只需将提示传递给SDL,它可能会也可能不会执行您怀疑的操作。如果你强迫它使用特定的后端,那么它更有可能做你怀疑它应该做的事情。