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 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
-
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 ?