最近趁着假期把Manjaro换成了Arch Linux,本文记录了我安装Arch Linux中的一些配置。
Arch Linux安装
安装教程参考archlinux 简明指南和ArchWiki。
安装显卡驱动
本人电脑是联想小新Air13 IWL,有一个Intel核显和一个Nvidia独显。
运行lspci -k | grep -A 2 -E "(VGA|3D)"
可以查看显卡信息
|
|
Intel 驱动
首先安装mesa
,它提供了用于3D加速得DRI驱动。对于Intel 8代以及更新的硬件选择软件包mesa
,对于7代以及更老的芯片选择mesa-amber
。
为了支持32位程序,同时安装对应的lib32-mesa
或者lib32-mesa-amber
。 为了Vulkan支持,还需要安装vulkan-intel
,以及32位支持包lib32-vulkan-intel
。
|
|
Nvidia 驱动
建议对照ArchWiki-NVIDIA安装,官方教程更加准确并且可能有更新。
- 对于新于 Turing (NV160/TU_XXX_)系列的显卡,如果系统使用l
inux
内核则安装nvidia-open
,如果使用其他内核则安装nvidia-open-dkms
。 - 对于较旧且新于 Maxwell (NV110/GM_XXX_)系列的显卡,如果使用
linux
内核则安装nvidia
,如果使用linux-lts
内核则安装nvidia-lts
,其他内核则安装nvidia-dkms
。 - Kepler (NVE0/GK_XXX_)系列显卡,安装
nvidia-470xx-dkms
。 - 更旧的显卡安装开源驱动
nouveau
。
如果需要32位应用支持,还需安装lib32-nvidia-utils
。同时可以安装nvidia-settings
用来对nvidia驱动进行一些配置。
|
|
不同型号的显卡对应的软件包选择可以参考archlinux 简明指南-显卡驱动,最好同时对照ArchWiki选择。
安装好驱动后,编辑/etc/mkinitcpio.conf
,删去HOOKS
那一项中得kms
,阻止内核启动时加载nouveau
。
|
|
更改后重新生成initramfs
|
|
重启系统,打开nvidia-settings
如果可以看到显卡的各种详细信息,则说明安装成功。
核显和独显动态切换
参考双显卡(核显 + 独显) 。
安装optimus-manager
,它提供了双显卡下切换仅用核显、仅用独显和动态切换三种模式,optimus-manager-qt
则提供了模式切换的图形界面。
|
|
启用视频硬件加速
参考ArchWiki-Hardware video acceleration。
首先安装驱动
|
|
不同型号的显卡需要安装的驱动包不同,具体要求可以查看ArchWiki。
此时可以使用MPV播放视频检验硬件加速是否启用
|
|
从终端输出可以看到,此时硬件解码是正常的。
在浏览器中启用视频硬件加速参考[HowTo] Enable Hardware Video Acceleration / Video Decode In Google Chrome, Brave, Vivaldi And Opera Browsers。以我使用的Vivaldi浏览器为例,只需要新建文件~/.config/vivaldi-stable.conf
,在其中写入
|
|
此时在浏览器中进入vivaldi:gpu
,已经正常启用了硬件加速。
Windows 和 Linux 共用蓝牙
安装双系统后,每次切换系统都需要重新配对蓝牙设备。但是可以通过改变Linux系统中蓝牙设备的配对参数,实现两个系统共用一个蓝牙配对,这些切换系统后旧不用重新配对,直接可以自动连接蓝牙了。
首先在Linux里配对蓝牙设备,然后重启进入Windows重新配对蓝牙。
下载PSEXEC,以管理员身份启动终端,进入PSEXEC解压后的文件夹,运行
|
|
在打开的页面中展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys
,里面有一个以Windows蓝牙控制器的MAC地址命名的文件夹,打开该文件夹,里面的文件夹名对应的是蓝牙设备的MAC地址,记下蓝牙设备的MAC地址和里面注册表的值。
重启进入Linux,进入/var/lib/bluetooth
,其中有一个以Linux蓝牙管理器MAC地址命名的文件夹,进入该文件夹,里面的文件夹以蓝牙设备的MAC地址命令,把这个文件夹重命名为和Windows中相同的MAC地址值。例如在我的电脑中,Windows中MAC地址为ffa68a9feeb2
,在Linux中就改为FF:A6:8A:9F:EE:B2
。
|
|
然后编辑FF:A6:8A:9F:EE:B2
中的info文件,将相关的蓝牙配对参数改为和Windows相同,需要更改的值如下
|
|
重启蓝牙,蓝牙设备就会自动连接
|
|
使用rEFInd引导系统
rEFInd是一个适用于UEFI的Boot Manager,支持自定义主题,可以替代界面简陋的GRUB,用来引导Linux和Windows双系统。 rEFInd和GRUB的关系可以参考这里。首先安装rEFInd软件包
|
|
将rEFInd引导文件安装到ESP分区
|
|
配置rEFInd主题,我选择的主题是refind-theme-regular,自动安装命令如下
|
|
官方默认安装主题到/boot/efi/EFI/refind/themes/refind-theme-regular/theme.conf
,如果在安装Arch时选择将ESP分区挂在在/efi
的话,需要按照官方的手动安装指导将主题安装到/efi/EFI/refind/themes/refind-theme-regular/theme.conf
。 最终的主题效果如下
如果引导页面有多余项的话,可以按键盘上的Delete键隐藏该启动项。如果未出现rEFInd引导页,可以在电脑的BIOS设置界面将rEFInd启动项置顶。
安装MATLAB
我在安装时采用的是MATLAB 2022a安装包,在终端运行安装脚本,出现报错
|
|
这是由于系统缺少libxcrypt
,使用pacman安装相应软件包
|
|
再次运行安装脚本,出现报错信息
|
|
此时可以按照ArchWiki-MATLAB中的指导进行排查错误来源,为了找出为何MATLABWindow无法加载,在MATLAB安装文件中执行以下命令,查看输出的报错信息
|
|
可以看到系统中无法找到libgtk-x11-2.0.so.0
,安装缺失的软件包
|
|
再次运行./bin/glnxa64/MATLABWindow
,出现错误信息
|
|
此时的报错信息已经和ArchWiki一致,按照说明添加环境变量,再次运行安装脚本
|
|
这时MATLAB安装界面可以正常运行,正常安装即可。
如果在MATLAB运行时碰到问题,可以参考我之前写的Manjaro Linux 安装 MATLAB,里面记录了诸如设置无法保存、无法开启OpenGL加速等各种问题。