佛山建网站价格,企业广告,企业网络推广计划书,构建网站需要什么意思总结#xff1a; 交叉编译到 泰山派rk3566跑调海康摄像头的qt应用程序失败了。 X11无效窗口。 移植QT注意 屏幕分辨率不要改。改了执行QT的时候#xff0c;framebuffer识别不出设备。
命令行安装QT-Creator sudo install 类似的指令安装Qt-Creator时#xff0c;可能找不到编…总结 交叉编译到 泰山派rk3566跑调海康摄像头的qt应用程序失败了。 X11无效窗口。 移植QT注意 屏幕分辨率不要改。改了执行QT的时候framebuffer识别不出设备。
命令行安装QT-Creator sudo install 类似的指令安装Qt-Creator时可能找不到编译套件。 需要再执行 sudo apt-get install qt5-default 来安装核心库、工具和头文件(开发环境)。 关于闪烁问题
显示管理器和显示服务器 在 Linux 系统中屏幕撕裂问题可能与显示服务器的渲染方式有关。 GDMGNOME Display Manager是 GNOME 桌面环境的默认显示管理器(注意泰山派RK3566的Ubuntu默认是lightDM作为显示管理器)它负责启动用户登录界面和管理用户会话。 GDM 支持两种主要的显示服务器技术Xorg(x11) 和 Wayland。 Light 支持Xorg和 Mir不支持直接运行在Wayland上但是支持通过启动Wayland会话间接运行Wayland。 尝试关闭Wayland强制使用Xorg显示服务器(在lightdm管理器条件下)
关于Wayland 测试了修改/etc/gdm3/custom.conf 文件取消了
[daemon]
# Uncomment the line below to force the login screen to use Xorg
# WaylandEnablefalse 的注释。 也就是关闭Wayland强制使用 Xorg。
结果 发现无需登录直接进入桌面了。但执行Qt程序仍然出现屏幕闪烁、撕裂。
使用GDM而非lightDM(不强制使用Xorg)
参考
泰山派 RK3566 在Ubuntu系统下运行QT程序屏幕撕裂以及framebuffer冲突的解决方法_rk3566 framebuffer-CSDN博客
#重新运行gdm3配置脚本,然后手动选择、设置gdm3为默认显示管理器
sudo dpkg-reconfigure gdm3 发现闪烁问题确实没有了。 重启后没进入默认的桌面通过ssh远程连接执行qt程序还是比较丝滑。
测试 发现修改了GDM3的配置文件/etc/gdm3/custom.conf 文件取消了 WaylandEnablefalse的注释后执行 qt程序无法正常渲染图形。 可能的原因是 环境变量 /etc/profile中没有正常export环境变量 export QT_QPA_PLATFORMxcb。 x11是显示服务器xcb插件是接口用于与x11服务器进行通信。 经测试发现的确如此我设置的是 linuxfb接口。linuxfb无需与x11服务器进行通信。
屏幕撕裂原因 系统桌面的应用和QT应用会有冲突。 可能是QT界面和debian桌面系统抢占framebuffer导致。
解决方案 1. 关闭Linux桌面用命令行启动Linux这时运行qt程序就不会有问题。 2. 不用交叉编译直接在arm板上装编译环境然后编译源程序。 关于Qt 4和Qt 5的环境变量区别 Qt 4使用-qws参数启动QWS服务器。 Qt 5通过QT_QPA_PLATFORM环境变量选择平台插件如offscreen、linuxfb等 下面这俩
#关闭桌面
sudo init 3#重启桌面
sudo init 5init是系统初始化进程其进程ID为1
init n代表切换运行级别到n
运行级别 0关机halt。
运行级别 1单用户模式single-user mode通常用于系统维护。
运行级别 2多用户模式但没有网络服务。
运行级别 3多用户模式带网络服务multi-user mode with networking。这是大多数服务器的默认运行级别。
运行级别 4未定义通常保留给用户自定义。
运行级别 5图形用户界面GUI模式通常用于桌面系统。
运行级别 6重启reboot。 移植海康摄像头图像采集 配置好运行环境后报错
lckfb192:~/work/RemoteControlDemo/build-RemoteControl-ARM_kits-Debug$ sudo ./RemoteControl
hpr tls index{2}
*******XOpenDisplay Fail *******
loop[2] find 2 mac and 4 ip
Login failed, error code: 1
Login failed
段错误 1、提示无法连接到x11服务器。 这一步是因为海康SDK需要使用x11窗口管理器渲染视频流。 2、登录失败。 这一步因为忘记配置本机ipv4的地址导致和摄像头网口通信不成功导致。
解决
考虑到x11渲染视频流的问题尝试使用x11 如果你需要在无桌面环境下运行 Qt 程序可以通过 startx 启动一个最小化的 X11 环境然后运行 Qt 程序。(该方法我尚未尝试) 例如 startx -- /usr/bin/your_qt_application 我直接使用泰山派默认的 lightdm管理器 x11服务器 报错
hpr tls index{2}
loop[2] find 2 mac and 5 ip
libGL error: failed to create dri screen
libGL error: failed to load driver: rockchip
libGL error: failed to create dri screen
libGL error: failed to load driver: rockchip
X Error of failed request: BadWindow (invalid Window parameter)Major opcode of failed request: 8 (X_MapWindow)Resource id in failed request: 0x1Serial number of failed request: 46Current serial number in output stream: 47
循环[2] 找到2个MAC地址和5个IP地址
libGL错误无法创建dri屏幕
libGL错误无法加载驱动rockchip
libGL错误无法创建dri屏幕
libGL错误无法加载驱动rockchip
X错误请求失败BadWindow无效的窗口参数请求失败的主要操作码8X_MapWindow请求失败中的资源ID0x1请求失败的序列号46输出流中的当前序列号47 x11和Xorg的关系 X11 是一个网络透明的图形窗口系统协议用于在计算机之间传输图形和用户输入如鼠标和键盘操作。是客户端-服务器架构。 Xorg是基于x11协议的一种实现。
ubuntu当前显示管理器和显示服务器
1. 检查当前使用的显示服务器X11 或 Wayland
echo $XDG_SESSION_TYPE
2. 检查当前使用的显示管理器LightDM 或 GDM3
cat /etc/X11/default-display-manager 我通过ssh连接开发板查看当前的显示服务器结果显示的是tty。 表示当前的会话是一个终端会话而不是图形会话。 名词解释 DPI 缩放比例 无边框透明背景透明窗口随着缩放比例非整数倍数放大时的画面发生了露底、撕裂问题。 根源在于Qt中的窗口是不支持小数位的。 升级QT6解决。 ldd ./application 可以查看应用缺失的依赖