news 2026/2/7 21:47:54

20251223给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时使用weston-screenshooter截屏【修改直接编译进IMG固件】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
20251223给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时使用weston-screenshooter截屏【修改直接编译进IMG固件】

20251223给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时使用weston-screenshooter截屏【修改直接编译进IMG固件】
2025/12/23 19:23


缘起:给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】后,需要使用weston-screenshooter截屏。
不想每次刷机之后再去修改S49weston文件。

/usr/bin/weston 2>&1 | tee /var/log/weston.log &
修改为:
/usr/bin/weston 2>&1 | tee /var/log/weston.log &


4线USB2.0通过adb直接拿到电脑上的速度是:31.3 MB/s
写入TF卡的速度略微低于31.3 MB/s【大概为25.56MB/s】


需要实测开发板丝印ETH1芯片RTL8211F-CG的网速。
通过ifconfig确认为eth0。

需要使用ov5645的驱动框架来适配LVDS接口的105机芯。
按照以前的经验,首先关闭I2C的读写!
结果,肯定会出现某些地方遗漏的,只能通过编译器来检查问题了!


当你把荣品RD-RK3588开发板重新适配一把,就相当于从头做了一个项目:【荣品RD-RK3588开发板】。
当然,开发板的功能都是好的,你免除了调试的过程,也就没有解决相关硬件出错的经验/机会了!


1、出错了!
root@ok3588-buildroot:/#
root@ok3588-buildroot:/# weston-screenshooter
Output capture error: unauthorized
Error: screenshot or protocol failure

root@ok3588-buildroot:/#
root@ok3588-buildroot:/# weston-screenshooter 01.png
Output capture error: unauthorized
Error: screenshot or protocol failure
root@ok3588-buildroot:/#
root@ok3588-buildroot:/# uname -a
Linux ok3588-buildroot 5.10.209 #1 SMP Thu Feb 13 10:19:48 CST 2025 aarch64 GNU/Linux
root@ok3588-buildroot:/#
root@ok3588-buildroot:/#


2、查找:S49weston
jinhualong@jinhualong-LEGION-REN7000K-26IRX:~/new_disk_4t/wyb/A8/rk3588_linux6.1_release_v1.2.0_20241220$
jinhualong@jinhualong-LEGION-REN7000K-26IRX:~/new_disk_4t/wyb/A8/rk3588_linux6.1_release_v1.2.0_20241220$ find . -name S49weston
./buildroot/package/weston/S49weston
./buildroot/output/rockchip_rk3588/target/etc/init.d/S49weston
jinhualong@jinhualong-LEGION-REN7000K-26IRX:~/new_disk_4t/wyb/A8/rk3588_linux6.1_release_v1.2.0_20241220$


jinhualong@jinhualong-LEGION-REN7000K-26IRX:~/new_disk_4t/wyb/A8/rk3588_linux6.1_release_v1.2.0_20241220$ find . -name S49weston
【如果没有编译,就修改这里】
./buildroot/package/weston/S49weston
【如果已经编译了,就修改这里】
./buildroot/output/rockchip_rk3588/target/etc/init.d/S49weston


3、修改:
Z:\14TB\A8\rk3588_linux6.1_release_v1.2.0_20241220\buildroot\package\weston\S49weston
#!/bin/sh
### BEGIN INIT INFO
# Provides: weston
# Required-Start: mountvirtfs
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Linux weston daemon
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

# Load default env variables from profiles(e.g. /etc/profile.d/weston.sh)
. /etc/profile

start_weston()
{
/usr/bin/weston 2>&1 | tee /var/log/weston.log &
}

stop_weston()
{
killall weston
}

case "$1" in
start)
echo -n "starting weston... "
start_weston
echo "done."
;;
stop)
echo -n "stoping weston... "
stop_weston || true
echo "done."
;;
restart|reload)
echo -n "stoping weston... "
stop_weston

while pgrep -x weston; do
sleep .1
done
echo "done."

echo -n "starting weston... "
start_weston
echo "done."
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0


修改为:


Y:\new_disk_4t\wyb\A8\rk3588_linux6.1_release_v1.2.0_20241220\buildroot\package\weston\S49weston

#!/bin/sh
### BEGIN INIT INFO
# Provides: weston
# Required-Start: mountvirtfs
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Linux weston daemon
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

# Load default env variables from profiles(e.g. /etc/profile.d/weston.sh)
. /etc/profile

start_weston()
{
/usr/bin/weston--debug2>&1 | tee /var/log/weston.log &
}

stop_weston()
{
killall weston
}

case "$1" in
start)
echo -n "starting weston... "
start_weston
echo "done."
;;
stop)
echo -n "stoping weston... "
stop_weston || true
echo "done."
;;
restart|reload)
echo -n "stoping weston... "
stop_weston

while pgrep -x weston; do
sleep .1
done
echo "done."

echo -n "starting weston... "
start_weston
echo "done."
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0


参考资料:
百度:weston-screenshooter 01.png Output capture error: unauthorized
BING:weston-screenshooter 01.png Error: screenshot or protocol failure

https://kira-96.github.io/notes/weston-screenshot/
weston桌面系统截屏方法
二月 3, 2023

使用weston-screenshooter

但必须启用weston桌面--debug选项,否则会出现以下错误:

[root@RK356X:/]# weston-screenshooter
[02:41:05.145] libwayland: error in client communication (pid 776)
weston_screenshooter@5: error 0: screenshooter failed: permission denied. Debug protocol must be enabled
以RK3568开发板,buildroot系统为例,修改/etc/init.d/S50launcher,找到weston所在行,添加--debug选项。

......
# Uncomment to disable mirror mode
# unset WESTON_DRM_MIRROR

export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/var/run}
export QT_QPA_PLATFORM=${QT_QPA_PLATFORM:-wayland}

weston --tty=2 --debug --idle-time=0&
{
# Wait for weston ready
while [ ! -e ${XDG_RUNTIME_DIR}/wayland-0 ]; do
sleep .1
done
/usr/bin/QLauncher &
}&
......
forlinx开发板使用的yocto系统也类似,修改/lib/systemd/system/weston.service,在weston后添加--debug选项。

$ vi /lib/systemd/system/weston.service
# 修改如下
# ExecStart=/usr/bin/weston --debug --log=${XDG_RUNTIME_DIR}/weston.log $OPTARGS
然后重启系统,之后就可以使用weston-screenshooter截取屏幕了。


https://blog.csdn.net/qq_40177571/article/details/124989542?ops_request_misc=%257B%2522request%255Fid%2522%253A%252238e8168a9636ee7d6f3f6129ebc177b9%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=38e8168a9636ee7d6f3f6129ebc177b9&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-124989542-null-null.142^v101^pc_search_result_base6&utm_term=weston-screenshooter&spm=1018.2226.3001.4187
LS1028 weston桌面weston-screenshooter截图方法
https://blog.csdn.net/qq_40177571/article/details/124989542

vim /lib/systemd/system/weston.service
//修改如下所示:
ExecStart=/usr/bin/weston --debug --log=${XDG_RUNTIME_DIR}/weston.log $OPTARGS


CSDN:weston-screenshooter

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/7 13:11:33

基于51单片机的交通灯控制系统

文章目录一、系统概述二、项目内容和功能介绍三、效果图四 、资料获取一、系统概述 基于51单片机的交通灯控制系统介绍 一、系统设计背景与意义 随着城市化进程加速,交通拥堵问题日益突出。传统交通灯采用固定时序控制,无法根据实时车流量动态调整&…

作者头像 李华
网站建设 2026/2/5 5:40:59

最适合外包交付的 6 个开源无代码与低代码

原文链接:https://www.nocobase.com/cn/blog/6-open-source-no-code-low-code-tools-for-software-agencies 写在开头 外包团队和技术工作室在接项目时,最常面对的问题:客户希望以最快速度上线。 因此很多团队会利用无代码/低代码工具来快…

作者头像 李华
网站建设 2026/2/8 10:13:47

【学前教育专业论文写作模版】乡村振兴背景下农村幼儿园劳动教育实施策略:基于现状调研的问题分析与路径优化研究

内容概要:本文以乡村振兴为背景,探讨了农村幼儿园劳动教育的实施现状、存在问题及优化对策。通过问卷调查与访谈法,研究发现当前农村幼儿园劳动教育存在教师认识不足、组织能力薄弱、活动形式单一、内容缺乏丰富性、保障措施不完善以及家长观…

作者头像 李华
网站建设 2026/2/7 6:25:58

看见“黑箱”内部:可解释AI如何赢得工艺专家的信任?

当一位拥有三十年经验的工艺专家,面对一个“告诉”他某关键参数需要调整、却无法说出“为什么”的AI模型时,他的反应通常不是赞叹,而是本能地怀疑与拒绝。在工业世界里,一个无法解释的决策,无论其数字精度多高&#xf…

作者头像 李华