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.

AM3354: Virtual keyboard is malfunctioning on AM335X (the problem of disappearing text)

Part Number: AM3354

Virtual keyboard is malfunctioning on AM335X (the problem of disappearing text)

CPU: AM3354
SDK: ti-processor-sdk-linux-am335x-evm-06.00.00.07
Qt Version :5.11.3
image:tisdk-rootfs-image-am335x-evm.tar.xz
QT platform eglfs

When using the virtual keyboard function, I have been inputting simplified Chinese or traditional Chinese characters, and the text disappears.

Can you provide assistance and advice?

================================================= ==
root@am335x-evm:~/nfs/qtvirtualkeyboard/examples/virtualkeyboard/basic# ./basic
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).

 ========

  • Hello,

    Could you please try running the following default Qt example and see if you are able to replicate the issue?

    Regards,
    Krunal

  • Dear Krunal,

    Hello,and thanks for your response.

    I have the same problem with "qtvirtualkeyboard-Qt example"for testing.

    The method of use is as follows:

    1. git clone github.com/.../qtvirtualkeyboard ,and sitch to the V5.11.3 branch (provide the source code in the attachment)

    2. After compiling, execute qtvirtualkeyboard/tests/auto/inputpanel/tst_inputpanel.( in the attachment)

    3. You can use the following script to execute.

    ================================================= ==
    #!/bin/sh
    ### QT Environment Variables ###
    export QT_QPA_PLATFORM=eglfs
    export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=0"
    #set other Environmental variables
    export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
    export QT_QPA_EGLFS_INTEGRATION="none"
    export QT_QPA_EGLFS_KMS_CONFIG="/etc/qt5/eglfs_kms_cfg.json"
    export QT_WAYLAND_SHELL_INTEGRATION="wl-shell"
    export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
    export WAYLAND_DISPLAY="wayland-0"
    export XDG_CONFIG_HOME="/etc/"
    export XDG_RUNTIME_DIR="/tmp/0-runtime-dir"
    export XDG_SESSION_ID="c1"

    ./tst_inputpanel
    =================================================

    Regards,
    Oliver

  • "qtvirtualkeyboard-Qt example"for testing.

  • "qtvirtualkeyboard-Qt example" source code6327.qtvirtualkeyboard.zip

  • Hello,

    Thank you running the test and do you see same behavior with Wayland and Linuxfb? Also, have you modified anything in the filesystem? 

    Regards,
    Krunal

  • Hello,

               I tried the AM335x start kit platform, and used ti-processor-sdk-linux-am335x-evm-06.00.00.07 without modifying the SDK.

    Because We need Chinese to be displayed, so  I only put it in /usr/share/fonts/ttf/FZLTHNokiaSans.ttf in the filesystem

    The same problem occurs in eglfs.

    When I used Wayland/Linuxfb to test, because of the desktop test error message, I could not use the original tst_inputpanel to test.

    But we also found something, if I set

    export QML_DISABLE_DISTANCEFIELD=1
    or
    export QT_QUICK_BACKEND=software
    It seems to solve the current problem. However, the display of fonts is not good.

    I think it has something to do with display acceleration.

    Regards,
    Oliver

  • Hi Oliver,

    The basic example is supposed to look like the following: https://doc.qt.io/qt-5/qtvirtualkeyboard-basic-example.html. I am not sure what Qt out of box example you are running.

    Regards,
    Krunal

  • Hi,

    I also faced similar type of issue on different board and build so might be you can try with by putting the fonts to /usr/lib/fonts directory and check the behavior  

    Thanks and Regards 
    Pravin Yadav

  • Hi,

    This problem has been solved!

    The current solution is qml view.setTextRenderType(QQuickWindow::TextRenderType::NativeTextRendering);

    It looks okay.

    Regards,

    Oliver