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: unable to initialise EGL and PVRSRVConnect: Unable to open connection. [0, ] , shows please wait on hdmi lcd

Part Number: AM3358

Tool/software: Linux

showing  please wait ..  on hdmi lcd  through beaglebone .

through create_sd_card.sh created boot and rootfs MLO and uboot.img files are created in boot partition .

I removed mlo and uboot.img images and recompiled the sdk by make command , I removed mlo and u-boot.img and replaced new mlo and u-boot.img .

I able to boot the linux kernel , but problem is matrix gui not starting and while opening qt5 examples , it shows failed to create a display . and shows please wait on the hdmi lcd .

response for eglinfo , lsmod ,modinfo pvrsrvkm  , modetest are 


root@am335x-evm:~# eglinfo

PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
PVR:(Error): PVRSRVConnect: Unable to open connection. [0, ]
PVR:(Error): Couldn't connect to services [0, ]
Unable to initialise egl
egl error 'EGL_BAD_ALLOC' (0x3003)

root@am335x-evm:~# modinfo pvrsrvkm
filename: /lib/modules/4.14.79-gbde58ab01e/extra/pvrsrvkm.ko
license: Dual MIT/GPL
author: Imagination Technologies Ltd. <gpl-support@imgtec.com>
license: Dual MIT/GPL
author: Imagination Technologies Ltd. <gpl-support@imgtec.com>
srcversion: 533BB7E5866E52F63B9ACCB
alias: of:N*T*Cti,am3352-sgx530C*
alias: of:N*T*Cti,am3352-sgx530
depends:
name: pvrsrvkm
vermagic: 4.14.79-gbde58ab01e preempt mod_unload modversions ARMv7 p2v8
parm: gPVRDebugLevel:Sets the level of debug output (default 0x7) (uint)

root@am335x-evm:~# lsmod
Module Size Used by
sha512_generic 20480 0
sha512_arm 24576 0
sha256_generic 20480 0
sha1_generic 16384 0
sha1_arm_neon 20480 0
sha1_arm 16384 1 sha1_arm_neon
md5 16384 0
aes_arm_bs 20480 0
crypto_simd 16384 1 aes_arm_bs
cryptd 24576 1 crypto_simd
des_generic 28672 0
cbc 16384 0
xfrm_user 32768 2
xfrm4_tunnel 16384 0
ipcomp 16384 0
xfrm_ipcomp 16384 1 ipcomp
esp4 20480 0
ah4 16384 0
af_key 36864 0
xfrm_algo 16384 5 xfrm_user,esp4,ah4,af_key,xfrm_ipcomp
pvrsrvkm 413696 0
pru_rproc 20480 0
pruss_intc 16384 1 pru_rproc
hid_multitouch 20480 0
usbhid 28672 0
arc4 16384 2
wl18xx 98304 0
wlcore 188416 1 wl18xx
mac80211 393216 2 wl18xx,wlcore
cfg80211 245760 3 wl18xx,wlcore,mac80211
usb_f_acm 16384 1
u_serial 20480 3 usb_f_acm
pruss 16384 1 pru_rproc
usb_f_ecm 16384 1
musb_dsps 20480 0
musb_hdrc 98304 1 musb_dsps
phy_am335x 16384 2
phy_am335x_control 16384 1 phy_am335x
phy_generic 16384 1 phy_am335x
g_multi 16384 0
usb_f_mass_storage 40960 2 g_multi
usb_f_rndis 24576 2 g_multi
u_ether 20480 3 usb_f_ecm,g_multi,usb_f_rndis
libcomposite 53248 5 usb_f_ecm,usb_f_acm,usb_f_mass_storage,g_multi,usb_f_rndis
udc_core 28672 8 usb_f_ecm,usb_f_acm,usb_f_mass_storage,u_serial,musb_hdrc,u_ether,usb_f_rndis,libcomposite
pm33xx 16384 0
snd_soc_simple_card 16384 0
snd_soc_simple_card_utils 16384 1 snd_soc_simple_card
wkup_m3_rproc 16384 1
wkup_m3_ipc 16384 1 pm33xx
remoteproc 40960 3 pru_rproc,wkup_m3_rproc,wkup_m3_ipc
omap_aes_driver 24576 0
crypto_engine 16384 1 omap_aes_driver
omap_sham 28672 0
omap_crypto 16384 1 omap_aes_driver
pruss_soc_bus 16384 0
ti_emif_sram 16384 1 pm33xx
wlcore_sdio 16384 0
at24 16384 0
rtc_omap 20480 2
musb_am335x 16384 0
omap_wdt 16384 0
sch_fq_codel 20480 6
uio_module_drv 16384 0
uio 20480 1 uio_module_drv
ftdi_sio 40960 0
usbserial 36864 1 ftdi_sio
usbcore 204800 4 usbhid,ftdi_sio,musb_hdrc,usbserial
usb_common 16384 6 phy_am335x,udc_core,musb_hdrc,libcomposite,musb_dsps,usbcore
cryptodev 45056 1


root@am335x-evm:~# modetest
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...failed
trying to open device 'exynos'...failed
trying to open device 'tilcdc'...done
[ 4511.882033] tda998x 0-0070: read edid timeout
[ 4511.887985] tda998x 0-0070: failed to read EDID
Encoders:
id crtc type possible crtcs possible clones
29 28 TMDS 0x00000001 0x00000000

Connectors:
id encoder status name size (mm) modes encoders
30 29 connected HDMI-A-1 0x0 5 29
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
1024x768 60 1024 1048 1184 1344 768 771 777 806 65000 flags: nhsync, nvsync; type: driver
800x600 60 800 840 968 1056 600 601 605 628 40000 flags: phsync, pvsync; type: driver
800x600 56 800 824 896 1024 600 601 603 625 36000 flags: phsync, pvsync; type: driver
848x480 60 848 864 976 1088 480 486 494 517 33750 flags: phsync, pvsync; type: driver
640x480 60 640 656 752 800 480 490 492 525 25175 flags: nhsync, nvsync; type: driver
props:
1 EDID:
flags: immutable blob
blobs:

value:
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0
5 link-status:
flags: enum
enums: Good=0 Bad=1
value: 0

CRTCs:
id fb pos size
28 37 (0,0) (1024x768)
1024x768 60 1024 1048 1184 1344 768 771 777 806 65000 flags: nhsync, nvsync; type: driver
props:

Planes:
id crtc fb CRTC x,y x,y gamma size possible crtcs
27 28 37 0,0 0,0 0 0x00000001
formats: RG16 BG24 XB24
props:
6 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 1

Frame buffers:
id size pitch

root@am335x-evm:~# kmscube -a
### Enabling all displays
trying to load module omapdrm...failed.
trying to load module tilcdc...success.
[ 4574.141846] tda998x 0-0070: read edid timeout
[ 4574.147762] tda998x 0-0070: failed to read EDID
### Display [0]: CRTC = 28, Connector = 30, format = 0x36314752
Mode chosen [1024x768] : Clock => 65000, Vertical refresh => 60, Type => 64
Horizontal => 1024, 1048, 1184, 1344, 0
Vertical => 768, 771, 777, 806, 0
### Primary display => ConnectorId = 30, Resolution = 1024x768
failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
loaded module : gbm_pvr.so
found valid GBM backend : gbm_pvr.so
PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
PVR:(Error): PVRSRVConnect: Unable to open connection. [0, ]
PVR:(Error): Couldn't connect to services [0, ]
failed to initialize
failed to initialize EGL

  • Hello,

    manoj sai said:
    I able to boot the linux kernel , but problem is matrix gui not starting and while opening qt5 examples , it shows failed to create a display . and shows please wait on the hdmi lcd .

    It seems to me like weston is not working.

    Please try to connect a USB mouse or add require-input=false option to [core] section in /etc/weston.ini file.

    I would recommend you to take a look into this guide:

    http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Graphics.html

    Please make sure you have follow this chapter:

    http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Graphics.html#am3-beagle-bone-black-board-configuration

    Hope this helps.

    BR
    Margarita

  • followed  this steps

    /etc/powervr.ini: add DefaultPixelFormat=RGB565
    /etc/weston.ini: add gbm-format=rgb565 at section [core]
    /etc/profile.d/qt_env.sh: add export QT_QPA_EGLFS_INTEGRATION=none

    => setenv optargs video=HDMI-A-1:1024x768
    => saveenv
    add the HDMI-A configuration to /etc/weston.ini in a new “output” section, as shown below:
    [output]
    name=HDMI-A-1
    mode=1024x768

    attached mouse .

    still facing the problem

  • Hello,

    I see this :
    trying to load module omapdrm...failed.
    trying to load module tilcdc...success.
    [ 4574.141846] tda998x 0-0070: read edid timeout
    [ 4574.147762] tda998x 0-0070: failed to read EDID
    Did you modify the kernel? or else?
    Did you rebuild the sgx-km module also?
    Please take a look into this thread:
    e2e.ti.com/.../681626
    If you try with another display do you observe the same issue?

    BR
    Margarita

  • hello margaita ,

    i am unable to solve the probelm .
    when i am using beaglebone ,

    able to dispaly matrix gui , but when i am selecting 1 ) Install pre-built images from SDK while create_sd_card script .

    but with our custom board which same as beaglebone i am unable to boot linux also .

    so with suggestion of kemal ,
    e2e.ti.com/.../801077 through this post able to boot

    by changing the broken-cd line in dtsi file and compile the uboot . so i removed the default created mlo and uboot.img and replaced the new mlo and u-boot.img . so that i can boot linux with our custom board . but the problem is lcd dispaly please wait .. and '

    while checking eglinfo , error follows ,


    PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
    PVR:(Error): PVRSRVConnect: Unable to open connection. [0, ]
    PVR:(Error): Couldn't connect to services [0, ]
    Unable to initialise egl
    egl error 'EGL_BAD_ALLOC' (0x3003)
    root@am335x-evm:~# [ 146.939066] NET: Registered protocol family 15
    [ 147.130885] Initializing XFRM netlink socket


    and run any qt5 sample example , it shows failed to create a display .


    I checked through beaglebone aslo after changing mlo and uboot.img , beaglebone also shows the same error .

    I am unable to find that I am not changing or removing any files of the rootfs partition

    But with 1 ) Install pre-built images from SDK while create_sd_card script step in beaglebone able to display lcd and run qt5 example projects ..


    with change or uboot.img and mlo file , why sgx ,egl , pvr errors are arising ?
  • Hello,

    Most of the time when this error is observed is because the kernel is modified, but sgx-km module is not rebuilt. The reason is sgx-km and sgx-um are not compatible(e2e.ti.com/.../574436).
    But from what I see you are using the default kernel and default sgx-km module.

    "trying to open device 'omapdrm'...failed
    trying to open device 'exynos'...failed
    trying to open device 'tilcdc'...done
    [ 4511.882033] tda998x 0-0070: read edid timeout
    [ 4511.887985] tda998x 0-0070: failed to read EDID"

    Please check these threads:
    e2e.ti.com/.../606619
    e2e.ti.com/.../681626
    and
    software-dl.ti.com/.../Foundational_Components_Kernel_Drivers.html

    Best Regards,
    Margarita

  • hello Margarita Gashova ,

    from my observations

    my custom board device tree model shows ,TI AM335x BeagleBone Black wireless
    but beagle bone shows ,TI AM335x BeagleBone Black .

    custom board is taking am335x-boneblack-wireless.dtb

    but beagle bone is taking m335x-boneblack.dtb which is done through prebuilt image

    problem is as per my observation , am335x-boneblack-wireless.dts has not enabling sgx related things .


    beaglebone with prebuilt images :

    (07:37:01 IST) testuser:
    root@am335x-evm:/proc/device-tree# cat compatible
    ti,am335x-bone-blackti,am335x-boneti,am33xx
    (07:37:33 IST) testuser:
    ti,am335x-bone-blackti,am335x-boneti,am33xxroot@am335x-evm:/proc/device-tree# cat model
    TI AM335x BeagleBone Black


    ==> /proc/device-tree/compatible <==
    ti,am335x-bone-black@ti,am335x-bone@ti,am33xx@

    in custom board :



    ==> /proc/device-tree/compatible <==
    ti,am335x-bone-blackwireless@ti, am335x-bone-black@ti,am335x-bone@ti,am33xx@




    how to remove am335x-boneblack-wireless.dtb in uboot code to take am335x-bone-blackti .dtb as device tree for uboot
  • Hello,

    If you execute printenv command in u-boot you could check the board_name and the dtb that is loaded.
    For example:
    ...
    board_name=am57xx_evm_reva3
    ...
    if test $board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-evm-reva3.dtb

    Please refer the below guide how you could load dtb file:
    processors.wiki.ti.com/.../How_to_Change_dtb_File

    BR
    Margarita
  • root@am335x-evm:~# cat /run/media/mmcblk0p1/uboot.env
    �f+arch=armargs_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}baudrate=115200board=am335xboard_name=A335BNLTboard_rev=BWA5boot_a_scri

    In Uboot.env , i changed the board_name=A335BNLT , default it was BBBW .

    but

    U-Boot 2018.01-00558-gcd25eb3-dirty (May 14 2019 - 17:46:28 +0530)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x BeagleBone Black
    DRAM: 512 MiB
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Warning - bad CRC, using default environment

    <ethaddr> not set. Validating first E-fuse MAC
    Net: Could not get PHY for cpsw: addr 0
    cpsw, usb_ether
    Hit any key to stop autoboot: 0
    => printenv
    arch=arm
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
    baudrate=115200
    board=am335x
    board_name=BBBW
    board_rev=BWA5


    but still board_name shows board_name=BBBW .

    In run/media/mmc../ , uboot.env file is there , i didnt found uenv.txt . can we edit that file ?
  • Hello,

    It will be better if you open a new e2e thread for your u-boot question.

    Thank you!


    Best Regards,
    Margarita

  • problem is solved by taking am335x-boneblack.dtb rather than am335x-boneblack-wireless.dtd , as it has not enabled sgx .