2022 年,我的 Wayland 工作电脑设置


Wayland 比 Xorg 要快很多,在没有独立显卡的笔记本电脑上对桌面动画性能提升还是很明显的,忍受不了卡顿掉帧的桌面动画,我决定切换到 Wayland 。

DE

试用了各种 DE、WM 后,我的最终选择是 KDE,KDE 支持为不同分辨率的屏幕设置不同的 DPI,并且能够清晰地在不同的屏幕上缩放 XWayland 应用,使之适配多个分辨率不同的显示器。

只有真正去折腾的人才知道,让 Linux 桌面适配多个分辨率差异很大的屏幕有多痛苦,KDE Wayland 能够以最小的代价实现让人满意的效果。

在 XOrg 下,为了实现为多块屏幕设置不同分数缩放,我使用的是全局设置两倍缩放,然后通过 xrandr 压缩到合适分辨率的做法,这种方式比较消耗性能,但还在可以勉强忍受的范围内。

Wayland 下的 GNOME 虽然支持为不同显示器设置不用的缩放系数,但是分数缩放的支持比较差,使用 XWayland 渲染的软件会先按照 1 倍渲染,然后被系统强制放大到指定的倍率,其效果可想而知,满脸的马赛克锯齿。

Wayland 下的 KDE 就厉害多了,可以直接在系统设置中针对不同的屏幕设置分数缩放,而且性能还很不错,最重要的是,KDE 会自动管理那些不支持 Wayland 的软件的缩放系数,最终可以让我们得到非常 Nice 的显示效果。

左侧是笔记本内置屏幕(1920×1080, 14″,150%)上的 KDE 系统设置,使用原生 Wayland 渲染,右边是外接显示器上(3840×2160, 24″,200%)基于 Chromium 的 Obsidian,使用 XWayland 渲染。

打工人必备

飞书 XWayland

Wayland 下的飞书跟 XOrg 下的使用体验没有太大区别,主要是 Wayland 下共享桌面需要一些额外的设置,可以参考下面的做法:

  1. 启用 Chromium 的一个 flag: enable-webrtc-pipewire-capturer
  2. 安装 xdg-desktop-portal-kde

这种做法对于其他的基于 Chromium 的软件应该同样使用,其中的原理可以查看这篇文章

截图与录屏

截图工具用的是 Flameshot,虽然对多显示器的支持比较早期,但是用的顺手。KDE 自带的 spectacle 能用,但在我的电脑连接外置显示器的时候比较卡,而且不太符合我的使用习惯。

录屏比较麻烦,我之前用的 SimpeScreenRecorder 并不支持 Wayland,找了一圈发现很多带图形界面的录屏软件在 KDE Wayland 下要么卡顿,要么功能上有 Bug。还有 Sway 用户推荐的各种命令行工具,感觉用起来会很不方便。最终我还是决定用 OBS 来录屏,属于是用牛刀来杀鸡了,但是至少稳定高效。

输入法

对于 KDE 用户来说,直接安装 fcitx5 应该就可以开箱即用了,如果发现输入法候选框没有在有些应用中出现,可以参考这里的说明试试。

开发必备

JetBrains 系列

JetBrains 所有基于 Idea 的软件以及 Fleet 目前都只能在 XWayland 下运行,不过就我目前的使用体验来看,没有遇到任何阻断性的问题。

WebStorm 2022
Fleet

KDE 会为 Fleet 设置 1.5 倍缩放(跟我设置的全局缩放一致),但实际上 Fleet 的 UI 库似乎会跟随全局缩放自动调整,所以得手动在 Fleet 中把缩放系数改为 75%,把 KDE 设置的缩放抵消掉。

终端模拟器

虽然用的 KDE,但是我没有选择使用 Konsole 作为终端模拟器,在我看来,响应更加迅速、跟 Shell 融和地更好的 kitty 更有吸引力。如果你发现无法在 kitty 窗口中调用 fcitx5,可以参考这里

设置全局唤起 kitty 的快捷键需要一点 tricks,KDE Wayland 把设置自定义快捷键的设置面板换掉了,需要通过执行 QT_QPA_PLATFORM=xcb systemsettings 找回旧的快捷键设置面板。


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

You can use markdown syntax in comment