Linux系统在高分屏非正常分辨率显示

星际之旅 2019-06-27

问题描述:

win10重装为Ubuntu16.04,在1920x1080的显示屏上,linux系统分辨率只有800x600
xrandr # 查看当前显示分辨率

输出:
[Screen 0: minimum 800 x 600, current 800 x 600, maximum 800 x 600]

可以看出显示屏最小为800x600,当前为800x600,最大为800x600


经过网上搜索,主要有四种方法:
1.鼠标点击settings-displays,在resolution中选择高分辨率(可想而知,分辨率只有800*600,没得选,此方法在我这里作废)
2.添加新分辨率,具体做法是:

sudo cvt 1920 1080

输出:
[1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 
1088 1120 -hsync +vsync]

sudo xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 
2576 1080 1083 1088 1120 -hsync +vsync

输出:
[此处报错,failed to get size of gamma of default(此方法在我这里不行)]

sudo xrandr --addmode default 1920x1080_60.00
sudo xrandr --output default --mode 1920x1080_60.00

为了预防每次开机重新配置,还需修改配置文件
sudo gedit ~/.profile
在文件末尾添加代码:
sudo cvt 1920 1080
sudo xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576
 1080 1083 1088 1120 -hsync +vsync
sudo xrandr --addmode default 1920x1080_60.00重启即可

3.修改grub文件

cd /etc/default/grub

将文件中#GRUB_GFXMODE=800x600去掉#注释并修改为
GRUB_GFXMODE=1920x1080

sudo update-grub #更新grub文件

最后重启电脑
(此时,重启之后报错,failed to get size of gamma,此方法不奏效)

4.修改xorg.conf调节分辨率

参考材料:Ubuntu15.10使用Xorg.conf修改分辨率,引自WensonSmith


这些方法对于自身情况来讲,效果并没有像期望中表现正常,频频报错
排除所有情况,最后问题关键放在显卡驱动上面,最后得以正常解决。具体操作如下:

sudo apt update #如果有错,sudo apt -f install
sudo apt upgrade

等待所有软件更新完毕后
在系统左上角搜索software & updates 选择Additional Drivers
选择NVIDIA binary driver最新版本 Apply Changes
Linux系统在高分屏非正常分辨率显示
完成后重启电脑,ok,分辨率变为1920x1080

分析原因,虽然电脑显示屏是支持1920x1080,但是缺少显卡驱动,所以系统匹配不了屏幕,要做的就是更新驱动,下载支持该分辨率的驱动。这也是网上很多方法都不奏效的根源。