大佬教程收集整理的这篇文章主要介绍了为什么 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,请注明来意。