程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么 Xorg 服务器在使用 Buildroot for Raspberry Pi4 创建的系统上失败?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么 Xorg 服务器在使用 Buildroot for Raspberry Pi4 创建的系统上失败??

开发过程中遇到为什么 Xorg 服务器在使用 Buildroot for Raspberry Pi4 创建的系统上失败?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么 Xorg 服务器在使用 Buildroot for Raspberry Pi4 创建的系统上失败?的解决方法建议,希望对你解决为什么 Xorg 服务器在使用 Buildroot for Raspberry Pi4 创建的系统上失败?有所启发或帮助;

我正在尝试使用 buildroot 为 RaspBerry Pi4 创建我自己的系统。 目标是使用 Xorg、Qt5 和 OpenGLESv2 硬件渲染制作自定义操作系统。我创建了我的自定义 buildroot 配置,尚无具体内容。与默认的 raspBerry pi4 buildroot 配置非常相似,但启用了 Xorg/Mesa/OpenGLES。我的配置是:

BR2_arm=y
BR2_cortex_a72=y
BR2_ARM_FPU_NEON_VFPV4=y
BR2_CCACHE=y
BR2_CCACHE_DIR="$(BR2_EXTERNAL_I_TREE_PATH)/../.buildroot-ccache"
BR2_TOolCHAIN_buildrOOT_GliBC=y
BR2_TOolCHAIN_buildrOOT_CXX=y
BR2_TARGET_GENERIC_HOSTname="MyHost"
BR2_TARGET_GENERIC_ISSUE="Welcome to MyHost"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_GENERIC_ROOT_PASSWD="4rt56gbd"
BR2_SYstem_DHCP="eth0"
BR2_ROOTFS_USERS_tableS="$(BR2_EXTERNAL_I_TREE_PATH)/board/rpi4/users.txt"
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_I_TREE_PATH)/rootfs_overlay/"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_I_TREE_PATH)/board/rpi4/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_I_TREE_PATH)/board/rpi4/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
BR2_liNUX_KERNEL=y
BR2_liNUX_KERNEL_CUSTOM_TARBALL=y
BR2_liNUX_KERNEL_CUSTOM_TARBall_@R_696_5352@N="$(call github,raspBerrypi,linux,967d45b29ca2902f031b867809d72e3b3d623e7a)/linux-967d45b29ca2902f031b867809d72e3b3d623e7a.tar.gz"
BR2_liNUX_KERNEL_DEFCONfig="bcm2711"
BR2_liNUX_KERNEL_DTS_SUPPORT=y
BR2_liNUX_KERNEL_INTREE_Dts_name="bcm2711-rpi-4-b"
BR2_liNUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_PACKAGE_GLMARK2=y
BR2_PACKAGE_MESA3D_DEMOS=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_galliUM_DRIVER_KMSRO=y
BR2_PACKAGE_MESA3D_galliUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_galliUM_DRIVER_VC4=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XCB_UTIL_cursOR=y
BR2_PACKAGE_XCB_UTIL_KEYSymS=y
BR2_PACKAGE_XCB_UTIL_WM=y
BR2_PACKAGE_XliB_liBFS=y
BR2_PACKAGE_XliB_liBXSCRNSAVER=y
BR2_PACKAGE_XliB_liBXCOMPOSITE=y
BR2_PACKAGE_XliB_liBXFont=y
BR2_PACKAGE_XliB_liBXTST=y
BR2_PACKAGE_XliB_liBXVMC=y
BR2_PACKAGE_XliB_liBXXF86DGA=y
BR2_PACKAGE_XliB_liBDMX=y
BR2_PACKAGE_XAPP_X11PERF=y
BR2_PACKAGE_XAPP_XCALC=y
BR2_PACKAGE_XAPP_XCLOCK=y
BR2_PACKAGE_XDRIVER_XF86_input_KEYBOARD=y
BR2_PACKAGE_XDRIVER_XF86_input_liBinput=y
BR2_PACKAGE_XDRIVER_XF86_input_MOUSE=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBTURBO=y
BR2_PACKAGE_XFont_Font_AdobE_100DPI=y
BR2_PACKAGE_XFont_Font_AdobE_75DPI=y
BR2_PACKAGE_XFont_Font_AdobE_utopIA_100DPI=y
BR2_PACKAGE_XFont_Font_AdobE_utopIA_75DPI=y
BR2_PACKAGE_XFont_Font_AdobE_utopIA_TYPE1=y
BR2_PACKAGE_XFont_Font_araBIC_MISC=y
BR2_PACKAGE_XFont_FonT_BH_100DPI=y
BR2_PACKAGE_XFont_FonT_BH_75DPI=y
BR2_PACKAGE_XFont_FonT_BH_LUCIDATYPEWRITER_100DPI=y
BR2_PACKAGE_XFont_FonT_BH_LUCIDATYPEWRITER_75DPI=y
BR2_PACKAGE_XFont_FonT_BH_TTF=y
BR2_PACKAGE_XFont_FonT_BH_TYPE1=y
BR2_PACKAGE_XFont_FonT_BITSTREAM_100DPI=y
BR2_PACKAGE_XFont_FonT_BITSTREAM_75DPI=y
BR2_PACKAGE_XFont_FonT_BITSTREAM_TYPE1=y
BR2_PACKAGE_XFont_Font_CRONYX_CYRILliC=y
BR2_PACKAGE_XFont_Font_DAEWOO_MISC=y
BR2_PACKAGE_XFont_Font_DEC_MISC=y
BR2_PACKAGE_XFont_Font_IBM_TYPE1=y
BR2_PACKAGE_XFont_Font_ISAS_MISC=y
BR2_PACKAGE_XFont_Font_JIS_MISC=y
BR2_PACKAGE_XFont_Font_MICRO_MISC=y
BR2_PACKAGE_XFont_Font_MISC_CYRILliC=y
BR2_PACKAGE_XFont_Font_MISC_ETHIOPIC=y
BR2_PACKAGE_XFont_Font_MISC_MELTHO=y
BR2_PACKAGE_XFont_Font_MUTT_MISC=y
BR2_PACKAGE_XFont_Font_SCHUMACHER_MISC=y
BR2_PACKAGE_XFont_Font_SCREEN_CYRILliC=y
BR2_PACKAGE_XFont_Font_SONY_MISC=y
BR2_PACKAGE_XFont_Font_SUN_MISC=y
BR2_PACKAGE_XFont_Font_WINITZKI_CYRILliC=y
BR2_PACKAGE_XFont_Font_XFREE86_TYPE1=y
BR2_PACKAGE_XDATA_XcursOR_themeS=y
BR2_PACKAGE_NODM=y
BR2_PACKAGE_XTERM=y
BR2_PACKAGE_OPENBox=y
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
BR2_PACKAGE_RPI_FIRMWARE_X=y
BR2_PACKAGE_python3=y
BR2_PACKAGE_liBDRI2=y
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_SUDO=y
BR2_PACKAGE_S6=y
BR2_PACKAGE_S6_liNUX_UTILS=y
BR2_PACKAGE_S6_PORtable_UTILS=y
BR2_PACKAGE_UTIL_liNUX_BINARIES=y
BR2_PACKAGE_UTIL_liNUX_KILL=y
BR2_PACKAGE_UTIL_liNUX_MOUNT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOolS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOolS=y

第一个问题来自 X 服务器。 它开始工作,但非常奇怪/不正常。 Xorg 日志显示我行:

(II) xfree86: Adding drm device (/dev/dri/card1)
(II) xfree86: Adding drm device (/dev/dri/card0)
(II) no priMary bus or device found falling BACk to sys/devices/platform/gpu/drm/card1

但是在普通的 Raspbian OS X 服务器上,首先添加 card0 然后添加 card1。并使回退到card0。为什么我的 Xorg 以 card1 开头? 我认为这是我的主要问题,因为后来的 GLX 扩展没有启动。所以我无法让 OpenGLES 在我的系统中工作。

在我的 config.txt 中有一行 dtoverlay=vc4-fkms-v3d

我相信 vc4 驱动程序可以正常启动,因为我看到 /dev/dri/card0 /dev/dri/card1 和 /dev/dri/renderD128 设备

也许有人有类似的经历? 我做错了什么?

解决方法

我的错。 我错了,问题是按 /dev/dri/card 的顺序排列的?由 Xorg 添加。 问题不同。内置于 buildroot 的 xserver 需要启用 libglamor?这应该在 buildroot 配置中启用。如果启用,则 es2_info 报告 OpenGLES 没有问题。此外,在我的情况下,glmark2-es2 仍然无法使用错误“无法打开 bo 1:权限被拒绝”

大佬总结

以上是大佬教程为你收集整理的为什么 Xorg 服务器在使用 Buildroot for Raspberry Pi4 创建的系统上失败?全部内容,希望文章能够帮你解决为什么 Xorg 服务器在使用 Buildroot for Raspberry Pi4 创建的系统上失败?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。