gpt4 book ai didi

c - 有没有办法将 xorg 配置为使用帧缓冲设备作为主监视器?

转载 作者:太空狗 更新时间:2023-10-29 15:40:42 26 4
gpt4 key购买 nike

我有一个带有 GPIO 显示器的 Raspberry Pi。我目前在/dev/fb1 将其设置为帧缓冲设备。有没有办法让它成为 X windows 的默认显示器或主显示器?我最终试图为其绘制图形,我最初计划使用 DirectFB 和 SDL,但 DirectFB 处于 pi 的 alpha 阶段。我也尝试过使用 SDL1.2,因为它支持帧缓冲区,但我无法弄清楚如何让 SDL 在不使用 DirectFB 的情况下选择要绘制到的帧缓冲区设备。

我考虑过使用 SDL 将我的简单 GUI 的每一帧准备为原始图像,并使用 mmap 将其 blit 到/dev/fb1 而不是使用 SDL 的内置绘制函数,但我觉得这是一种糟糕的实现方式我的目标。

我认为,如果我能让 xorg 将我的帧缓冲设备用作主监视器,我就不必担心做任何特殊的事情来让 SDL 绘制我的图像文件。但我不太确定 xorg 是如何工作的,以及这是否可能。

任何人的任何见解或帮助都会有很大帮助!一周以来,我一直在努力解决这个问题,寻找不同的可能性。

最佳答案

借助 Raspbian 上的 SDL2,您可以直接在帧缓冲区上绘图,而无需使用 X。图形窗口始终是全屏的。您可以从控制台模式启动代码(X 停止或从 LXDE 运行 X,想法是 SDL2 不会使用 X)。

不幸的是,Raspbian 没有附带 SDL2(Jessie 的 SDL2 不工作)所以您需要自己构建它(大约需要一个小时)。下面是构建SDL2过程的描述:

sudo apt-get install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev libasound2-dev

https://www.libsdl.org/download-2.0.php 下载 SDL2 的源代码.假设您下载的文件名为 SDL2*.tar.gz,您可以构建并安装它:

cd ~/Downloads
tar zxvf SDL2*.tar.gz
cd SDL2*

./configure --disable-video-x11
make
sudo make install

在那之后,您应该能够将任何 C++ 程序与 SDL2 链接起来,例如:

g++ my_program.cpp -lSDL2 -o my_program
./my_program

关于c - 有没有办法将 xorg 配置为使用帧缓冲设备作为主监视器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26110581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com