This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3358:无法使用 BeagleBone Black 打开/dev/fb0

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/735121/linux-am3358-cannot-open-dev-fb0-with-beaglebone-black

器件型号:AM3358

工具/软件:Linux

GoodMorning、

我使用的是 BeagleBone Balck、我已成功创建了 Arago-rootfs.tisdk-image 和 meta-toolchain-arago-tisdk。

在 conf/local.conf 中、我添加了 DISTRO 特性_REMOVE =" wayland"、因为我只想使用 EGFLS 模式。 很遗憾、我遇到以下错误:

EGLFS:无法打开/dev/fb0

EGLFS:如果没有显示、则无法继续

我可以确认没有/dev/fb0文件、但在 HDMI 显示器上、我可以看到 Arago 提示登录。

如何添加/dev/fbo? 此外、如果我想让外部 LVDS 显示为/dev/fb1、那么在电路板器件树中添加其 DTS 文件是否足够了?

提前感谢您。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您在这里使用的软件版本是什么?
    请参阅以下指南:
    processors.wiki.ti.com/.../Processor_Linux_SDK_Graphics_and_Display
    "QT 图形框架"一章。
    processors.wiki.ti.com/.../Linux_Core_LCD_Controller_User_Guide

    希望这对您有所帮助。
    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Margarita、您好、感谢您的回答。

    我在网络中搜索了我的问题、发现较新的 Linux 内核版本从 fbdev 帧缓冲区传递到 DRM。

    在路径 CD /sys/dev/class/drm/card0-HDMI-A-1中、文件"status"和"enabled"都被禁用。

    为了解决这一问题、我在 setenv 中添加了 VIDE=HDMI-A-1。 重新启动电路板、然后再次检查"状态"和"已启用"、它们都已启用。

    现在尝试运行 Qt 应用程序、我收到另一条错误消息:

    EGL 错误:无法创建 EGL 表面:错误= 0x3003

    在这里阅读更多  信息,我已经尝试使用导出 QT_QPA_FB_DRM=1,如链接中所述,但它没有改变任何东西。

    此外,除了 Qt 应用程序外,arago-image.inc 中还有 image_features +="package-management splash"我看不到任何闪屏。 一段时间后、我只看到 Arago 项目的控制台。

    你有什么想法吗?

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    明信片:
    软件领域是 Arago 2018.4
    导出 QT_QPA_FB_DRM = 1用于警告 Qt 它必须使用 DRM、而不是/dev/fb0、但我认为还有其他东西。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 user="davidino Brunelli"] EGL 错误:无法创建 EGL 表面:错误= 0x3003

    您是否要停止 Weston?

    /etc/init.d/weston 停止

    BR
    玛格丽塔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Margarita、

    感谢您的回答。 构建映像时、我添加了 DISTR_FITS_REMOVE =" wayland"、因为我想使用 EGFLS。

    我认为这就是我没有 /etc/init.d/weston 文件的原因。

    一些信息:

    如果启动脚本/etc/init.d/./psplash.sh,我可以在屏幕上看到启动屏幕,但它不会在启动阶段出现。 奇怪

    来自 Qt 的完整消息为:

    19:07:24:启动/usr/examples/virtualkeyboard/basic/basic...

    QStandardPaths:XDG_RUNTIME_DIR 未设置、默认为'/tmp/runtime-root

    EGL 错误:无法创建 EGL 表面:错误= 0x3003

    PVR:(错误):WSEGL_CreateWindowDrawable:无法设置 CRTC:无效参数[0,]

    感谢你的帮助。

    Davidino

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 user="davidino Brunelli"]当我构建映像时,我添加了 DISTRO 特性_REMOVE ="航迹",因为我想使用 EGFLS。

    这就是您可以尝试在没有 Weston 的情况下使用默认 FS 运行 qt 的方法。

    PSDK 中的 QT5在启用 Wayland 的情况下预构建、因此 wayland-EGL 是默认的 QPA。 因此、所有 QT 应用程序都应在 Weston 之上运行。 要在没有 Weston 的情况下运行 QT 应用程序,用户可以使用“- platform”选项将所需的 QPA 指定为“linuxfb”或“eglfs”。

    [引用 user="davidino Brunelli">如果启动脚本/etc/init.d/./psplash.sh,我可以在屏幕上看到启动屏幕,但它不会在启动阶段显示。 奇怪。。[/引述]

    根据我的理解、您要启用 u-boot 闪屏、如果是、请参阅以下用户指南:

    processors.wiki.ti.com/.../Processor_SDK_Linux_U-Boot_Splash_Screen

    希望这对您有所帮助。

    BR
    玛格丽塔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Margarita、

    感谢您的消息和有关 PSPLASH 的链接、我将在本周末试用。

    实际上、我仍然可以在屏幕上展示 QtQuick 应用程序。 它不断报告以下消息、即使是/usr/share/qt5/examples.中提供的示例也是如此

    root@AM335x-EVM:~/home/virtualkeyboard/basic #./basic -platform eglfs
    QStandardPaths:XDG_RUNTIME_DIR 未设置、默认为'/tmp/runtime-root
    PVR:(错误):WSEGL_CreateWindowDrawable:无法设置 CRTC:无效参数[0,]
    EGL 错误:无法创建 EGL 表面:错误= 0x3003

    已中止(转储内核)

    我的最终目的是删除任何 Windows 管理器并全屏运行我的应用程序、但在涉及 QPA、eglfs、wenston/wayland 等方面、我绝对是新手

    以下是一些问题:

    1. 您是否曾遇到过 EGL 错误:无法创建 EGL 表面:错误= 0x3003的问题?
    2. 在此主题中  、他们删除了 wayland/wenston 以使用 eglfs 显示应用程序。  在 local.conf 中、我添加  distro_features_remove =" wayland"、我也要删除 wenston 吗? 是否不需要?

    3. 在我的图像中、缺少/etc/init.d/wenston 文件夹、请参阅屏幕截图。 考虑到我的 local.conf、这是否正常?

    在下面您可以找到获取的日志,创建 tisdk-rootfs-image。 我警告没有适用于 wenston_1.11.0.bbappend 的方法。 这是正常的吗?

    警告:
    /home/davide/tisdk/sources/meta-arago/meta-arago-distro/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.8.3.bbappend
    /home/davide/tisdk/sources/meta-processor-sdk/recipes-devtools/python/python3-native_3.5.2.bbappend
    /home/davide/tisdk/sources/meta-processor-sdk/recipes-graphics/wayland/weston_1.11.0.bbappend 没有可用的方法
    注意:解决任何缺失的任务队列相关性
    
    生成配置:
    BB_VERSION ="1.36.0"
    BUIL_SYS ="x86_64-Linux"
    内设 ="Uubuntu-16.04"
    target_SYS ="arm-linux-gnueabi"
    机器 ="AM335x-EVM"
    发行版 ="Arago"
    distro_version ="2018.04"
    TUNE_features ="arm armv7a vfp thumb neon callconvention-hard"
    target_FPU ="硬"
    meta-processor-sdk ="标题:264dc66c689e0e4212c43358382986ee470619d4"
    meta-ROS ="head:e2566402ab108a19634354a934788109422cf409"
    meta-arago-distro
    meta-arago-extras ="head:499f3bf90f9aa78a9dcf51fbf78d13344c81f54d"
    meta 浏览器 ="标题:26d50665e2f7223c5f4ad7481a8d2431e7cb55fb"
    meta-qt5 ="标题:682ad61c071a9710e9f9d8a32ab1b5f3c14953d1"
    元网络
    Meta-python
    Meta-OE
    元- gnome
    元多媒体 ="标题:352531015014d1957d6444d114f4451e241c4d23"
    meta-ti ="标题:8555084679dc5c668e5fb60a16425c32b10ff21"
    meta-linaro-toolchain
    meta-optee ="标题:75dfb67bbb14a70cd47afda9726e2e1c76731885"
    元数据 ="标题:931a52e8698f684ccbb26ddec18764ad9d9a3e8f"
    元自定义 ="MyLab4Branch:db0f3a81d14a9da80d4043f4e25b7e51564cf4fe"
    
    注意:正在执行 Set828e 任务
    注意:正在运行 setscene 任务273 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_package_write_ipk_staging scene)
    注意:正在运行 setds_doce+cepce_stepce_stepce_stepce_stepce_stepce_stepce_stepce.task:/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
    
    /home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
    
    :/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb 启动
    注释:食谱 u-boot-ti-stage-2018.01+gitAUTOINC+131dc82830-R9:task do_populate_sysroot_setscene:started
    注释:食谱 u-boot-ti-stage-2018.01+gitsce+131dc82830-R9:task dcwest_stage+task_stage-sce+dCC139+geste+tes+tes+task_ste+dCC139+tes+gest_ste+tes+tes+gest_ste+tes+task-r1+
    
    tes+geste+ task-sce+ tese-sce+ tese-sce+ tese-sce+ tese-sce+ tese-sce+dCC13081-tese-sce+tese-sce+geste+ tes+geste+tese-sce+ tese-sce+tese-sce+ tese-sce+r201-tese-sce+
    /home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
    
    
    启动
    注释:pipe u-boot-ti-stage-2018.01+gitAUTOINC+131dc82830-R9:task do_package_qa_setscene:succeeded
    注意:正在运行 setscene task 288 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_packagedata_setsceet:
    task+dcout_stage-task+dCC139+geste+
    task_setrqe+ task+dc13dcs_stage-task+task+dc181-rqe+ task_setrqe+ task_stageste+ task-rqe+ task-rqe+ task-rqe+ task_rqe+ task-rqe+ task-state+dCC13dCC13dCC13dCC13dCC13dCC-ste+ task_ste+ task_ste+ task_ste+ task_ste+ task_state+dCC13dCC13dCC13dCC13dCC13
    /home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
    
    
    执行运行队列任务
    注:运行851的任务600 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_rm_work)
    注:AUTOu-boot-ti-stage-2018.01+gitAutoINC+131dc82830-R9:task do_rm_work:started
    注:pipe u-boot-ti-stage-2018.01+gitAutoexec+131dc82830-R9:task do_rrm_work:started (task u-boot-task-2018.51:
    /home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb
    /home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb)备注:task_r851_r_r_r_rwu_work:task:task_r851_r_r_r851_r_r_exec_r_r_r_r_r
    已尝试851个任务、其中848个不需要重新运行、全部成功。 

    非常感谢您的友好支持。

    此致、

    Davide Brunelli

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请参阅下面的文章。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Davide、

    关于帧缓冲器、我建议您查看本指南:
    processors.wiki.ti.com/.../Linux_Core_LCD_Controller_User_Guide
    有关如何删除航迹的信息(software-dl.ti.com/.../Overview_Building_the_SDK.html):)
    "在没有 Wayland 的情况下重建

    如果不需要完整窗口系统、即如果您只想让应用程序使用 EGLFS 运行全屏、则可以在调用 bitbake 之前立即在 conf/local.conf 的底部添加以下内容以删除 Wayland:

    DISTR_FITS_REMOVE ="航迹"
    "

    您可以运行命令:
    并检查报告的内容。 如果您使用默认的 PSDK 和 wayland、则必须在运行 eglinfo 之前停止 Weston。
    是否可以尝试使用默认的 PSDK 但使用 cp 并安装 qtvirtualkeyboard 并在运行之前停止 Weston:
    /basic -platform eglfs
    无法查询物理屏幕大小,默认为100 dpi。
    要覆盖、请设置 QT_QPA_EGLFS_physical 和 QT_QPA_EGLFS_physical 高度(以毫米为单位)。
    我还建议您检查此主题:
    e2e.ti.com/.../691160

    BR
    玛格丽塔