编译好镜像后,烧到硬盘里面,开机运行。
运行程序发现没有软件上面没有字体,看后台程序,发现报 "QtFontDatabase cann't find /usr/lib/ dir" 猜测是qt找不到字体的原因。
https://doc.qt.io/archives/qt-4.8/qt-embedded-fonts.html
https://www.udoo.org/forum/threads/yocto-qt-and-fonts.7315/
查了一些资料,没有找到怎样能否在yocto里面把字体环境配置好。
最后没办法执行"export QT_QPA_FONTDIR=/usr/share/fonts/"命令后,重新运行程序发现程序能够显示英文。
但是中文显示为乱码,然后我又下载了一个中文的字体库,放到这个/usr/share/fonts/ 目录下面,重启程序发现中文字体okay了。中文字体是从下面这个网址下载的。里面介绍怎样设置中文环境,我也没有试。
https://community.nxp.com/thread/453889
在运行程序的时候,我发现有些下拉框没法正常使用。一点击就报"xcb_shm_create_segment failed" 的错误。
刚开始以为是缺啥工具包之类的,最后发现后面加 --platform wayland 参数程序就可以正常运行了。因为我是用的wayland,但是为什么不加这个参数也可以运行呢?本人也是菜鸟一枚,简单记录一下,希望可以帮到会遇到相同问题的人。
https://stackoverflow.com/questions/29629431/qtwayland-keeps-saying-failed-to-create-display-in-yocto
1. 添加qt layer编译好镜像后,烧到硬盘里面,开机运行。运行程序发现没有软件上面没有字体,看后台程序,发现报 "QtFontDatabase cann't find /usr/lib/ dir" 猜测是qt找不到字体的原因。https://doc.qt.io/archives/qt-4.8/qt-embedded-fonts.htmlhttps://www.ud...
1.创建log流
2.wl_display_create()创建wl_display对象
3.wl_display_get_event_loop()获取server端的wl_event_loop 并且通过wl_event_loop_add_signal函数向刚才的wl_event_loop 添加信号量,以便终止主循环结束程序。
4.wl_list_init(&child_process_list)初
Orbital是Wayland的合成器和外壳,使用
Qt
5和
Weston
。 该项目的目标是构建一个简单但灵活且外观漂亮的Wayland桌面。 它不是成熟的DE,而是X11世界中WM的类似物,例如Awesome或Fluxbox。
轨道取决于两件事:
Weston
和
Qt
5。由于它使用
Qt
Quick 2绘制界面,所以它将使用OpenGL,因此建议使用合适的图形驱动程序,否则性能将不佳。 目前,Orbital需要从分支lib
weston
取得补丁的
weston
。 您还需要
Qt
Wayland,它从5.4版本开始随
Qt
一起提供。 您不需要
Qt
Compositor,平台插件就足够了。 还有一些可选的依赖项:当前,Orbital可以使用KDE Frameworks 5,ALSA和Logined中的Solid,但是如果没有它们,它也可以工作,从而失去了某些功能。 您可以通过向cmake传递一些选
#如果想到手动启动
weston
程序,需要导出以下环境变量,
weston
程序才能够
运行
起来
#for waylandsink
export
QT
_GSTREAMER_WINDOW_VIDEOSINK=waylandsink
export
QT
_GSTREAMER_WIDGET_VIDEOSINK=waylandsink
#导出该变量后,默认启动
QT
程序是采用的gpu方式,而非cpu方式,如果不设置默认会走cpu方式,否则只能使用./test -platform wayla
meta-
weston
-rpi支持使
weston
在RPi / RPi2上工作。 该层是非官方的。
该层取决于:
URI:git://git.yoctoproject.org/poky.git分支:fido版本:HEAD
URI:git://github.com/agherzan/meta-raspberrypi.git分支:主修订版:HEAD
主要层维护者:佑介
贡献者:Leon Anavi
Wayland-egg的移植是这一层的重要因素。 很有帮助。 谢谢。
什么是
Qt
Wayland?
Qt
Wayland是封装了Wayland功能的
Qt
5模块。
Qt
Wayland被分为一个客户端(client)和一个服务端(server)。客户端是wayland平台插件,提供了
运行
Wayland客户端
Qt
程序的方法。服务端是
Qt
Compositor应用程序接口(API),允许用户编写自己的compositors。
什么是Wayland
Wayland是一个用C库
Nuclear是
Weston
的Shell插件。 它实现了一种自定义协议以与Shell客户端(例如进行同步,但是它本身并不携带客户端,因此如果没有客户端,它就。
除了要构建它的工具链外,Nuclear仅依赖于
Weston
1.4,即C ++ 11编译器和CMake。
要构建它,请从存储库根目录
运行
以下命令:
mkdir build
cd build
cmake ..
sudo make install
除非使用CMAKE_INSTALL_PREFIX变量另外指定,否则Nuclear将安装在“ / usr / local”前缀中:
cmake -DCMAKE_INSTALL_PREFIX=/my/prefix ..
运行
make install将安装到$ nuclear-shell.so插件前缀/ lib目录/核-壳,协议文件核桌面shell.xml在$前
yocto 3.03 linux 5.4.24
weston
8.0
weston
.log 相关错误描述
[03:40:44.075] event0 - ADS7846 Touchscreen: is tagged by udev as: Touchscreen
[03:40:44.075] event0 - ADS7846 Touchscreen: kernel bug: device has min == max on ABS_PRESSURE
[03:40:44.076] event0 -
0.设置配置文件/etc/xdg/
weston
/
weston
.ini文件内容如下:
[core]
# Boards could have not any input device, and only use
# removable input device like usb(keyboard, mouse).
require-input=false
[output]
name=DSI-1
transform=0
[shell]
# 480x800
background-image=/oem/yd_rootf
该文档详细描述了
weston
上层与底层硬件的连接
《Using Linux Media Controller for Wayland/
Weston
Renderer》
•Wayland/
Weston
Overview
• Porting
Weston
to R-Car
• Why Linux Media Controller Renderer?
• Linux Media Controller Framework
• V4L2 Renderer Design
• Conclusions
文章目录获取源代码和编译参考:移植
Qt
应用程序已知
问题
获得帮助和报告
问题
简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为
Qt
5 on Wayland.
Qt
5工具箱中的Wayland支持在
Qt
Platform Abstraction(QPA) Wayland插件中进行。构建和使用
Qt
Wayland的最低要求是Wayland(和
Weston
)1.0.0。
如果您还想构建
qt
webkit浏览器,则最好遵循从git构建
Qt
5的说明,该指南可生成更多内容。init-repo
weston
参考文档:
https://www.mankier.com/5/
weston
.ini#Screen-Share_Section
https://www.mankier.com/7/
weston
-drm
https://blog.csdn.net/u012080932/article/details/114373675
https://blog.csdn.net/weixin_42892101/article/details/107696652
root@ok5718-idk:~#
Qt
问题
:IMX8嵌入式基于
Weston
启动窗口弹出虚拟键盘(
qt
virtualkeyboard)闪退一、加入虚拟键盘环境变量二、启动后光标点入文本框弹出软键盘后闪退,打印如下消息:三、解决:编辑/etc/xdg/
weston
/
weston
.ini文件,加入如下内容(确保
weston
-keyboard已安装)四、重启
weston
和窗口程序即可完成。
一、加入虚拟键盘环境变量
qputenv("
QT
_IM_MODULE", QByteArray("
qt
virtualkeyboard"));
二、启动后光标点
`
weston
-screenshooter` 工具只能用于捕获 Wayland 窗口的静态截图,如果需要录制屏幕,可以使用其他工具,比如 `
weston
-simple-recorder`。
`
weston
-simple-recorder` 是
Weston
提供的一个基本的屏幕录制工具,可以用于录制
Weston
显示服务器的输出,并将录制的视频保存为 WebM 格式的文件。
以下是 `
weston
-simple-recorder` 的使用方法:
1. 打开终端并
运行
Weston
显示服务器:`
weston
`
2. 在另一个终端中
运行
`
weston
-simple-recorder` 工具:`
weston
-simple-recorder -o /path/to/output/file.webm`
这里的 `/path/to/output/file.webm` 是输出文件的路径和名称,可以根据需要进行修改。
3. 在
Weston
显示服务器中进行屏幕操作,`
weston
-simple-recorder` 会自动将屏幕录制下来并保存为 WebM 格式的文件。
4. 按下 Ctrl + C 组合键停止录制。
需要注意的是,`
weston
-simple-recorder` 可能需要在
Weston
显示服务器中启用 Pipewire 后才能正常工作。如果
遇到
问题
,可以尝试在
Weston
的配置文件 `/etc/xdg/
weston
/
weston
.ini` 中添加以下内容:
[core]
modules=pipewire
然后重启
Weston
显示服务器,并再次
运行
`
weston
-simple-recorder` 工具。