和 Arch Linux 同行一年多以来的新发现
从去年引进 Arch Linux 以来,我使用笔记本的频率大幅上升,让台式机黯然失色。毕竟,其反应速度和显示效果优于 Windows,操作空间更大(也不时因此陷入多次危机),软件库里也总有一款适合我的工具等待安装。我对它要求不高,只要可以登录并正常打字便可——在此之上,可以适当改进使用体验,于是不时心血来潮整点花样。今天尝试将这些经历记录下来,供读者和将来的自己参考。
一、独立 GPU 的调用问题
虽然我在上集提到“不再需要”那枚 GeForce 940MX GPU,但这给我心里留了个疙瘩:不能调用之,说明我对这个系统的掌控还稍欠火候,为了《Minecraft》总归要努力一下。于是开始了各种软件包的组合调教……
今年稍早时候,我采用了全开源方案:PRIME 和 Nouveau 开源驱动的组合。据 ArchWiki 资料,安装好驱动便万事大吉了,但迄今我仅仅成功调用一次——xrandr
当中出现一次,《Minecraft》调用一次,但帧率非常差,此后没再出现于 xrandr
当中,也不能借由 DRI_PRIME=1
前缀来调用。随后安装了 optimus-manager
,此后便撂着不管,在数月间毫无建树。
八月末,我决意换以绿厂闭源驱动 nvidia
,同样倒腾了许久:
- 先是,
nvidia-smi
和optimus-manager
指令均未能发现独立 GPU,后来据内核日志,认为其内核模块未被加载,反而是被在内核之后 GDM 的 X11 引擎加载(后来通过mkinitcpio.conf
令内核提前加载nvidia
模块); - 再是,当我再一次试图编辑 X11 配置时,系统启动无果(后来认为是
MatchDriver
设置画蛇添足了); - 还有,来自软件库的
gdm
其实不支持双 GPU 切换,需要从 AUR 抓取gdm-prime
进行替换。 - 最后让
bbswitch
作为 Optimus Manager 的切换引擎,万事俱备。
现在,执行命令 optimus-manager --switch nvidia
以后,可全局启用独立 GPU,不仅在 xrandr --listproviders
当中可观测到,还可被《Minecraft》正常调用;游戏画面流畅,启用 64x 材质的情况下鲜少出现 60 fps 以下的帧率。出于很少玩游戏,以及确保打字时电池续航的缘故,我未启用 hybrid
模式。
顺便带来 xorg.conf
当中对 GPU 之定义——我也不清楚是否跟这个有联动关系,其余由 nvidia-xrun
自动生成:
1 | Section "Device" |
二、桌面环境问题
今年三月以前,我采用 Budgie 作为桌面平台。在当时的每周例行更新中,Budgie 突然修改依赖(不用 mutter
,改为 mutter43
),而既已存在的 GNOME 全家桶依赖 mutter
,二者被判定为不相容且无法继续更新。我提交了 Issue,被告知“这属于 Arch 的软件包管理问题,与我无关”。我非常不解,他们为何不去适配最新的 mutter
,反而把责任推卸出去?遂决定改换桌面,与之割席。
——题外话:他们换了一种方式适配,即另立软件包 magpie-wm
,取代 mutter43
作为新依赖。Arch Linux 新闻流中报告了这项需人工干预的依赖破坏事件。这活整得实在不专业……
在剩余选项中,Cinnamon 跟 Budgie 长得最像,主题支持很好,也有许多插件可用;下图就安装了内存占用率监测插件。(GNOME 很多软件不接受我挑的主题,可能要到 GNOME 环境里设置?)更换过程相对简单,进入 GNOME 环境卸载 Budgie、安装 Cinnamon即可。Cinnamon 载入以后,我发现很莫名其妙的现象:启动 Firefox 和部分 GNOME 软件时要等待数十秒。不清楚是否跟 这个问题在九月的一次更新后消失了,感谢社区。gdm
有关(其推荐使用 lightdm
作为底层窗口管理器)。
据闻 GNOME 有意放弃对 X11 引擎的支持,我担心又要大动干戈:须知 Cinnamon 尚未支持那个被称作“未来”的 Wayland 引擎。
三、电池管理问题
这个系统最恼人的问题是,在曾经待机(例如合上盖子)的情况下关机后,电池会快速流失电量,一天可衰减近半(Windows 关机后正常);日常使用时,也存在续航时间偏短的问题。
前者目前的方案是,关机后再次开机,来到 GRUB 引导菜单便即行关机,如此电量得以保存。后者自从引入 laptop-mode-tools
之后便明显改善。在查阅资料时发现,一个叫做 TLP tlp
的软件也适用于笔记本电源管理,但不清楚二者是否能够和平共存。
四、软件集与服务的补充和调整
- 上集所指出的音乐播放器被放弃了(现在有较轻便、可随意倒腾的 Celeron 3965U 单板电脑代劳),从而不再需要
debtap
。 - 引进了 Darktable 和 Inkscape,用于色彩要求较低的修图和绘图。(作为 Lightroom 和 Illustrator 的开源替代,功能之完善可谓超乎想象。)
- 引入 OnlyOffice 以编辑文档。
- 有了打印之需,遂引入打印机服务
cups
和前台管理器system-config-printer
。
- 有了打印之需,遂引入打印机服务
- 引进了微软 Edge 浏览器。Chrome 系列跟 Firefox 对某些网页的预览效果有些微差异,有的插件(如购物比价)也仅支持前者,故找来这么条鲶鱼。
- 针对早前 GNOME 全家桶启动缓慢、主题我行我素的问题,我引进了 X-apps 软件集(收录于仓库的不多,只有阅读器
xreader
和记事本xed
)以及压缩软件xarchiver
、看图软件geeqie
、计算器galculator
等作为替代。- 同时显性引入
p7zip
和unrar
以处理对应压缩包。
- 同时显性引入
- 引进了形如 Total Commander 的双列表文件管理器
gnome-commander
。 - 引入二进制编辑器
ghex
。 - Budgie 本身可以管理蓝牙连接,而 Cinnamon 则不能,遂引进
blueman
。 - 引进了翻译软件
pot-translation
,便于翻译时参考机器翻译结果。 - 引进了文件搜索程序
catfish
。 - 为《Minecraft》准备了 Java 环境
jre17-openjdk
。其实启动器会自行下载整套环境,故必要性不大,但好处是更新得快。 - Visual Studio Code 在此分为多种发行版本:一方软件源的
code
,Arch CN 软件源的code-transparent
与vscodium-bin
,还有 AUR 里的正牌visual-studio-code-bin
…… 用户体验上的差别似乎仅在于插件源:code
需要额外安装code-marketplace
方可接入微软插件源,但这无伤大雅。遂选用code
。
- 启用了服务
fstrim.service
,以便优化固态盘。(准确地说是个计划任务?) 启用了服务其实毫无用处,一方面 Cinnamon 未提供 NFS 共享的连接选项,另一方面 Samba 足以承接文件共享的任务。nfs-client.target
,以便连接 NFS 共享。
五、美化
上篇用的主题是 Adwaita,尽管模样尚可,但我希望采用统一、深邃且五彩斑斓的深色模式,图标包也应当适配 Cinnamon——设置页里有很多空缺的图标,总归是不舒服的。Cinnamon 和 Budgie 有许多东西和 GNOME 相通,一般 GNOME 主题包对此二者也适用。最终决定选用 Kimi 和 Fluent11 作为主题和图标包。鼠标样式则采用 ArcMidnight。
给 Linux 桌面环境美化相当简单自然:设置里按两下任意切换主题,这个桌面看腻了也可以换成旁的桌面,不似 Windows 处处设限。
至于桌面背景,我相对推崇的有:
- Anni Roenkae 的抽象画
- Moose Photos 的静物写真
- “画师 JW”的风景画:Pixiv | Lofter | 微博
六、展望
现在的系统不能自动检测 HDMI 显示器的接入并输出画面;据现有资料,输出画面需要通过复杂的 xrandr
命令指示,而现有的简化手段似乎都不能实现自动检测;那至少让我能够用简化指令来输出罢,遂引入 mons
。等哪天购得外置显示器再谈。
电池使用已届两年;电池老化可能是电源管理问题的成因之一,考虑更换,但估计治标不治本。
目前触摸板既不支持多指手势,也会在打字时误触惹祸。Touchégg 似乎不支持我的设备,有待日后探索。