matrix UI菜单调试记录

matrix 是ti开发的一个简单的UI界面,本质上是一个网页,适用于嵌入式linux平台,基于qtwebengine/qtwebkit + lighttpd + php。qt负责显示网页,lighttpd负责搭建web服务器,php为网页脚本。
源代码可见于ti各个平台的sdk源代码。

以下为遇到的问题及当时的调试流程及解决方案:

界面黑屏

问题描述
开机后应该显示matrix的界面全黑。

  1. 运行其他qt程序正常,初步判断不是qt的问题。
  2. ps -aux |grep lighttpd 确认lighttpd服务已启动。
  3. 根据lighttpd服务启动命令,确认lighttpd配置文件为/etc/lighttpd/lighttpd.conf
    修改server.document-root = “/mnt”
    在mnt目录下添加index.html文件,
<html><body><h1>It works!</h1></body></html>

重启板子或者只重启相关服务,发现屏幕显示It works。
说明lighttd正常,判断是php问题或者matrix代码问题。
4. 在matrix目录下 打开php.ini
修改配置display_errors 为On

display_errors = On

重启板子或者只重启相关服务。
屏幕打印找不到json_decode();
5. matrix源代码中搜索,未找到json_decode()定义,应该是php库函数
6. 在php源代码中(php是buildroot编出来的,所以可以在out/build/php*中找到编译的源代码)搜索json_decode(),发现所在文件未编译,查找Makefile,configue,配置buidlroot编译选项,打开BR2_PACKAGE_PHP_EXT_JSON,重新编译php。
7. 更新php后,问题解决。

基于qtwebengine的matrix禁用opengl

不支持opengl 可以通过在main中配置

QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);

来强制qtwebengine使用软件opengl
通过以下环境变量可以禁止qt使用opengl,改用qt软件渲染
export QMLSCENE_DEVICE=softwarecontext
参考:
https://zhuanlan.zhihu.com/p/550285855
Qt的QWebengine在部分win7设备上黑屏和网页突然消失的问题排查解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值