2020-10-31技术
联想小新Pro13 2020核显款,原本是打算装Ubuntu使用,但是装完后dmesg里面会有错误
虽然部分错误可以修复,且机器运行正常使用也正常,但还是不放心,最后老老实实装回Windows
这里记录一下过程
XFCE
一直都是用的 Xubuntu,也就是XFCE桌面环境的Ubuntu
但是在13寸2.5K的高DPI屏幕,XFCE的表现实在不尽人意,缩放只有100%和200%,前者看不清,后者像老年机
然后因为XFCE没有 client side decorations,缩放对 Xfwm4 标题栏无效,对部分程序无效比如 virtualbox
目前XFCE是4.14,要等4.16才会有 fractional scaling 和 client side decorations
KDE
又试了Kubuntu,也就是KDE桌面环境的Ubuntu,可以 125%、150%、175% 这样缩放了
但是会有一些小问题,有一部分缩放是无效的,还有一部分位置会偏移很多比如输入法候选框
Gnome
最后选择了原始Ubuntu,Gnome桌面环境,缩放工作完美
装完之后机器运行正常,但是dmesg一敲一片红,错误出现在三个地方:硬盘、网卡、声卡
硬盘和声卡可以解决,网卡不行,升级内核也无解
网卡是AC9462,开关网卡和休眠都能产生错误,但是还是能正常工作的
硬盘错误:
PCIe Bus Error: severity=Corrected, type=Physical Layer
解决办法:
添加 “pcie_aspm=off”
sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" => GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=off"
sudo update-grub
参考:
https://askubuntu.com/questions/863150/pcie-bus-error-severity-corrected-type-physical-layer-id-00e5receiver-id
声卡错误:
sof-audio-pci error: no reply expected, received 0x0
sof-audio-pci firmware boot complete
解决办法:
添加“options snd-intel-dspcfg dsp_driver=1”
sudo vi /etc/modprobe.d/alsa-base.conf
+ options snd-intel-dspcfg dsp_driver=1
参考:
https://bbs.archlinux.org/viewtopic.php?id=253494
https://bugzilla.kernel.org/show_bug.cgi?id=205959
除了通过手动调整硬盘和声卡之外,也可以直接 升级内核:
sudo apt install linux-headers-5.8.0-25-generic linux-image-5.8.0-25-generic linux-modules-5.8.0-25-generic linux-modules-extra-5.8.0-25-generic
在LTS版本上升级内核并不妥当,建议直接安装20.10的非LTS版本,默认就是5.8内核
现在除了网卡的错误之外,dmesg里面不会有其他问题了,我使用了一天下来也是没有出现问题的
虽然用起来没问题,但dmesg里的错误还是让人觉得不舒服,还是老老实实装Windows吧
进PE,用WinNTSetup部署wim镜像,一气呵成。
原以为会一切顺利,可进了安装页面就傻眼了,网卡没驱动不识别就算了,触控板居然也不识别。
刚才在PE里面触控板都正常工作的,我直接就???
虽然可以用键盘或者外接鼠标完成安装,然后再安装驱动,但这显然很不优雅
于是考虑在部署wim镜像的时候直接注入驱动
到联想官网把驱动下载下来,一看都是exe打包好的驱动又是一阵???
记得以前联想提供的驱动不是这样的,没办法只能自己提取了
联想的驱动安装包是用 Inno Setup 打包的,可以用 innounp 提取文件:
innounp -x Audio-SPSI02AF0A2T.exe -dAudio-SPSI02AF0A2T
这样就能把 Audio-SPSI02AF0A2T.exe 释放到 Audio-SPSI02AF0A2T 文件夹,其他文件以此类推
所有驱动都提取出来后,就可以在 WinNTSetup 部署镜像的时候添加驱动了
这样之后系统里面驱动就全有了,不用手动装驱动了。
参考:
http://innounp.sourceforge.net/