问题标签 [directfb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 运行 directfb 时出现“设备的 ioctl 不合适”
我正在尝试交叉编译directfb并运行directfb示例
我已经下载了 directfb 源并交叉编译了相同的。我在运行 directfb 示例时遇到了问题。
我已经使用以下程序(创建为 .ko 文件)注册了字符设备(/dev/fb0)
之后我运行了以下命令,
然后我尝试运行 Directfb 示例。我收到以下错误
有没有关于这个错误的想法。请帮我解决这个问题。
qt - QDesktopWidget::screenGeometry 返回不正确的值
我在 DirectFB 1.7.4 之上运行了 Qt 5.3(以及 qdirectfbintegration 的一个小补丁,因为未实现 platformNativeInterface)。
我提出了 3840x2160 分辨率,然后使用下面的代码更改为 1920x1080 分辨率。分辨率发生变化,我可以确认查看 fbset 输出。我看到的问题是,将分辨率更改为 1920x1080 Qt 后仍将其报告为 3840x2160。
有谁知道如何强制 Qt 重新检查/更新它报告的分辨率?或者 directfb 插件中可能缺少什么来通知 Qt 引擎盖下发生了一些变化?
谢谢。
我从控制台看到的输出是:
######## New resolution is 1920x1080
######## Getting primary IDirectFBDisplayLayer
######## Got the primary display layer, setting admin
######## Getting layer configuration
######## Setting layer resolution
(*) FBDev/Mode: Setting 1920x1080 ARGB
(*) FBDev/Mode: Switched to 1920x1080 (virtual 1920x2160) at 32 bit (ARGB), pitch 7680
######## QApplication resolution is now 3840x2160
root@output:~# fbset
mode "1920x1080-24"
# D: 74.250 MHz, H: 27.000 kHz, V: 24.000 Hz
geometry 1920 1080 1920 2160 32
timings 13468 148 638 36 4 44 5
accel false
rgba 8/16,8/8,8/0,8/24
endmode
ubuntu-14.04 - 在 ubuntu 14.04 lts 上运行 ilixi 应用程序时不显示 GUI
我正在学习ilixi工具包。我从指南页面编译并安装了成功的源代码
运行应用示例时,应用运行但不显示 gui。我错过了什么步骤或需要添加新的配置?
我在虚拟机 VMWare 上使用 ubuntu 14.04LTS 32 位。
在文件 .directfbrc 中配置为:
像素格式=ARGB
系统=x11
强制窗口
感谢帮助 !
qt - 使用静态嵌入式qt时找不到directfb驱动程序
我想构建静态嵌入式qt。所以我执行了这些步骤:
1- 在 qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf 文件中,我添加了directfb,如下所示:
2- Directfb 共享库存在于 /lib/directfb 的目标 rootfs 中
3-配置和构建qt:
结果在输出目录中生成。
4- 我在目标 /lib 目录中复制了 output/lib/fonts
5-构建我的 qt 应用程序
6- 在目标中运行应用程序:
然后我得到了这个错误:
你能帮我解决这个问题吗?
linux - OpenGL 直接到 Linux 帧缓冲区,无需 X-Server
我有一个使用 GLUT 开发的小型 OpenGL 应用程序。在没有 X-Server 的情况下,使用 OpenGL 直接渲染到 Linux 帧缓冲区 (fbdev) 的最佳选择是什么?我知道 GLUT 需要 X,所以我不是在寻找在没有 X 的情况下使用 GLUT 的方法。
我打算使用的帧缓冲设备已确认使用fbi
and mplayer
。
我已经完成(或者我想我已经完成了)一项非常详尽的研究,并找到了一些可能有用的资源和库。但是大多数信息有点过时了,我不确定该相信什么。
- DirectFB 看起来不错,正是我正在寻找的,但似乎并没有积极开发。
- 我倾向于在我的目标设备上尝试这个:https ://github.com/mcdoh/glGears-on-DirectFB-with-OpenGL-ES - 但同样,这是我能找到的唯一示例代码,它是六岁。
- Mesa 是另一个有趣的候选人,但我似乎找不到任何最近的信息。
- 这看起来很有趣:http ://www.mesa3d.org/glfbdev-driver.html - 但我找不到任何示例代码。
因此,虽然很多 SO 答案都提到 DirectFB 和 Mesa 作为解决方案,但我不能让自己对这些选项充满信心,因为找不到太多材料。
因此,如果您能在此处指出正确的方向,请给我任何示例,我们将不胜感激。我错过了什么?
由于问题被标记为重复而进行编辑:
相关问题的答案建议使用 DRM。我打算在还不支持主线 Linux 内核的基于 Allwinner H3 的嵌入式计算机上运行我的代码。目前,它在内核版本 3.14 上运行,我相信它不支持 DRM。
那么,有没有其他选择?
cobalt - Cobalt 视频 Punchthrough 不适用于 DirectFB
我们目前正在使用cobalt 13.108984 构建,并且正在将DirectFB 实现用于MIPS STB 平台。
我们目前正在实现我们的右舷播放器,我们正在使用 kSbPlayerOutputModePunchOut。目前,我们还没有将 DirectFB 图形平面打通到视频平面。
我可以看到 PunchThroughVideoNode 是在创建播放器时在渲染树中创建的,并且我们的播放器调用了具有正确尺寸的 SbPlayerSetBounds 但是打通不成功。
SetBounds 调用是否需要更新图形平面以强制 blitter 清除视频矩形?
key - 当“dfb_gfxcard_stretchblit”将在钴 19 时进行软件渲染流程?
我的平台没有gpu,所以它使用directfb来绘制UI和处理事件。它在 Cobalt 11.153049 上运行良好。但是在我将它从钴 11 升级到钴 19.lts.3 后,directfb 将进入软件渲染流程。DFB1.5.3 的 API dfb_gfxcard_stretchblit 将进入软件渲染流程。
发生问题时,它无法正确显示 UI,也无法通过 getEvent API 从 dfb 获取事件。我的右舷 DirectFb 代码在 Cobalt 11 和 Cobalt 19 之间是相同的。所以我很好奇为什么 API 会进入软件渲染流程?
yocto - LIBSDL2 + DirectFB + i.MX 6 - 只有软件 blitting?
目前,我们正在使用 DirectFB 在嵌入式板 (i.MX 6) 上开发 SDL2 应用程序。我们的 LinuxOS 是通过 YOCTO 生成的。应用程序本身运行良好,SDL_RenderPresent( renderer_ )
似乎只有软件 blitting 正在运行,这使 CPU 达到了极限。
- 窗口(256 x 128 像素):60 FPS - ~20% 在一个核心
- 窗口(1280 x 1024 像素):45 FPS - 100% 在一个核心
添加no-software
到 DFBARGS 会使 CPU 使用率降低到 ~6%(这是可以接受的),但之后屏幕上将不再可见。这是因为我认为 SDL2/DirectFB 在这种情况下仅使用软件位块传输。我在初始化时忘记了一个标志吗?
以 1280x1024 和 60FPS 运行 qt5 应用程序需要大约 3-6% 的 CPU 使用率一个内核。