当前位置: 首页 > news >正文

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

http://www.jsqmd.com/news/130445/

相关文章:

  • 高危区域安防新范式!RFID+自主无人机集成监控系统的设计、迭代与实践
  • 基于深度学习的安检危险品检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 看见“黑箱”内部:可解释AI如何赢得工艺专家的信任?
  • SGMICRO圣邦微 SGM2036S-ADJXN5G/TR SOT-23-5 线性稳压器(LDO)
  • 远程调试不用愁!内网服务器也能轻松断点调试的实用技巧
  • 用了电脑9年,才知道的5个免费软件!每个都很牛,同事看完都猛夸
  • Oversonic与意法半导体签署人形机器人供应协议!RoBee认知机器人首入半导体制造,开启高端智造新纪元
  • 特种控制电缆生产厂家推荐:计算机、太阳能光伏、绝缘电力、屏蔽电缆全品类覆盖(2025年12月新) - 品牌2026
  • 双 Token 机制下的无感刷新(Refresh Token)后端实现
  • CTF如何选择一个适合自己的方向?
  • 【学前教育专业论文写作模版】乡村振兴背景下农村幼儿园劳动教育实施策略:基于现状调研的问题分析与路径优化研究
  • 基于51单片机的智能晾衣架设计
  • 生成式AI落地潮:从技术狂欢到商业价值重构
  • 2025年柔性防火电缆生产厂家推荐、低烟无卤电缆生产厂家推荐汇总(12月新) - 品牌2026
  • TOSHIBA TA75S558F,LF(T SOT-153 运算放大器
  • 华为云国际站代理商NAT网关的私网NAT网关的规格有哪些?
  • 直播预告 | 新一代 DBaaS 平台揭密:自研 SSS Workload 引擎与安全体系深度解析
  • 100倍速+100倍能效!中国LightGen全光AI芯片问世,性能碾压顶级NVIDIA芯片,开启可持续AI新纪元
  • 网站在Linux 云服务器上从 0 到上线完整
  • 邮件群发工具实验报告
  • 2025终极免费AI论文写作工具大揭秘!8款一站式服务搞定论文全流程!
  • 从25年年初开始,3万炒股,究竟多久能变成10万?
  • Spring Security 进阶:基于 Customizer 的分布式权限配置架构设计
  • SSH会话管理实战:识别与清理非法连接的完整指南
  • 邦芒干货:三点让你体面离职
  • 【护理学专业论文写作模版】基于中西医结合与多学科协作的上消化道出血护理模式:消化性溃疡患者全程管理策略研究
  • 1X Technologies推出Home Collection生活周边!以柔软美学重塑家用机器人品牌,降低消费者接受门槛
  • AI狂奔之下的伦理拷问:在创新与规范之间寻找平衡
  • AI全景之第五章第五节:图神经网络(GNN)与几何深度学习
  • TOSHIBA TC4053BFT(EL,N) TSSOP16 模拟开关/多路复用器