当前位置: 首页 > 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.rkmt.cn/news/143123.html

相关文章:

  • Python pandas dataframe
  • SGMICRO圣邦微 SGM2036S-ADJXN5G/TR SOT-23-5 线性稳压器(LDO)
  • Oversonic与意法半导体签署人形机器人供应协议!RoBee认知机器人首入半导体制造,开启高端智造新纪元
  • 用了电脑9年,才知道的5个免费软件!每个都很牛,同事看完都猛夸
  • 基于51单片机的智能晾衣架设计
  • 【学前教育专业论文写作模版】乡村振兴背景下农村幼儿园劳动教育实施策略:基于现状调研的问题分析与路径优化研究
  • 100倍速+100倍能效!中国LightGen全光AI芯片问世,性能碾压顶级NVIDIA芯片,开启可持续AI新纪元
  • 从25年年初开始,3万炒股,究竟多久能变成10万?
  • TOSHIBA TA75S558F,LF(T SOT-153 运算放大器
  • AI狂奔之下的伦理拷问:在创新与规范之间寻找平衡
  • 【护理学专业论文写作模版】基于中西医结合与多学科协作的上消化道出血护理模式:消化性溃疡患者全程管理策略研究
  • AI“好产品”的年度答案,2025年度凌云奖即将揭晓
  • 软件的白盒测试(一)
  • AI全景之第六章第一节:语言模型演进
  • 拆解Mate X7的“超可靠折叠玄武架构”:从内到外全身都很“硬”!
  • 4453
  • Java计算机毕设之基于SpringBoot+Vue实现的前后端分离的高校毕业设计选题系基于SpringBoot和Vue的毕业设计选题管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • Java毕设项目:基于SpringBoot和Vue的毕业设计选题管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 6436
  • 东莞精密机械加工工厂如何实现多名研发人员共享一台SolidWorks服务器来代替传统电脑
  • 2026年 Java 面试八股文(20w字)
  • Mate 80 系列智控键再升级!一滑呼出通知中心,竟可如此优雅?
  • 4634634564534
  • 人机协同:AI重构内容创作的价值逻辑
  • C语言中的变量类型
  • 2025现代化渗透测试:安全工程师的技术与道德完全指南
  • 基于Springboot开发的精简博客系统的设计与实现
  • GSDB全球金融制裁数据库
  • 【数据分享】1942-2024年全国观测站点逐日气象指标数据
  • HarmonyOS 5开发从入门到精通(九):动画与交互效果