Linux 内核更新至 5.16 以上之后,本贴中的很多问题已经彻底消失。
Linux > 5.16 已经包含 Realtek 8852AE 的驱动,因此正常安装后即可正常使用无线网卡,无需额外处理。
AGESA 固件版本 1.2.0.2 已经解决了睡眠后黑屏,睡眠后无法唤醒的问题,使用最新 linux 内核及 linux-firmware 应当不会面临该问题。
在最新固件版本之后,YOGA 14c 的触摸屏支持问题已经得到了极大的改善,在一些应用中(例如:Chromium、KDE)你可以发现可以正常使用触摸屏了,例如当用手在触摸屏向上划动,可以正常滚动页面,而非鼠标单击后拖拽。
但是在一些应用中,比如说:Firefox,对于触摸屏支持仍然存在一些问题,触摸屏划动,仍被识别为鼠标单击后拖拽。
参考 Firefox 维基页面,在添加 MOZ_USE_XINPUT2=1 环境变量之后,即可正常识别触摸操作。
YOGA 14c 一大卖点可360旋转的屏幕,屏幕旋转后即可当作平板使用。但当前 Linux 对于屏幕旋转的支持仍然很差。具体而言,有如下问题:
虚拟键盘支持不良,无法正常使用虚拟键盘,也无法正常唤出虚拟键盘。
旋屏后会自动禁用实体键盘,但当旋转回来时,却不能正常恢复实体键盘功能。结合无法使用虚拟键盘,当旋屏之后,基本上只有重启一条路可以走。
------------------------------------------------------------------------------------------分割线----------------------------------------------------------------------------------------------------
新款 YOGA 14c 锐龙版 2021,搭载 AMD R7 5800U 低压处理器,约 22W 性能释放,配备 16GB 双通道 LPDDR4X-4266 高频内存。作为一款触屏、翻屏二合一本,6000元售价可谓是性价比极高。
本文将讲一讲本人安装ArchLinux过程中遇到的一些问题。
ArchLinux安装需要联网,但该机使用的 Realtek 8852AE 无线网卡尚未被内核支持,且该机无有线网口。
因此要么购买USB网卡,要么自定义安装镜像,为镜像补上 rtw89-dkms-git、linux-headers、dkms 三个包。
如何自定义安装镜像,可以参考:https://wiki.archlinux.org/title/Archiso#Build_the_ISO。
此外,安装时也需要额外安装上述三个包。
该机默认预装的 Windows 10 默认是开启 BitLocker 的,这一点,你进磁盘管理,缩分区时可以很明显的看出。
安装时需要禁用安全启动,但由于开启了BitLocker,当关闭安全启动后,可能会出现环境改变,无法进入Windows系统,需要你手动输入解密密钥的情况。
因此初始安装完毕后,需要为Boot loader以及内核签名,添加安全启动。
具体可参考:https://wiki.archlinux.org/title/Unifie … ecure_Boot
本人采用 shim+systemd-boot 方案。
安装好之后,你会发现,笔记本无法睡眠,具体表现是睡眠之后,机器无法唤醒。
查阅资料后,我发现这一问题的原因以及解决方法了。
详细内容请参考该github页面:https://github.com/jrandiny/yoga-slim7-ubuntu#suspend
经测试 Bios Unlock 方案因为主板版本以及 BIOS 版本不同,无法直接应用。
因此只有修改 DSDT 这一方案可用。
参考上述页面以及Arch维基,修改并重打包 DSDT,修改 boot loader 设置之后即可正常睡眠并唤醒。
特别注意的是:上述页的patch文件是基于Yoga Slim 7 AMD,而不是Yoga 14c AMD,因此不能直接使用打上补丁,需要参考对照之后,自行修改。
具体而言,主要是应用了补丁文件18行以及917行这两处的修正,11317行的那处修正,并没有找到相应的内容。但只修正了前两处,好像就已经可以开启 S3 ,正常休眠了。
虽然安装好系统之后,最大特色触摸屏可以正常使用,触摸屏只是被单纯的映射为鼠标,参考维基页面,尝试了其中几种方案,但并没有找到获得与原生Windows相似触控体验的解决方案。
最近编辑记录 lily (2022-02-03 11:55:54)
离线
如果换成wayland的话触摸板应该就不会被映射成鼠标吧?
离线
如果换成wayland的话触摸板应该就不会被映射成鼠标吧?
好像并不能
离线
好像并不能
应该是因设备而异。有的触摸板会被识别为触摸板,但有的就只是识别为鼠标。
离线
正好在物色主流价位的轻薄本本,因为其它爆款都涨了很多所以保持首发价的 Yoga 14c 反而显得有性价比了,就是不知道 Linux 下体验如何,现在终于看到有人发贴了。请问楼主装的什么 DE ?我习惯使用 KDE,不知道体验如何
离线
正好在物色主流价位的轻薄本本,因为其它爆款都涨了很多所以保持首发价的 Yoga 14c 反而显得有性价比了,就是不知道 Linux 下体验如何,现在终于看到有人发贴了。请问楼主装的什么 DE ?我习惯使用 KDE,不知道体验如何
桌面环境也用的 KDE
离线
楼主,想问一下,你用的内核版本是怎么样的?
我是linux-ck 5.14.9-1,然后按照那个方法修改了之后
$ cat /sys/power/mem_sleep
s2idle [deep]
$ sudo dmesg | grep ACPI:| grep support
[ 0.227908] ACPI: PM: (supports S0 S3 S4 S5)
显示已经支持s3,并且模式也是deep休眠了。
但是我休眠+合盖后还是睡死,人傻了。
桌面用的是kde。
楼主那边是什么情况呢
离线
还有就是,目前似乎指纹识别无法使用?
我搜了一下那个设备号,国外论坛的说法是,商家拒绝提供linux的驱动代码,现在无法用指纹识别
离线
楼主,想问一下,你用的内核版本是怎么样的?
我是linux-ck 5.14.9-1,然后按照那个方法修改了之后
$ cat /sys/power/mem_sleep
s2idle [deep]$ sudo dmesg | grep ACPI:| grep support
[ 0.227908] ACPI: PM: (supports S0 S3 S4 S5)显示已经支持s3,并且模式也是deep休眠了。
但是我休眠+合盖后还是睡死,人傻了。
桌面用的是kde。
楼主那边是什么情况呢
新版内核之后修改DST以修复睡眠功能好像已经失效,我这里也有这个问题。
离线
能具体讲一下shim+systemd-boot的方法吗
离线
我看中了yoga13,这几天多多4249,R5锐龙,16g,512,有点心动,不知道能不能正常安装。。
离线
关注,我也看中yaga13s,坐等大神带飞
离线
好奇 原生Windows相似触控体验 是怎样的?比如长按拖拽这样吗?(我想象的)
啦哆咪 - 用Linux制作音乐
https://lado.me
离线
好奇 原生Windows相似触控体验 是怎样的?比如长按拖拽这样吗?(我想象的)
这个可以看我的更新
离线
能具体讲一下shim+systemd-boot的方法吗
这个凭借印象大概说一说吧,主要参考页面:Unified Extensible Firmware Interface/Secure Boot、systemd-boot。
首要要禁用 Secure Boot ,这就不用多说了。
以下步骤操作针对 /boot 分区 同时为 ESP 分区的情况。
安装 EFI boot manager
bootctl install
然后你应当看到 /boot/EFI/systemd/systemd-bootx64.efi、/boot/EFI/EFI/BOOT/BOOTX64.EFI 两个文件了。
使用 efibootmgr --verbose 应当也能看到 systemd-boot 的启动项。
然后在 /boot/loader 目录添加相应的配置文件,systemd-boot 并不能像 grub 那样自动生成配置文件。
添加 /boot/loader/entries/linux.conf
title Arch Linux
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux.img
options loglevel=3 root="LABEL=arch_os" rw
添加 /boot/loader/entries/linux-fallback.conf
title Arch Linux (fallback initramfs)
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux-fallback.img
options loglevel=3 root="LABEL=arch_os" rw
需要安装 amd-ucode,且以上仅为示例,请根据自己情况修改 options 。
添加 /boot/loader/loader.conf
timeout 3
console-mode keep
default linux.conf
然后重启系统,确认 systemd-boot 可以正常工作后进入下一步
复制文件
cp /usr/share/shim-signed/shimx64.efi /boot/EFI/systemd/
cp /usr/share/shim-signed/mmx64.efi /boot/EFI/systemd/
添加 EFI 启动项
efibootmgr --verbose --disk /dev/sdX --part Y --create --label "Shim" --loader /EFI/systemd/shimx64.efi
生成 MOK 密匙
openssl req -newkey rsa:4096 -nodes -keyout MOK.key -new -x509 -sha256 -days 3650 -subj "/CN=my Machine Owner Key/" -out MOK.crt
openssl x509 -outform DER -in MOK.crt -out MOK.cer
将 MOK.cer 复制至 /boot/MOK.cer。
将 MOK.cer 复制至 /etc/MOK.cer。
将 MOK.crt 复制至 /etc/mok/MOK.key,特别注意文件权限。
签名 systemd-boot
cp /boot/EFI/systemd/systemd-bootx64.efi /boot/EFI/systemd/grubx64.efi
sbsign --key MOK.key --cert MOK.crt --output /boot/EFI/systemd/grubx64.efi /boot/EFI/systemd/grubx64.efi
签名内核
sbsign --key MOK.key --cert MOK.crt --output /boot/vmlinuz-linux /boot/vmlinuz-linux
添加 pacman hook
/etc/pacman.d/hooks/999-sign_kernel_for_secureboot.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = linux
Target = linux-lts
Target = linux-hardened
Target = linux-zen
[Action]
Description = Signing kernel with Machine Owner Key for Secure Boot
When = PostTransaction
Exec = /usr/bin/find /boot/ -maxdepth 1 -name 'vmlinuz-*' -exec /usr/bin/sh -c 'if ! /usr/bin/sbverify --list {} 2>/dev/null | /usr/bin/grep -q "signature certificates"; then /usr/bin/sbsign --key /etc/mok/MOK.key --cert /etc/mok/MOK.crt --output {} {}; fi' ;
Depends = sbsigntools
Depends = findutils
Depends = grep
然后重启系统,启用 Secure Boot。
开机时按 F12 选择启动项 shim。
初次启动时会让你导入 MOK,导入成功后再次重启。
如果能正常进入系统,即完成 Secure Boot 的设置,可以进入 BIOS 将默认启动功设为 shim 。
离线