您尚未登录。

#1 Re: 全志 SOC » t113-s3太极派撸windows10_USB扩展屏 » 2024-08-06 13:49:49

SixPi 说:
fresird 说:

@pcj203
楼主你好。这个项目有进展吗?最近刚好入了一套太极派,想撸个副屏用。

开源方面好像是没进展,没看见有代码链接

还没有整视频发b站,所以b站上看不到。 开源参考代码已经上github了。

window10驱动:
https://github.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display

lvgl 仿手机界面应用
https://github.com/chuanjinpang/lv_port_linux_fb_udisp_t113

tina linux 驱动:
https://github.com/chuanjinpang/t113_usb_display_kernel_driver_module

使用方法:
1. 直接使用编译好的测试太极派img,太极派群内有测试文件
2. 自己编译,先安装ko,insmod f_udisp_drv.ko insmod usb_disp_drv.ko
然后启动lvgl demo进入界面,打开扩展屏软件,可以参考b站视频。

#2 Re: 全志 SOC » t113-s3太极派撸windows10_USB扩展屏 » 2024-07-05 10:10:18

soso 说:

实名羡慕,拿着太极派的硬件,留下了没有技术泪水。哈哈哈。这个版本就接近商用吧~~ 能达到30fps。简直是工控机或是没有hdmi的电脑福音~

30fps一点问题都没有,usb2.0 480Mbps高速,真传rgb565都可以到30fps.

1.
这个开源硬件的太极派,还真不容易得来。感谢B站小伙伴。市面上很多硬件根本就不给开源软件适配的机会。
我就是搭了个顺风车,他们主要的想法是做86盒开发板。并且价格不贵,230应该赚很少。
USB扩展屏只是一个功能,集成进去是比较好的选择,单独做一个产品是比较怪异的。

2.
测试镜像应该本月会发出来,参考源代码也会发github,供感兴趣的学习。项目其实还可以,但是没啥热度。来whycan蹭点流量。
走散件自组,受众群众太小。所以我会直接推荐购买太极派。如果用户群大了,应该会有大佬适配到其它开源硬件上。
目前就死磕太极派,精力有限,也不是一个多厉害的项目,玩具小项目。

#3 全志 SOC » t113-s3太极派撸windows10_USB扩展屏 » 2024-07-04 10:58:57

pcj203
回复: 10

春去夏来,又到了年更的时候。
今年选择了开源硬件太极派。有外壳的成品形态。
强大的硬件有不错可玩性。既没安卓那么复杂,又比单片机强大,128M ddr内存,撸个USB扩展屏我觉得可以。
开源参考源代码快的话本月发github,目前在收尾+lvgl启动。同步更新了windows驱动。摸了一遍,没啥大坑。
去年的f1c200s硬解和usb有冲突,有坑,翻车败了。

演示视频:
【【开源_年更预览】全志t113太极派撸windows USB扩展屏-哔哩哔哩】 https://b23.tv/OFyE8jh


1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg

#4 全志 SOC » t113-s3 Qemu 模拟器 » 2024-05-17 15:13:10

pcj203
回复: 1

f1c200s板上实现了linux 启动的qemu 模拟器(基于https://github.com/newluhux/qemu-f1c100s)。但是做的不完整,也算半途而废。
f1c220s主要的问题是旧了点,性能弱了点。
现在t113流行度也比较高,性能更强,支持驱动更大的屏。
虽然计划是在113上支持usb扩展显示器功能。
但是qemu模拟器还是会先搞到一个基础版本,方便解决调试linux/uboot的一些问题。
USB部分的问题其实也可以采用qemu来模拟,但是其实usb相对好开发,调试的问题不多。放在后面搞。
如果不先把qemu工具搞出来,放后面怎么有动力搞?

目前已经完成uboot/Linux SD boot done 进入shell. 当然剪掉了一些外设。
stage1 基本搞完了。
计划的功能:
stage1:
uboot
Linux
SDMMC
uart
stage2:
LCD display > 方便LVGL?其实x86也可以的。纯展示能实现grahic
stage3:
USB


-----------------------------------------

mount: mounting none on /sys/kernel/config failed: No such file or directory
[   38.731691] mmc1: starting CMD18 arg 050f9800 flags 000000b5
[   38.736019] mmc1:     blksz 512 blocks 2 flags 00000200 tsac 100 ms nsac 0
[   38.747550] mmc1:     CMD12 arg 00000000 flags 00000095
[   38.750413] sunxi-mmc-base 4020000.sdmmc: cmd 18(80003352) arg 50f9800 ie 0x0000fbc2 len 1024
[   38.755918] sunxi-mmc-base 4020000.sdmmc: irq: rq (ptrval) mi 00004000 idi 00000102
[   38.762332] mmc1: req done (CMD18): 0: 00000b00 00000000 00000000 00000000
[   38.777930] mmc1:     1024 bytes transferred: 0
[   38.779274] mmc1:     (CMD12): 0: 00000000 00000000 00000000 00000000
 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (Neptune, 5C1C9C53)
 ----------------------------------------------
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/strings/0x409': No such file or directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer: nonexistent directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/product: nonexistent directory
[   39.572245] mmc1: starting CMD18 arg 06841800 flags 000000b5


root@TinaLinux:/# /bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/idVendor: nonexistent directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/idProduct: nonexistent directory[   43.191924] random: fast init done

mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/functions/ffs.adb': No such file or directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/product: nonexistent directory
ln: /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb: No such file or directory
mount: mounting adb on /dev/usb-ffs/adb/ failed: No such device
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/UDC: nonexistent directory
mount: mounting none on /sys/kernel/config failed: No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1': No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/idVendor: nonexistent directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/idProduct: nonexistent directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/strings/0x409': No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer: nonexistent directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/product: nonexistent directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/configs/c.1': No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes: nonexistent directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower: nonexistent directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/functions/ffs.adb': No such file or directory
ln: /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb: No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber: nonexistent directory


[ 4801.671146] mmc1:     (CMD12): 0: 00000000 00000000 00000000 00000000
[ 4801.675388] mmc1: starting CMD13 arg 45670000 flags 00000195
[ 4801.678340] sunxi-mmc-base 4020000.sdmmc: cmd 13(8000014d) arg 45670000 ie 0x0000bbc6 len 0
[ 4801.685101] sunxi-mmc-base 4020000.sdmmc: irq: rq (ptrval) mi 00000004 idi 00000000
[ 4801.688294] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000

root@TinaLinux:/# 
root@TinaLinux:/# mount
/dev/root on / type ext2 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=47620k,nr_inodes=11905,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
root@TinaLinux:/# cat /proc/cmdline 
earlyprintk=sunxi-uart,0x2500000 loglevel=8 initcall_debug=1 rodata=0 console=ttyS0,115200 rootwait    root=/dev/mmcblk1

#5 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2024-05-17 14:59:00

astankvai 说:

按这个驱动的说写法, 说是编码桌面, 这样只能同屏, 不能扩展显示吧?

一般是扩展使用,各显示各的, 也都可以copy。在显示设置一下就好了。

#6 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-07-05 22:58:58

【【开源,粉丝团福利】【arm9单片机自制USB显示屏】阶段4:粉丝团优先体验版发布-哔哩哔哩】 https://b23.tv/Z7w0dB0

[置顶]1. 性能参数1024*600屏,彩色11fps,黑白20fps.
支持运动时切换颜色模式

2.Win10 idd驱动源码
https://github.com/chuanjinpang/win10_idd_xfz1986_usb_display_drv_f1c200s

3.f1c200s usb显示屏源码,基于Linux实现.
https://github.com/chuanjinpang/buildroot-tiny200-qemu
目前是粉丝福利期,粉丝团优先体验,仅对粉丝开源。有一个patch加密了,需解密后编译生成img。readme.md开头就讲了怎么解密patch。感兴趣的可以私信我拿到密码。

4.后期还会有小的修改。非粉丝应该要到明年春节开源。[吃瓜]

#7 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-07-02 22:03:30

视觉℡ 说:

可以做局部刷新,我用CH552  USB CDC 刷320*480屏幕,一整张刷下来1秒,如果做局部刷新基本上看不出来抖动,

1秒一帧刷480*320 性能弱了些。
走cdc也古怪了,应该是没有解决window驱动,才走cdc串口通道。
网上有通用USB框架,做专用USB驱动应该能大幅提高性能。

#8 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-28 23:15:30

倒是想找人帮忙设计个3d打印的外壳。这样像成品。大家自己买配件组装。

#9 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-28 23:10:45

H264理论上可以上,但是没有人搞。必须上硬解,不然太慢。
我不做硬件,都是用货架品,焊接费事。esp32方案倒是有2个小伙伴立创上开源做了硬件板。

#10 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-28 17:00:22

666,这项目软件硬件开源不?开源的话,可以推广一下

#11 全志 SOC » B站【千赞开源】qemu模拟器仿真f1c200s跑 Linux widora镜像 » 2023-06-28 16:21:33

pcj203
回复: 0

github上有大佬开源了f1c100s的qemu模拟器,可以跑uboot.
然后修了修,目前可以勉强跑Linux 进命令行。
以下是演示视频:
https://b23.tv/g96rz7F
模拟器跑在ubuntu上,手机ssh上去的。
以下是uboot,kernel,logoin
Screenshot_20230628_162257_tv.danmaku.bili_edit_276846461691088.jpgScreenshot_20230628_162808_tv.danmaku.bili_edit_276865411213481.jpgScreenshot_20230628_163634_tv.danmaku.bili_edit_276930007955138.jpgScreenshot_20230628_163118_tv.danmaku.bili_edit_276887442625977.jpg

#12 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-28 16:16:57

香酥肉饼 说:

楼主的驱动好像存在内存泄漏问题,还需要继续填坑啊。

是的,有内存泄露。你是怎么测出来的?怎么搞的设备端?
泄露的bug已经修了,准备和f1c200一起发。最近公司事多,没空整发布代码,也不想修bug了。

#14 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-26 16:26:12

xboot 说:

好想法,之前简单研究了下,linux下的usb 显示屏,整个源码树里面,就一个驱动,没形成气候,window下,没有免驱方案吗?或者通用驱动

Window应该是没有免驱,有免驱也会不支持。
自有驱动自由。又不是商业开发。

#15 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-26 08:03:32

touchey 说:

直接搞成USB显示屏,能用480*272RGB屏吗,再也不用走HDMI了

理论上可以用480屏。但是要自己动手移植

#16 Re: 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-26 08:02:20

香酥肉饼 说:

赞啊!我之前也想做这个,无奈没有win的驱动开发能力。楼主的IDD显示驱动可否分享一下。

B站上有esp32  s2单片机做的usb idd显示屏。idd显示驱动已在github上开源。链接在一些视频置顶评论上找。可以参考。

#17 全志 SOC » f1c200s自制 win10 USB显示屏 » 2023-06-25 19:39:58

pcj203
回复: 35

简介
使用f1c200s  tiny200s货架板+1024*600RGB屏,实现一个win10 USB显示屏。

方案原理:
host: win10加载手撸的IDD显示驱动,编码桌面成jpg,然后usb发送给f1c200s.
dev: f1c200s,接收到完整一帧jpg数据,硬解码yuv,然后软件转成rgb输出给/dev/fb0映射的ram.

b站视频链接
https://b23.tv/UDaOqCa

Videoframe_20230625_195737_com.huawei.himovie.local_edit_177472592466668.jpgScreenshot_20230625_200038_com.android.gallery3d_edit_177501076563538.jpg
Screenshot_20230625_195435_com.android.gallery3d_edit_177145785103697.jpg
性能:
1. 黑白模式20pfs.
2. 彩色10fps

已知bug:
1. 似乎f1c200s硬解jpg和usb传输有小概率性冲突。表现就是0.5%的帧解出来会花掉。

开源情况:
1. 开发未完成。预计农历新年github上开源。

参考:
*1.github.com/microsoft/Windows-driver-samples/tree/master/video/IndirectDisplay

*2.git://github.com/roshkins/IddSampleDriver.git

*3.https://whycan.com/t_8114.html   baremetal hardware JPEG-decoder example (F1C100S)

*4.https://github.com/aodzip/buildroot-tiny200

esp32 s2 实现win10 usb显示屏320*240

已经github上开源: https://github.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display
esp32.jpg

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn