我使用本教程在 Raspbian 上编译了 SFML 库和我的应用程序https://github.com/oomek/sfml-pi。之后,我将共享对象和应用程序移动到 Raspberry Pi 4 的 buildroot 系统。我选择了DISPMANX
版本,我的目标是在没有 X 服务器的情况下运行应用程序。
当我尝试运行应用程序时,出现错误failed to add service - already in use?
。我知道有很多类似的主题,我尝试了以下解决方案:
- 评论
dtoverlay=vc4-kms-v3d
-config.txt
> 这行在我的配置中不存在。 - 更改
gpu_mem
为128
-> 任何改进
我的config.txt
:
# Please note that this is only a sample, we recommend you to change it to fit
# your needs.
# You should override this file using a post-build script.
# See http://buildroot.org/manual.html#rootfs-custom
# and http://elinux.org/RPiconfig for a description of config.txt syntax
# We always use the same names, the real used variant is selected by
# BR2_PACKAGE_RPI_FIRMWARE_{DEFAULT,X,CD} choice
start_file=start.elf
fixup_file=fixup.dat
kernel=zImage
# To use an external initramfs file
#initramfs rootfs.cpio.gz
# Disable overscan assuming the display supports displaying the full resolution
# If the text shown on the screen disappears off the edge, comment this out
disable_overscan=1
# How much memory in MB to assign to the GPU on Pi models having
# 256, 512 or 1024 MB total memory
gpu_mem_256=128
gpu_mem_512=128
gpu_mem_1024=128
gpu_mem_1024=192
gpu_mem=128
# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
dtoverlay=miniuart-bt
在 buildroot 上,我从opengl
、和进行gst1-plugins-base
设置。我没设置。dispmanx
gles2
egl
wayland
mesa-3d
知道如何让我的应用程序运行吗?我应该添加一些东西到我的config.txt
吗?
答案1
我面临着同样的问题。我不确定这对你来说是否仍然真实,但如果是的话,这些步骤对我有用。
- 你只需要mesa3d并在mesa3d里面选择v3d和vc4
- 在config.txt中添加
dtoverlay=vc4-fkms-v3d
一旦你启动你的树莓派:
- modprobe vc4
- modprobe v3d
之后也请确保
/dev/dri/card0
存在