记一次在AMD笔电上安装Ubuntu经历
本文最后更新于 2022年9月20日 晚上
背景
新购入了一台Lenovo小新AIR 14笔电,CPU为AMD最新的RYZEN 5500U,安装Ubuntu 20.04 后主要出现了屏幕亮度无法调节、触控板失效、不能正常挂起(待机) 三个硬件问题
一番搜索后,获得了“升级Linux内核就可能解决问题”的信息,遂尝试为系统更新内核
升级内核至5.11后屏幕亮度和触控板的问题都解决了,挂起暂时还有些小问题
升级Linux内核
注意!升级Linux内核是很不明智的行为,只有Ubuntu官方维护推送更新的版本才算是稳定可靠的版本。以下内容仅为我个人在笔记本电脑上瞎折腾的尝试,一定不要在生产环境上实验!
升级到最新的内核可以带来新功能。新机器嘛,没有数据,就算失败了彻底重装系统就好,再大不了七天无理由退货,开搞!
本文已更新,在文章末尾处可以找到降级Linux内核和删除多余内核的方法。
查看当前Linux内核版本
1 |
|
这个命令可以查看当前内核版本,此时(2021年3月中旬)Ubuntu 20.04通过官方源apt可以更新到的最新版本为5.8,而前往The Linux Kernel Archives网站查看最新的stable版本已是5.11
附上一篇Linux中国帖子的链接 哪个 Linux 内核版本是 “稳定的”? | Linux 中国_技术无边
方便起见,不自行编译而是下载现成的deb包安装更新
下载合适的Ubuntu Kernel
打开Ubuntu的Kernel网站,下拉找到我们要的5.11.8版本,进入下载
点击进入这个页面,根据自己的硬件设备选择不同的版本,我这里选择amd64也就是x86-64的版本。
一共需要下载四个文件:两个header头文件,一个image镜像,一个modules模块
- linux-headers-5.11.8-051108_5.11.8-051108.202103200636_all.deb
- linux-headers-5.11.8-051108-generic_5.11.8-051108.202103200636_amd64.deb
- linux-image-unsigned-5.11.8-051108-generic_5.11.8-051108.202103200636_amd64.deb
- linux-modules-5.11.8-051108-generic_5.11.8-051108.202103200636_amd64.deb
Warning:在内核版本4.17之前(不含4.17)中是无modules文件的,所以你只需要3个软件包即两个header,一个image即可完成更新。而网上目前搜索到的内核更新教程通常都是适合4.17内核之前的,而我们更新到4.17之后版本,例如我们更新到5.2.4,在dpkg步骤时候会提示缺少依赖项,没有modules文件!
安装新内核
在文件资源管理器中右键"在终端打开",或者打开一个终端进入存放这四个deb文件的目录,执行下面的命令,安装四个deb包
1 |
|
安装完成后重启电脑,再次执行uname -sr
,检查是否已经完成更新
在我的机器上,升级到Linux 5.11后再次重启电脑,触控板就可以正常使用了,屏幕亮度也可以调节了
选择从指定的内核启动
如果安装新的高版本内核后,还想要从低版本内核启动,需要配置一下grub。详细内容见本文降级Linux内核-配置GRUB。
更新硬件固件
在尝试启用指纹识别器的过程中发现了这篇帖子ubuntu 20.04 启用指纹登录,发现了fwupd这个程序,记录一下。
fwupd 是一个简单的守护程序,可让您更新某些设备的固件,包括用于多数计算机的 UEFI。参考自ArchLinux文档
1 |
|
虽然一番操作之后系统还是没有识别出指纹识别器,至少又新学到一个软件的用法吧。
GRUB
谨慎操作,这里只是简单列出来我在我的机器上做的事情,谨慎参考。
1 |
|
在打开的grub配置文件中,修改这一行
1 |
|
然后运行
1 |
|
使配置生效(更新 /boot/grub/grub.cfg
)
美化
安装必要软件
打开一个Terminal,执行以下命令
1 |
|
在应用程序中可以找到“优化”(GNOME Tweaks)这个软件了
安装GNOME Shell integration 插件
在Chrome浏览器(Firefox也可以)中安装GNOME Shell integration 浏览器插件,然后打开extensions.gnome.org
安装一些扩展插件。只要进入要安装的扩展的网页,打开右上方的那个开关(浏览器会提示确认执行操作,给予权限允许操作即可),就可以安装扩展了。
所有已安装的extension都可以在应用程序“扩展”或“优化”中管理
下面分享几个我在使用的扩展:
Dash to Dock
可以把Ubuntu默认的Dock栏换成一个更加美观而功能强大的,有非常多的可选设置项
位置大小:可以调节Dock显示的位置等。
其中智能隐藏是我非常喜欢的一个功能,可以隐藏Dock,使得应用程序占满显示器全部宽度,鼠标贴靠在屏幕边缘并施加一定压力(也就是鼠标继续往外拉)后Dock随着平滑的动画自然弹出,非常舒适啊。
行为页中可以找到快捷启动功能:使用键盘快捷键(如Super + 0~9)可以快速启动常驻在Dock上的应用程序,类似Windows 10 的快捷键。
关于Dash-to-Dock还有许多有趣的设置,可以逐一尝试一下。
Clipboard Indicator
加强剪切板的功能,提供剪切板历史记录等。
OpenWeather
在Panel上添加一个显示天气的小窗,颜值还不错
天气信息来自openweathermap.org或darksky.net
可选的设置项还是比较多的
Desktop Icons
一个内置的扩展。如果你和我一样喜欢完全零图标的桌面,那可以在这个设置中隐藏桌面上的用户文件夹和回收站
安装主题包
我使用的主题全部来自 https://www.gnome-look.org 这个网站,可以选择按照评分排序查看下载一些经典好看的主题图标。
Ubuntu 20.04 为所有用户提供的默认存放主题的文件夹分别如下:
- 主题包:
/usr/share/themes/
- Icons 图标:
/usr/share/icons/
- 鼠标图标:
/usr/share/icons/
将下载好的主题包解压到对应的目录(或者先解压再拷贝过去)。注意有的主题从网站下载的一个压缩包中可能包含深色浅色等多种主题,需要仔细辨别一下,分清文件夹层级关系。
图片展示了我的主题目录,每个文件夹就是一个主题包
切换主题的方法是,打开“优化”(GNOME Tweaks)应用程序,在外观选项卡下就可以选择刚刚下载好的主题了。这里展示了我正在使用的主题图标光标。
键盘快捷键
系统监视器:gnome-system-monitor
仍然存在的一些小问题
挂起功能不正常
除了关机/注销/切换用户,在笔电上安装的Ubuntu还有一个“挂起”选项,个人理解应该跟Windows的“睡眠”功能类似。
截止到本博文最后更新,这台笔电的挂起功能仍然不能正常使用,常常出现挂起后无法恢复的问题,只能长按电源键8秒强制关机再重新开机。
需要在设置中关闭自动挂起,在优化中关闭“合上笔记本盖子自动挂起”,最好也把电源键功能设置成关机而不是默认的挂起。
这样虽然不能挂起,但是合上盖子自动熄屏,开盖亮屏还是可以实现的。
2022.5:升级 bios 至 2.07 后可以正常挂起。
指纹模块无法使用
这台机器应该是在电源键上集成了指纹模块的,但是无法被识别,也无法使用,小小的遗憾吧,也许以后随着版本更新可以解决。
降级Linux内核/删除多余内核
在后面的折腾中,我发现手动安装的新版本内核(如5.11.14)不是替代旧的(如5.11.6、5.8.0),而是与之共存。GRUB会在电脑启动时自动选择最新版本。如果想要用回低版本,或者删除多余的内核,需要下面的步骤。
查看已安装的内核
1 |
|
其中dpkg --get-selections
“把已选中的软件包列表打印到标准输出”,通过管道传给grep,找出所有名字含有linux的包
配置GRUB
为了从指定的内核启动(譬如现在已经默认从最新的5.11.14启动,则可以卸载5.11.10,但不能卸载5.11.14,也就无法回退,需要从5.11.10启动后再卸载5.11.14),需要在GRUB里面进行一些设置。
1 |
|
修改其中的这一行,从
1 |
|
改成
1 |
|
接下来运行
1 |
|
使配置生效(更新 /boot/grub/grub.cfg
)
重启电脑,就会看到Ubuntu、Ubuntu的高级选项等菜单,进入Ubuntu高级选项,就可以自行选择想要启动的内核了。
如果觉得每次开机手动选择麻烦,也可以在/etc/default/grub
里面把这一行
1 |
|
改成你需要的启动项即可。
卸载删除
1 |
|
注意最好不要移除Ubuntu官方的内核(在我的机器上是5.4.0和5.8.0),只移除我们自行安装的就好了。
安装amdgpu驱动
目前的尝试以失败告终,还在继续折腾中。
参考文章
记一次Ubuntu 18.04 内核升级-知乎-CCCCCaO
写给工程师的 Ubuntu 20.04 最佳配置指南-掘金-BaronTalk
另外,本文在CSDN下的评论区也有小伙伴支招,可以参考。