关于FydeOS/OpenFyde适配Surface 3的支持性讨论

2024/4/4更新
surface设备可以去试试这个教程:[教程] 如何在fydeos/openfyde上替换6.6内核
对surface设备有更好的支持
特别是 surface 3,除摄像头以外几乎都做了适配!(大佬太厉害了)
还能用安卓*和Linux应用呢!(2g内存的surface 3不支持开启Linux虚拟机)
既然如此,原文也没有什么意义了,就当作纪念吧

原文

前言
1.如果整篇文章有不对的地方,请指出来.
2.希望你能看完整篇文章!十分感谢!
我有一台4+64G的 Surface 3,想让它运行安卓应用,便选择了 FydeOS
可惜 FydeOS/OpenFyde 对 Surface3 驱动支持不是很好.
于是我就尝试在 FydeOS/OpenFyde 上给Surface3做适配.
在GitHub上就有人对 Surface 做适配,即linux-surface项目.
而有位叫kitakar5525的人,基于linux-surface做出了适用于 chromiumos 的 linux-surface 内核,对 Surface 支持会好一些.


教程
(需要Diskgenius、Rufus、下载的压缩包、FydeOS/OpenFyde 镜像文件)
1.将压缩包中的modules文件夹复制到镜像文件里的ROOT-A/lib中,并将vmlinuz.A文件复制到EFI-SYSTEM/syslinux中.
2.将修改好的镜像文件用rufus烧入U盘,在 Surface3 上启动,就OK了.


适配情况
除摄像头、扬声器(似乎还有麦克风)以外,似乎都能正常驱动


问题
Tip:目前只发现这几个问题,如果还有问题,请提出来.
1.安卓子系统无法启动
2.没有声音
照下面教程依然驱动不了扬声器, evtest 也没检测到 chtrt5645 ,只有什么 Intel HDMI audio .
但神奇的是,照下面教程在原版的 FydeOS/OpenFyde 可以 evtest 检测出 chtrt5645 ,但没有声音.
也不知道怎么样才能驱动.(如果谁会可以试试,文件在这里: UCM-master.zip 40.9 KB)

默认情况下,声音在 Surface 3 平板电脑上不起作用。添加 UCM 文件:
git clone --depth 1 https://github.com/plbossart/UCM ucm
sudo cp -r ucm/chtrt5645 /tmp/mnt/ROOT-A/usr/share/alsa/ucm/

总结
Surface 3 是一台还算不错的旧机器,个人希望燧炻创新能发布它的OpenFyde适配版,让这台老机器重获新生,而不是因为许多原因就此止步
最后由衷地感谢你看完了整篇文章!

我记得之前有人说装pro3的基本能用,你试一下pro3的

没看完,你提到的https://github.com/kitakar5525/chromeos-kernel-linux-surface, fydeos用的surface内核也是开源的已经到5.15了(如果我记得没错的话),你可以到github上找找

OK,我去找找

嗯…没找到 :sweat_smile:,能发个链接吗?谢谢!

我的问题,没意识到fydeos的surface内核是没公开的, https://github.com/linux-surface/linux-surface 上的5.15的patch + https://chromium.googlesource.com/chromiumos/third_party/kernel/ 的v5.15branch + overlayfs的patch https://github.com/openFyde/project-openfyde-patches/blob/main/sys-kernel/chromeos-kernel-5_15/files/008-overlayfs.patch

总之是比你找到的v5.4的对surface3的支持要更全,官方支不支持是有他们的考虑.

BTW,音频chtrt5645的配置 chromiumos有自己的配置文件,这个自己调起来很痛苦的.

对于没有支持的surface系列,优先建议用go3的版本试试

这些patch文件怎么整合到系统里呢?
换言之,你们是怎么用这些patch文件来适配设备的?
能给个教程吗?我想自己编译openfyde来适配我的surface3.谢谢!
能回答一下我的问题吗?谢谢!

我已经不在fydeos了,如果你要编译openfyde的话编译出来的OS是没有安卓子系统的,并且要求有linux, git和C的使用经验, 如果你还想继续的话往下看.

可以参见 https://github.com/openFyde/getting-started 去编译https://github.com/openFyde/overlay-amd64-openfyde_iris, iris的版本现在是6.1的内核,你可以去Linux-surface的github里面找6.1的patch,然后放到 https://github.com/openFyde/project-openfyde-patches/tree/main/sys-kernel/chromeos-kernel-6_1/files 里面, 其中可能会有冲突报错,需要解决.