网上都是一些使用cvt来设置,但是有些显示器需要cvt -r才能成功。
1. 准备
先查看显示输出设备
显示如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 8192 x 8192
eDP-1 connected (normal left inverted right x axis y axis)
1920x1080 60.00 + 59.93 40.00
1680x1050 59.95 59.88
1600x1024 60.17
...
400x300 60.32 56.34
320x240 60.05
VGA-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
1920x1080 60.00 50.00 59.94
1920x1080i 60.00 50.00 59.94
...
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
|
根据显示,其中有3个输出设备,一个是eDP-1
,即笔记本自带屏幕,第二个是VGA-1
,是笔记本上面的VGA接口,没有在用,正在使用的是HDMI-1
,而里面的分辨率最高只有1920x1080
,所以需要往里面添加分辨率选项。
2. 设置分辨率
需要添加的是2560x1440
分辨率,可用cvt
查看2k分辨率需要使用的参数:
显示如下:
| # 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz
Modeline "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
|
接下来需要使用输出结果中的Modeline
后面的参数,即"2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
这段
| # 用xrandr新建分辨率
xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
# 将新模式添加进HDMI-1分辨率列表
xrandr --addmode "2560x1440_60.00"
# 设置当前输出为2k分辨率
xrandr --output HDMI-1 --mode "2560x1440_60.00"
|
设置完分辨率后屏幕经过短暂黑屏,然后亮屏,可以看到解决了。
3. cvt使用-r参数
此时对于大多数人来说分辨率已经设置成功了,但是偏偏我的不行,设置完发现分辨率仍没有改变,在黑屏亮屏之后看到这样一行报错:
| xrandr: Configure crtc 0 failed
|
最后查找到 Archwiki上的说明 里面有这样一句话
对于个别LCD显示器(例如samsung 2343NW),可能需要用到”cvt -r” (具有减少空白显示的效果)命令。
于是使用cvt -r继续
| cvt -r 2560 1440
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
xrandr --newmode "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI-1 2560x1440R
xrandr --output HDMI-1 --mode 2560x1440R
|
最后成功设置成2k分辨率,很清晰,但是图标和字体有点小,查看xrdb -q
显示如下
| xrdb -q
*customization: -color
Xft.dpi: 96
Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.rgba: none
Xcursor.size: 24
Xcursor.theme: Adwaita
|
4. 文字大小自适应
新版gnome一般对于1080P以上的分辨率会进行HiDPI自适应,1080P以下dpi默认值是96,1080P以上的是192,但是上面的是96的默认值,所以并没有进行自适应,要缩放也很简单,有以下几个方法:
- 在
gnome-tweak-tool
里面设置(推荐)
此软件在系统安装时已经默认自带,如果没有就自己安装。
直接在字体
里面把缩放比例改大就行:
- 运行gsettings
直接运行gsettings set org.gnome.desktop.interface text-scaling-factor 1.25
,也是将文本缩放至1.25倍,不过必须注销重新登录才有效
- 设置缩放参数
还有一个方法没试过,相当与1.5倍缩放,但字体会有轻微模糊,参考:http://jump2.bdimg.com/p/5424234823?see_lz=1
| xrandr --output eDP-1 --scale-from 2560x1440 --panning 2560x1440
gsettings set org.gnome.desktop.interface scaling-factor 2
|
最后实现重启不失效的办法:
vim ~/.profile
在末尾加上(分辨率,输出接口根据自己实际配置修改,不要生搬硬套)
| cvt -r 2560 1440
xrandr --newmode "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI-1 2560x1440R
xrandr --output HDMI-1 --mode 2560x1440R
|
修改2k显示重启不失效方法:
xrandr --newmode "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI-1 2560x1440R
这样在设置里面就有2k分辨率选项了,而且一直都在。
参考:
https://blog.wenjinyu.me/zh/linux-gnome-resolution-display-error/