在 Ubuntu 18.04 上缩放具有不同分辨率的显示器

在 Ubuntu 18.04 上缩放具有不同分辨率的显示器

我有一台配备 4K 触摸显示屏(分辨率 3840 x 2160)的戴尔 XPS 15 7590。然后我还有一台分辨率为 2560x1440 的三星 27 英寸显示器,它放在我的笔记本电脑屏幕上方。

我想以某种方式实现将笔记本电脑 4K 的比例设置为 200%(因为 15 英寸 4K 上的 100% 会使所有东西都变得非常小),并将外部三星显示器的比例设置为 100%。但是,在 Ubuntu 18.04 上似乎无法使用不同的比例。

我发现这里有可能让它像这样工作,方法xrandr是(在我的情况下)将三星的分辨率翻倍,然后将所有设置为 200%。但是我对此不太熟悉,我不确定如何在我的情况下执行它而不破坏它。xrandr在我的情况下,标准命令输出如下所示:

Screen 0: minimum 320 x 200, current 3840 x 3600, maximum 16384 x 16384
eDP-1 connected primary 3840x2160+0+1440 (normal left inverted right x axis y axis) 344mm x 194mm
   3840x2160     60.00*+  59.98    59.97  
   3200x1800     59.96    59.94  
   2880x1620     59.96    59.97  
   2560x1600     59.99    59.97  
   2560x1440     59.99    59.99    59.96    59.95  
   2048x1536     60.00  
   1920x1440     60.00  
   1856x1392     60.01  
   1792x1344     60.01  
   2048x1152     59.99    59.98    59.90    59.91  
   1920x1200     59.88    59.95  
   1920x1080     60.01    59.97    59.96    59.93  
   1600x1200     60.00  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   800x512       60.17  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   720x450       59.89  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected 2560x1440+720+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
   1920x1080     60.00    50.00    59.94  
   1680x1050     59.88  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08

答案1

我做了一些研究,找到了一种方法(基于此解决方案) 要做到这一点。

首先,我在显示设置中设置了 200% 的比例。

检查当前设置的命令:

xrandr --current | grep -w connected

就我的情况来说:

eDP-1 connected primary 3840x2160+0+1440 (normal left inverted right x axis y axis) 344mm x 194mm
DP-3 connected 2560x1440+731+0 (normal left inverted right x axis y axis) 597mm x 336mm

以下是两个可以根据需要进行更改的命令:

xrandr --output DP-3 --scale 2x2 --mode 2560x1440 --fb 5120x5040 --pos 0x0
xrandr --output eDP-1 --scale 1x1 --pos 640x2880

关于我使用的数字的注释(使笔记本电脑的屏幕位于外接显示器下方的中间):

2560*2 = 5120
1440*2 = 2880
Max(3840,5120)=5120
2160+2880=5040
(5120-3840)/2=640

之后我有:

eDP-1 connected primary 3840x2160+640+2880 (normal left inverted right x axis y axis) 344mm x 194mm
DP-3 connected 5120x2880+0+0 (normal left inverted right x axis y axis) 597mm x 336mm

要恢复:

xrandr --output DP-3 --scale 1x1 --mode 2560x1440 --fb 3840x3600 --pos 731x0
xrandr --output eDP-1 --scale 1x1 --pos 0x1440

这仍然是一种相当棘手的方法,所以我会很高兴找到其他解决方案。

更新:

这个变化实际上导致鼠标光标闪烁。我找到了基于这个帖子并运行一个额外的命令来修复它(尽管这是一种黑客解决方案):

xrandr --output eDP-1 --scale 0.9999x0.9999

因此,就我而言,完整命令是:

xrandr --output DP-3 --scale 2x2 --mode 2560x1440 --fb 5120x5040 --pos 0x0; xrandr --output eDP-1 --scale 1x1 --pos 640x2880; xrandr --output eDP-1 --scale 0.9999x0.9999

注意:我只在使用英特尔显卡时才遇到这种闪烁。使用 nvidia 时没有看到任何闪烁(使用prime-select并重新启动进行切换)。

更新2: 使用scale 0.9999x0.9999不是一个好主意。它会减慢显示器的反应速度,观看视频时您会注意到一些延迟。

相关内容