news 2026/9/3 3:49:11

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/9/3 0:31:29

基于 51 单片机的三层电梯控制系统

文章目录一、系统概述二、项目内容和功能介绍三、效果图四 、资料获取一、系统概述 基于51单片机的三层电梯控制系统介绍 一、系统核心功能 基于51单片机的三层电梯控制系统通过集成硬件模块与软件算法,实现了电梯的智能化控制,主要功能包括&#xff1a…

作者头像 李华
网站建设 2026/9/2 20:38:25

把win2003-11系统装进了NAS!

哈喽,艾瑞巴蒂我是生活爱好者。有粉丝想在NAS中部署个win系统,以往是可以通过虚拟机来完成,正好最近看的一个不错的项目win2003-11版的都有,而且通过cocker就能部署,一、NAS部署本文使用设备:威联通NAS进入…

作者头像 李华
网站建设 2026/9/2 20:39:19

域名注册信息为什么会被隐藏?

在查询域名信息时,很多人会发现一个现象:明明能查到域名状态、注册时间、到期时间,但注册人姓名、邮箱、电话却显示为“已隐藏”。这并不是查询出错,而是域名行业中非常常见的一种情况。一、隐私保护是域名的常规功能目前&#xf…

作者头像 李华
网站建设 2026/9/2 21:29:53

相控阵声场模拟这活儿,说难不难说简单也不简单。最近在COMSOL里折腾三维声压分布,发现几个挺有意思的操作技巧,今天就随手记下来给大伙儿参考参考

comsol相控阵三维声压分布 压力声学-频域 模型包括声压整体分布、声压切面、声压等值面、焦点平面声压分布。先整点硬核的,建模时别傻乎乎地手动画阵元。直接在参数化几何里塞循环语句,用数学表达式控制阵元坐标才是正经。比如用这段代码生成8x8平面阵&a…

作者头像 李华