本文来自依云's Blog,转载请注明。
使用24寸4k屏幕作为主屏的时候很简单,设置 scale 为 2 就好了。但是,当 2 嫌太大、1 嫌太小的时候,问题就来了。比如我希望使用 120dpi,把 scale 设置为 1.25 可好?
而这才是理想的效果:
看不出来差别?放大八倍,你看差别多明显:
正常 120dpi 渲染出来的文字边缘清晰犀利,次像素平滑左红右蓝。再看看 scale=1.25 的文字,线条经常糊掉,次像素平滑效果几乎完全被抹掉。实际看上去的效果就是跟透明麿沙玻璃看屏幕似的,线条边缘总是有点糊糊的感觉,1080p 的屏幕被降级成了 720p 似的。
之所以出现这样的情况,是因为 Wayland 只支持整数倍缩放。因为,Wayland 混成器不能告诉客户端你得把窗口给画成 1.25 倍的,而客户端也无法告诉混成器我这个图像画的是 1.25 倍。所以,混成器只好告诉客户端你给我画个 2 倍的图像吧。混成器拿到图像之后再缩小 0.625 倍,自然有些逻辑像素就不能对应到单个的物理像素上去了。
所以,我还是设置 scale=1,不要混成器帮我去缩放。我自己通过另外的办法告诉客户端把字写大点儿。图标之类的就顾不上啦,反而大点小点都还能看。比如我要 1.25 倍大小的文字,就这样做:
-
GTK 3:在 dconf 里设置
org.gnome.desktop.interface.text-scaling-factor=1.25
就好了。最开始的截图就是 dconf-editor 里这一项配置。 -
Qt:设置环境变量
QT_WAYLAND_FORCE_DPI=120
。 - Telegram:除了上边这个环境变量外,额外地在它自己的设置里设置 150% 的缩放(Telegram 的字偏小所以要设置得大一些)。设置环境变量是为了 fcitx5。
-
waybar:
config
文件中设置height
,style.css
中设置font-size
。 -
Xwayland:和 X11 下的 HiDPI 设置差不多的。比如 GTK 2 设置 Xresources
Xft.dpi: 120
就好了。
我遇到的差不多就这些了。没办法,Linux 就是这么乱 QAQ。不过虽然 Wayland 协议不支持,好歹还有绕过的办法。
Feb 02, 2022 05:44:43 PM
我n卡用wayland还是会遇到各种奇奇怪怪的问题...
Feb 03, 2022 05:27:09 AM
其实我还是觉得应用程序按照font-size调整绘制比例比scaling-factor要好,因为用户调整默认的font-size大小总是有原因的。
可惜web可以用em单位来匹配font-size,但是native好像没这选项的感觉(
(另外仙子的博客好像没有尊重我的默认font-size呀)
Feb 03, 2022 06:15:10 AM
不对,是仙子博客的字号太小了(
Feb 03, 2022 10:58:56 AM
但是没有一个地方调整所有的字号呀。另外字号用像素本来就怪怪的,至少用个物理长度单位嘛,当然基于视角的方案会更好。
Feb 14, 2022 04:37:05 PM
请假一下博主,kde桌面环境,可以用dconf配置gtk程序的字体大小不?另外我尝试配置字体dpi后,在wayland下运行chrome或者firefox,字体还是很小?有解决方案没?
Feb 14, 2022 04:39:13 PM
请教一下 字打错了
Feb 15, 2022 11:37:20 AM
火狐的话,你可以在 about:config 里修改 layout.css.devPixelsPerPx 这个选项的值。其它的我就不清楚了。
Apr 10, 2022 09:11:29 PM
我装好了wayfire之后,我在显卡方面遇到问题了,我想请教一下
我的笔记本是i+n双显卡的
我在grub里加了nvidia-drm.modeset=1,然后内核模块添加了nvidia,nvidia_modeset,nvidia_nvm,nvidia_drm,i915,intel_agp.
但是开始后运行nvidia-smi依然没有用独显运行,想请教一下,是不是我有些地方没有搞明白或者说n卡实在用不了?
Apr 10, 2022 09:15:30 PM
这问题我实在是搞不出来了,搞了2天了,现在毫无头绪
Apr 10, 2022 09:28:08 PM
我没有尝试使用 nvidia 显卡运行 wayfire,可以试试 WLR_DRM_DEVICES 环境变量。不过为什么不用 intel 呢?
Apr 11, 2022 12:40:23 PM
这不是steam还有些游戏可以偶尔玩一下嘛
Apr 11, 2022 12:41:11 PM
steam 支持 native wayland 吗?如果是用的 xwayland 的话,你也可以 prime-run 的。
Apr 11, 2022 02:47:13 PM
哦哟哦哟,可以的哟,我刚才启动chrome没有问题的呀,nvidia-smi查看占用了,但是虽然不知道为什么很多输出全是N/A,但是prime-run确实占用了显存,我试试steam去
Apr 11, 2022 03:13:49 PM
可以了,steam启动游戏时加个prime-run可以跑的很流畅,占用也很正常,感谢依云大佬的指点。
Apr 21, 2022 02:52:52 PM
依云博主用的是什么显示器?自己也想买一个 24 inch 的 4k 屏。
Apr 22, 2022 11:06:43 AM
我用的这个: https://item.jd.com/100003928805.html
Jun 02, 2022 11:29:19 AM
好消息是wayland中有希望实现小数倍数缩放了 https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3511
Jun 03, 2022 11:57:54 AM
好耶~不过还得等 gui toolkit 的支持。
Aug 02, 2022 04:38:19 PM
无意翻到,厉害