编译好镜像后,烧到硬盘里面,开机运行。

运行程序发现没有软件上面没有字体,看后台程序,发现报 "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` 工具。