Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

qtwebengine add speech-dispatcher on YOCTO



  • Hello,

    I work on embedded environment ( YOCTO ), with the following context :

    qt: 5.9.2
    SRCREV_qtwebengine = "c11c2c8981e647c1eb2c6753ce77d436b92fff87"
    SRCREV_chromium = "cfe8c60903b327ac94406661350f4ac05aa8c21b"

    So, I use the layer of QT5 :

    https://github.com/meta-qt5/meta-qt5

    with the commit : bbb304456978fa9713932e9ff529d18a5ef2a947

    I can run correctly the browser : quicknanobrowser

    I also can run correctly speech-dispatcher with espeak

    When running quicknanobrowser on website using web speech api, it does not work ( no voices listed, no audio output) even if web speech synthesis support seems to be detected.

    Does qtwebengine supports Web Speech API?
    If yes, how qtwebengine must be configured to support Web Speech Api (webrtc...)?

    Regards



  • @ljoli : just a little up



  • @ljoli said in qtwebengine add speech-dispatcher on YOCTO:

    quicknanobrowser

    Did you try to run with --disable-sandbox?
    If it does not work, enable the logs and paste the output here.

    Reference: https://doc.qt.io/qt-5.11/qtwebengine-debugging.html


    Cleiton Bueno

    Blog | Linkedin | B2Open



  • Hello Cleiton-Bueno,

    When I try with the option "--disable-sandbox" that do nothing.

    user01@XXX:~# ./quicknanobrowser -platform eglfs https://codepen.io/SteveJRobertson/full/emGWaR  --disable-sandbox
    QML debugging is enabled. Only use this in a safe environment.
    QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
    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).
    shared memfd open() failed: Function not implemented
    TouchPointPressed without previous release event QQuickEventPoint(valid:true accepted:false state:Pressed scenePos:QPointF(715.338,298.844) id:2000002 timeHeld:0)
    
    
    

    I have no voices list and audio output.

    /////////// DEBUG
    So, I added some variables environment like :

    export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="/dev/input/event4"
    export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=""
    export QT_QPA_EVDEV_MOUSE_PARAMETERS=""
    export QT_QPA_GENERIC_PLUGINS=""
    export QT_QPA_PLATFORM=eglfs
    export QSG_INFO=1
    export QT_LOGGING_RULES=qt.qpa.*=true
    export QT_QPA_EGLFS_DEBUG
    

    All this variables, give the following trace :

    user01@XXX:~# ./quicknanobrowser -platform eglfs https://codepen.io/SteveJRobertson/full/emGWaR  -disable-sandbox
    QML debugging is enabled. Only use this in a safe environment.
    QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
    qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_emu", "eglfs_kms")
    qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms", "eglfs_emu")
    qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
    qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created
    qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
    qt.qpa.eglfs.kms: platformInit: Opening DRM device
    qt.qpa.input: udev device discovery for type QFlags<QDeviceDiscovery::QDeviceType>(Device_DRM|Device_VideoMask)
    qt.qpa.input: Found matching devices ("/dev/dri/card0")
    qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0")
    qt.qpa.eglfs.kms: Using "/dev/dri/card0"
    qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0
    qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0"
    qt.qpa.eglfs.kms: "DSI1" mode count: 1
    qt.qpa.eglfs.kms: mode 0 1080 x 1920 @ 60 hz
    qt.qpa.eglfs.kms: Selected mode 0 : 1080 x 1920 @ 60 hz for output "DSI1"
    qt.qpa.eglfs.kms: Physical size is QSizeF(0, 0) mm for output "DSI1"
    qt.qpa.eglfs.kms: Creating new global GBM mouse cursor
    qt.qpa.eglfs.kms: Initializing cursor atlas from ":/cursor.json"
    qt.qpa.eglfs.kms: Sorted screen list: QVector(OrderedScreen(QPlatformScreen=0x97665f8 ("DSI1") : 2147483647 / QPoint(0,0) / primary: false))
    qt.qpa.eglfs.kms: Adding QPlatformScreen 0x97665f8 ( "DSI1" ) to QPA with geometry QRect(0,0 1080x1920) and isPrimary= false
    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).
    qt.qpa.input: libinput: input device 'goodix_ts', /dev/input/event4 is tagged by udev as: Keyboard Touchscreen
    qt.qpa.input: libinput: input device 'goodix_ts', /dev/input/event4 is a keyboard
    qt.qpa.input: libinput: input device 'goodix_ts', /dev/input/event4 is a touch device
    qt.qpa.input: libinput: input device 'kpd-xgold', /dev/input/event0 is tagged by udev as: Keyboard Touchscreen
    qt.qpa.input: libinput: input device 'kpd-xgold', /dev/input/event0 is a keyboard
    qt.qpa.input: libinput: input device 'kpd-xgold', /dev/input/event0 is a touch device
    qt.qpa.input: libinput: input device 'xgold-on-button', /dev/input/event1 is tagged by udev as: Keyboard Touchscreen
    qt.qpa.input: libinput: input device 'xgold-on-button', /dev/input/event1 is a keyboard
    qt.qpa.input: libinput: input device 'xgold-on-button', /dev/input/event1 is a touch device
    qt.qpa.input: libinput: input device 'xgold_afe-audio Headset', /dev/input/event3 is tagged by udev as: Keyboard Touchscreen
    qt.qpa.input: libinput: input device 'xgold_afe-audio Headset', /dev/input/event3 is a keyboard
    qt.qpa.input: libinput: input device 'xgold_afe-audio Headset', /dev/input/event3 is a touch device
    qt.qpa.input: libinput: input device 'ecompass_data', /dev/input/event2 is tagged by udev as: Touchscreen Accelerometer
    qt.qpa.input: libinput: input device 'ecompass_data', /dev/input/event2 is a touch device
    qt.qpa.input: Using xkbcommon for key mapping
    qt.qpa.eglfs.kms: Creating native off screen window
    shared memfd open() failed: Function not implemented
    qt.scenegraph.general: threaded render loop
    qt.scenegraph.general: Using sg animation driver
    qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
    qt.qpa.eglfs.kms: Creating window for screen "DSI1"
    qt.qpa.eglfs.kms: Creating native off screen window
    qt.scenegraph.general: Using sg animation driver
    qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
    qt.scenegraph.general: texture atlas dimensions: 2048x2048
    qt.scenegraph.general: R/G/B/A Buffers:    8 8 8 8
    qt.scenegraph.general: Depth Buffer:       24
    qt.scenegraph.general: Stencil Buffer:     8
    qt.scenegraph.general: Samples:            0
    qt.scenegraph.general: GL_VENDOR:          ARM
    qt.scenegraph.general: GL_RENDERER:        Mali-450 MP
    qt.scenegraph.general: GL_VERSION:         OpenGL ES 2.0
    qt.scenegraph.general: GL_EXTENSIONS:      GL_OES_get_program_binary GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_EGL_image GL_OES_depth24 GL_OES_standard_derivatives GL_ARM_mali_shader_binary GL_EXT_discard_framebuffer GL_EXT_compressed_ETC1_RGB8_sub_texture GL_OES_depth_texture_cube_map GL_OES_vertex_array_object GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_compressed_ETC1_RGB8_texture GL_ARM_shader_framebuffer_fetch GL_OES_vertex_half_float GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_robustness GL_EXT_multisampled_render_to_texture GL_EXT_shader_texture_lod GL_KHR_debug GL_ARM_rgba8 GL_OES_depth_texture GL_OES_packed_depth_stencil GL_OES_texture_npot GL_OES_EGL_image_external GL_ARM_mali_program_binary GL_OES_mapbuffer
    qt.scenegraph.general: Max Texture Size:  4096
    qt.scenegraph.general: Debug context:     false
    
    


  • Hi,

    ///////// chromium-browser
    I tested speech-dispatcher with chromium-browser 65.0.3325.181.
    And when I go to the following website, that's work : https://codepen.io/matt-west/pen/wGzuJ
    I have a list of voice.

    I run it with the flags :

    cat /etc/chromium-browser/default

    1 # Default settings for chromium-browser. This file is sourced by /bin/sh from
    2 # /usr/bin/chromium-browser
    3
    4 # Options to pass to chromium-browser
    5 CHROMIUM_FLAGS="--enable-speech-dispatcher"

    chromium-browser https://codepen.io/matt-west/pen/wGzuJ

    ////////// quicknanobrowser
    But when I compile quicknanobrowser ( with ubuntu 18.04 and QT5.11.0 ) , I tested the same website, and I have no voice list.

    QTWEBENGINE_CHROMIUM_FLAGS="--enable-logging --log-level=1 --no-sandbox --v=2 " ./quicknanobrowser-5.11.0

    Do you know where can I find all FLAGS for QTWEBENGINE_CHROMIUM_FLAGS ?



  • Hello,

    I have not fix this issue.
    Do you have any idea ?


Log in to reply