Weston and QtVirtualKeyboard

Hi, we are using the Verdin AM62 with the Dahlia Carrier Board (TorizonOS) and we are in the process of making a container that will run our application, however I am facing some issues with certain modules not working as they should, in particular ‘qtvirtualkeyboard’ which does not seem to be supported in Weston. I have seen a patch - input: Add support for zwp_text_input_v3 and zwp_input_method_v2 (7a325073) · Commits · Daniel Stone / weston · GitLab , that seems like it might fix the issue but I wanted to ask here before trying to build Weston from source, in case there was an easier/faster way to get the keyboard to show up as it should. I have also tried to remove weston completely and create a custom compositor based on the Qt Minimal QML compositor example, however the issue is still there when I run both containers (compositor and app). While running the custom compositor I get an error “MESA-LOADER: failed to open tidss: /usr/lib/dri/tidss_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)”. I have tried adding some libraries like “libgl1-mesa-dev”, “libgl1-mesa-dri”, “libgles2-mesa” but they did not make any difference. Has anyone used qtvirtualkeyboard with weston or a custom compositor and made it to work? Is building Weston from source the way to go because that is the next thing I am going to try?

Kind Regards,
Ridvan

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello Ridvan,

Integrating qtvirtualkeyboard with Weston on the Verdin AM62 with Dahlia Carrier Board running TorizonOS can indeed present challenges, primarily due to the specific Wayland protocols and compositor capabilities required by the virtual keyboard. The patch you mentioned, which adds support for zwp_text_input_v3 and zwp_input_method_v2, is crucial for enabling advanced input method features, including virtual keyboards, in Weston. This support is necessary for qtvirtualkeyboard to function correctly, as it relies on these protocols to communicate input events.

Building Weston from source with the mentioned patch applied is a viable approach to resolve this issue. This process allows you to ensure that Weston is equipped with the necessary protocol support for qtvirtualkeyboard. Here are the general steps to build Weston with the patch:

  1. Obtain the Weston Source Code: Clone the Weston repository from its official GitLab or GitHub mirror.
  2. Apply the Patch: Integrate the patch for zwp_text_input_v3 and zwp_input_method_v2 support into the Weston source code. This might involve manually applying the patch file or merging changes if you’re using a version of Weston where the patch does not apply cleanly.
  3. Resolve Dependencies: Install the necessary build dependencies for Weston, which may include development packages for Wayland, libinput, pixman, and Mesa, among others. The exact packages might vary based on the version of Weston and the features you wish to enable.
  4. Configure the Build: Use the meson build system (which Weston uses) to configure your build environment. You might need to specify custom flags to enable or disable specific features.
  5. Build and Install: Compile Weston and install it on your system. Ensure that the installation overwrites the existing Weston compositor if it’s already installed, or adjust your system’s configuration to use the newly built version.

Regarding the Mesa loader error with the custom compositor, it suggests that the system is missing the appropriate Direct Rendering Manager (DRM) driver for the GPU. The Verdin AM62 utilizes a GPU that requires specific drivers, and the error message indicates that the tidss_dri.so driver is not found. This driver is part of the Texas Instruments display subsystem (TIDSS) and is necessary for hardware-accelerated rendering. Ensure that your system’s Mesa installation includes support for the TIDSS driver or that the driver is correctly installed in

Please, also check if these links can help you solve your problem:

Partner Demo Container - Crank Storyboard | Toradex Developer Center.

Greetings @karamanr,

I did some searching and it seems we’ve had other customers in the past similarly try to use QtVirtualKeyboard. They all ended up with the same issue as you where it seems like Weston does not have good compatibility with this virtual keyboard.

Seems like for the most part others have opted to use other virtual keyboard technologies.

You can try to re-build Weston from source, though it’s hard to say how it will go. Obviously we only test what we provide by default so I can’t comment much on anything that deviates from this.

Best Regards,
Jeremias