导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    T113 tina musl qt 虚拟键盘 cpu占用异常,尝试glibc编译qt无法运行,求大佬指点

    Linux
    2
    9
    2957
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • C
      cslg_wangjian LV 3 最后由 xiaowenge 编辑

      我们目前使用的tina linux sdk,应用软件使用的是qt 5.12,并且使用了qt虚拟键盘功能,,编译时选用的musl库,现在发现有时候设备有卡顿严重情况,有时候反应非常慢,有的干脆卡死了。而且发现cpu占用异常,就是软件界面没有操作的时候也cpu占用高,同样的应用软件在v3s以及a33,x3平台都没有这种现象。 编译了qt官方的虚拟键盘例子也发现cpu占用异常高,只要不用虚拟键盘就不占用高,使用了虚拟键盘就占用高。感觉像musl编译有bug一样.

      想尝试使用glibc编译看看有没有这种问题,但编译出来的qt无法运行,尝试使用glibc编译,编译出来的无法运行,使用buildroot+glibc外面编译出来的qt用tina打包同样无法运行,现象跟之前这里提的一个问题一样,连接: https://bbs.aw-ol.com/topic/2256/qt运行时报错the-futex-facility-returned-an-unexpected-error-code-aborted?_=1693360106793&lang=zh-CN

      有没有大佬t113 tina 成功使用过glibc运行过qt,指点一下。

      whycan 1 条回复 最后回复 回复 引用 分享 0
      • whycan
        whycan晕哥 LV 9 @cslg_wangjian 最后由 编辑

        @cslg_wangjian 在 T113 tina musl qt 虚拟键盘 cpu占用异常,尝试glibc编译qt无法运行,求大佬指点 中说:

        v3s以及a33,x3平台都没有这种现象。

        可以用同一个文件系统。

        C 1 条回复 最后回复 回复 引用 分享 0
        • C
          cslg_wangjian LV 3 @whycan 最后由 编辑

          @whycan 感谢晕哥支持,其他平台如x3 v3s a33都是buildroot glibc编译的qt,而放到t113上用同样的buildroot编译出来的qt却不能用,如果c库选musl就可以用,但就是有上面的bug。

          whycan 1 条回复 最后回复 回复 引用 分享 0
          • whycan
            whycan晕哥 LV 9 @cslg_wangjian 最后由 编辑

            @cslg_wangjian
            用同一个 arm gcc

            C 1 条回复 最后回复 回复 引用 分享 0
            • C
              cslg_wangjian LV 3 @whycan 最后由 编辑

              @whycan 试过内核 buildroot 都用buildroot里面的gcc9编译,使用的glibc,还是运行qt报错,不知道跟linux内核配置有么有哪里配置不对有关系。不过确实不是跟其他系统使用的同一个armcc,我再试试用同样的armcc看看还错不错。现在重点就是想用glibc跑起来看看,严重怀疑是musl库问题导致的cpu占用异常,大概看了下是qt虚拟键盘开启了一个线程导致的,这个线程里像是一个wait实现方式有问题。
              qt-thread-wait.png

              只要用了虚拟键盘开启这个线程,就占用cpu高,尝试过把wait改成sleep时间长一点循环就占用率第一点,但这是qt的底层原生代码,感觉不应该是代码问题。怀疑就是musl底层wait实现不一样或者哪里有问题。

              whycan 1 条回复 最后回复 回复 引用 分享 0
              • whycan
                whycan晕哥 LV 9 @cslg_wangjian 最后由 编辑

                @cslg_wangjian
                用同一个二进制文件系统也是一样的情况吗?

                C 1 条回复 最后回复 回复 引用 分享 0
                • C
                  cslg_wangjian LV 3 @whycan 最后由 编辑

                  @whycan 刚测试了一下,使用a33 sdk里面编译3.10内核的gcc编译t113的5.4内核,使用a33sdk里面编译好运行正常的rootfs,也就是使用相同的二进制根文件系统,然后使用tina打包镜像,运行到qt时还是报错The futex facility returned an unexpected error code,真是无语了。不知道跟linux5.4有么有关系,其他几个正常的平台都是linux 3.10 。

                  1 条回复 最后回复 回复 引用 分享 0
                  • C
                    cslg_wangjian LV 3 最后由 编辑

                    glibc 编译 qt 无法运行的问题找到了,内核配置里需要打开futex,打开这个就好了
                    futex配置.png

                    1 条回复 最后回复 回复 引用 分享 0
                    • C
                      cslg_wangjian LV 3 最后由 编辑

                      cpu空闲占用高的情况换用glibc编译后也正常了,看来这个sdk里面的musl库还是有些bug的,也听大佬说改用官方最新版本的musl库可能也会好。glibc编译搞定了就不折腾这个musl了,感觉还是glibc靠谱吧。

                      1 条回复 最后回复 回复 引用 分享 0
                      • 1 / 1
                      • First post
                        Last post

                      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                      行为准则 | 用户协议 | 隐私权政策