我希望能够时不时地将超宽显示器用作普通宽屏显示器;我的桌面不是采用 3440x1440 的原始分辨率,而是采用 2560x1440 的分辨率,使用显示器中央的 2560 列并忽略其余部分:
我正在使用 NVidia 视频驱动程序和 i3 窗口管理器。
我尝试使用 xrandr 来实现这一点。我发现了一些有希望的帖子,例如这个这似乎是这样做的秘诀。但如果我尝试:
xrandr --fb 2560x1440 --output DP-0 --panning 2560x1440 --mode 2560x1440
则显示器显示为 2560x1440 模式,桌面拉伸至整个显示器。
如果我尝试按照建议添加模式:
$ cvt 2560 1440 60
# 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
$ xrandr --newmode WEIRD2 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
$ xrandr --addmode DP-0 WEIRD
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 41
Current serial number in output stream: 42
我相信这个(无法添加模式并将其分配给显示器 - BadMatch)是关于 NVidia 驱动程序的问题,并且我找不到解决方法。
我使用该nvidia-settings
应用程序进行了更近距离的观察。它具有欠扫描模式。我使用了以下设置:
这非常接近;我看到显示器中间有一个 2560x1440 的区域,并且没有明显的平移,但 X 会话似乎仍然看到更宽的桌面,它在右侧被截断。
我可以使用 Xrandr 来修复此桌面大小吗?如果我尝试xrandr --fb 2560x1440
,我会得到xrandr: specified screen 2560x1440 not large enough for output DP-0 (3440x1440+0+0)
。
最后,作为一种解决方法,我可以使用 i3-gaps 并将水平间隙设置为 440 像素。但是,任何窗口的全屏模式都会使用整个显示器,这仍然不理想。
这是输出从xrandr
。
这是输出从xrandr -v
。
还有输出从nvidia-settings -q all
。
我正在尝试做的事情是否可行,包括能够随意来回切换?
编辑添加:
输出从hwinfo --monitor --gfxcard
输出从sudo lshw -C display
输出自cvt 2560 1440
:
# 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
输出自gtf 2560 1440 60
:
# 2560x1440 @ 60.00 Hz (GTF) hsync: 89.40 kHz; pclk: 311.83 MHz Modeline "2560x1440_60.00" 311.83 2560 2744 3024 3488 1440 1441 1444 1490 -HSync +Vsync
答案1
要消除错误,BadMatch
您可以尝试在文件中添加/更改xorg.conf
,在Section "Monitor"
,,或者其他设置(您当前的设置是什么?),然后重新启动(HorizSync 30-90
VertRefresh 55-76
来源)。
您也可以尝试删除 的最后一个参数cvt
,让它为您选择。请发布输出。
您也可以尝试选项xrandr ... --set ...
,来源,来源和--scale
,来源。
对于一些,nvidia-settings
工作,可能有所不同。
您也可以尝试与nouveau
司机。这也许不是一个明确的答案,但它可能会有所帮助。
在此期间,请发布
$ hwinfo --monitor --gfxcard
$ sudo lshw -C display
$ cvt 2560 1440
$ gtf 2560 1440 60
有关的: