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: Cannot open /dev/fb0 with Beaglebone black

Part Number: AM3358

Tool/software: Linux

Goodmorning,

I'm using a beaglebone balck and I have succesfully created the arago-rootfs.tisdk-image and meta-toolchain-arago-tisdk.

In conf/local.conf I added DISTRO_FEATURES_remove = " wayland" since I wanted to use EGFLS mode only. Unfortunately I get the following error:

EGLFS: Failed to open /dev/fb0

EGLFS: Can't continue without a display

I can confirm you that there is no /dev/fb0 fle, however on hdmi monitor I can see the Arago prompt for logging in.

How can I add /dev/fbo? Besides if I wanted to have an external LVDS display as /dev/fb1, is it sufficient to add its dts file in the board device tree?

Thank you in advance.

  • Hello,

    What is the software release that you are using here?
    Please refer these guides:
    processors.wiki.ti.com/.../Processor_Linux_SDK_Graphics_and_Display
    chapter "QT Graphics Framework".
    processors.wiki.ti.com/.../Linux_Core_LCD_Controller_User_Guide

    Hope this helps.
    BR
    Margarita
  • Hello Margarita, thank you for your answer.

    I searched in the net about my issue, and I discovered that more recent Linux kernel versions passed from fbdev frame buffer to drm.

    In the path cd /sys/dev/class/drm/card0-HDMI-A-1, the files "status" and "enabled" are both disabled.

    To resolve this, I've added in setenv, video=HDMI-A-1. Restarting the board, and checking again "status " and "enabled" they are both enabled.

    Now trying to run my Qt application, I get a different error message:

    EGL Error : Could not create the egl surface: error = 0x3003

    Reading more here , I've tried to use export QT_QPA_FB_DRM=1, as explained in the link, but it doesn't change a thing.

    Besides , aside the Qt application, inside arago-image.inc, there is IMAGE_FEATURES += "package-management splash", I do not see any splash screen. After a while I just see the console of Arago Project.

    Have you got any ideas?

    Thank you.

  • PostNote:
    The software realease is Arago 2018.4
    export QT_QPA_FB_DRM = 1 is used to warn Qt that it has to use DRM and not /dev/fb0, but I think that there is something else.
  • Hello,

    davidino brunelli said:
    EGL Error : Could not create the egl surface: error = 0x3003

    Are you stopping weston?

    /etc/init.d/weston stop

    BR
    Margarita

  • Hello Margarita,

    thank you for your answer. When I built the image I added DISTRO_FEATURES_remove = " wayland" because I want to work with EGFLS.

    I reckon that's the reason why I haven't  got /etc/init.d/weston file.

    Some information:

    If I launch the script /etc/init.d/./psplash.sh , I can see the splash screen on the screen, but it doesn't appear at boot stage. Strange..

    The complete message from Qt is:

    19:07:24: Starting /usr/examples/virtualkeyboard/basic/basic...

    QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'

    EGL Error : Could not create the egl surface: error = 0x3003

    PVR:(Error): WSEGL_CreateWindowDrawable: Couldn't set CRTC: Invalid argument [0, ]

    Thank you for your help.

    Davidino

  • Hello,

    davidino brunelli said:
    When I built the image I added DISTRO_FEATURES_remove = " wayland" because I want to work with EGFLS.

    This is how you could try to run qt without weston with the default fs.

    "The QT5 within PSDK is prebuilt with Wayland enabled and therefore wayland-egl is the default QPA. Hence all QT applications should be run on top of Weston. To run QT application without Weston, the user can use “- platform” option to specify the desired QPA as “linuxfb” or “eglfs"."

    davidino brunelli said:
    If I launch the script /etc/init.d/./psplash.sh , I can see the splash screen on the screen, but it doesn't appear at boot stage. Strange..

    Per my understanding you want to enable u-boot splash screen, if yes please refer the below user guide:

    http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_U-Boot_Splash_Screen

    Hope this helps.

    BR
    Margarita

  • Hello Margarita,

    thank you for your message and the link about psplash, I'll try this weekend.

    Actually I'm still figthing for showing a QtQuick application on screen. It keeps reporting the following message, even with the examples provided in /usr/share/qt5/examples.

    root@am335x-evm:~/home/virtualkeyboard/basic# ./basic -platform eglfs
    QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
    PVR:(Error): WSEGL_CreateWindowDrawable: Couldn't set CRTC: Invalid argument [0, ]
    EGL Error : Could not create the egl surface: error = 0x3003

    Aborted (core dumped)

    My final purpose is to remove any windows manager and run my application full screen, but I'm definetely a newbie when it comes to QPA, eglfs,wenston/wayland, etc.

    Here some questions:

    1. Have you ever faced the problem EGL Error : Could not create the egl surface: error = 0x3003?
    2. In this thread they removed wayland/wenston to display app using eglfs.  When in local.conf, I add DISTRO_FEATURES_remove = " wayland", do I remove wenston as well? Is it not needed?

    3. In my image, /etc/init.d/wenston folder is missing, see screenshot. Is it normal considering my local.conf?

    Below you can find the log obtained, creating tisdk-rootfs-image. I warns No recipes available for wenston_1.11.0.bbappend. Is it normal?

    WARNING: No recipes available for:
      /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
    NOTE: Resolving any missing task queue dependencies
    
    Build Configuration:
    BB_VERSION           = "1.36.0"
    BUILD_SYS            = "x86_64-linux"
    NATIVELSBSTRING      = "ubuntu-16.04"
    TARGET_SYS           = "arm-linux-gnueabi"
    MACHINE              = "am335x-evm"
    DISTRO               = "arago"
    DISTRO_VERSION       = "2018.04"
    TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard"
    TARGET_FPU           = "hard"
    meta-processor-sdk   = "HEAD:264dc66c689e0e4212c43358382986ee470619d4"
    meta-ros             = "HEAD:e2566402ab108a19634354a934788109422cf409"
    meta-arago-distro    
    meta-arago-extras    = "HEAD:499f3bf90f9aa78a9dcf51fbf78d13344c81f54d"
    meta-browser         = "HEAD:26d50665e2f7223c5f4ad7481a8d2431e7cb55fb"
    meta-qt5             = "HEAD:682ad61c071a9710e9f9d8a32ab1b5f3c14953d1"
    meta-networking      
    meta-python          
    meta-oe              
    meta-gnome           
    meta-multimedia      = "HEAD:352531015014d1957d6444d114f4451e241c4d23"
    meta-ti              = "HEAD:8555084679dc5c668e5fb60a16425ca32b10ff21"
    meta-linaro-toolchain 
    meta-optee           = "HEAD:75dfb67bbb14a70cd47afda9726e2e1c76731885"
    meta                 = "HEAD:931a52e8698f684ccbb26ddec18764ad9d9a3e8f"
    meta-custom          = "MyLab4Branch:db0f3a81d14a9da80d4043f4e25b7e51564cf4fe"
    
    NOTE: Executing SetScene Tasks
    NOTE: Running setscene task 273 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_package_write_ipk_setscene)
    NOTE: Running setscene task 275 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_deploy_setscene)
    NOTE: Running setscene task 277 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_populate_sysroot_setscene)
    NOTE: Running setscene task 281 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_populate_lic_setscene)
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_package_write_ipk_setscene: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_deploy_setscene: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_populate_sysroot_setscene: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_populate_lic_setscene: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_populate_sysroot_setscene: Succeeded
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_package_write_ipk_setscene: Succeeded
    NOTE: Running setscene task 285 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_package_qa_setscene)
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_deploy_setscene: Succeeded
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_populate_lic_setscene: Succeeded
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_package_qa_setscene: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_package_qa_setscene: Succeeded
    NOTE: Running setscene task 288 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_packagedata_setscene)
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_packagedata_setscene: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_packagedata_setscene: Succeeded
    NOTE: Running setscene task 290 of 290 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_create_srcipk_setscene)
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_create_srcipk_setscene: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_create_srcipk_setscene: Succeeded
    NOTE: Executing RunQueue Tasks
    NOTE: Running task 600 of 851 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_rm_work)
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_rm_work: Started
    NOTE: recipe u-boot-ti-staging-2018.01+gitAUTOINC+131dc82830-r9: task do_rm_work: Succeeded
    NOTE: Running noexec task 850 of 851 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_rm_work_all)
    NOTE: Running noexec task 851 of 851 (/home/davide/tisdk/sources/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_build)
    NOTE: Tasks Summary: Attempted 851 tasks of which 848 didn't need to be rerun and all succeeded.

    Thank you very much for your kind support.

    Best Regards,

    Davide Brunelli

  • Please see post below.
  • Hello Davide,

    Regarding frame buffer I would recommend you to check this guide:
    processors.wiki.ti.com/.../Linux_Core_LCD_Controller_User_Guide
    Regarding how to remove wayland (software-dl.ti.com/.../Overview_Building_the_SDK.html):
    "Rebuilding without Wayland

    If a full Window system is not needed, i.e. if you simply want apps to run full screen using EGLFS then you can remove Wayland by adding the following to the bottom of conf/local.conf immediately before invoking bitbake:

    DISTRO_FEATURES_remove = "wayland"
    "

    You could run command :
    eglinfo and check what it is reporting. If you are using default PSDK with wayland in this case weston must be stop before to run eglinfo.
    Could you try with the default PSDK but cp and install the qtvirtualkeyboard and stop weston before to run it:
    ./basic -platform eglfs
    Unable to query physical screen size, defaulting to 100 dpi.
    To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
    I would recommend you to check this thread also:
    e2e.ti.com/.../691160

    BR
    Margarita