三个显示器:xrandr 配置 crtc 失败

三个显示器:xrandr 配置 crtc 失败

截至今天,我无法以首选分辨率 (2560x1440) 启用所有三个显示器。此配置在过去两周内一直运行,没有出现错误。这个周末我从扩展坞上拔下了笔记本电脑和显示器的插头,这样我就可以将显示器连接到我的游戏电脑上。今天早上我把所有东西都插回了坞站。据我所知,还没有软件更新。

尝试启用所有三个监视器时出现以下错误:

xrandr: Configure crtc 2 failed

硬件

软件

  • 操作系统:Debian 测试
  • 窗口管理器:i3wm

DP-1-{1,2,3}注意:即使其中一根电缆是 HDMI,所有外部显示器都显示为HDMI;不是显示端口。我记得以前的显示器(当三个显示器设置工作时)显示为DP-2-{1,2,3}

我尝试过的事情

  1. 关闭笔记本电脑然后再次打开。
  2. 卸下笔记本电脑,将其打开并在脱离安装座时登录,然后再次将其关闭以将其放回安装座上。
  3. 在笔记本电脑运行时从安装座上插入和拔下显示器电缆
  4. 以首选分辨率 (2560x1440) 激活三组显示器中的每一组(例如:Dell1 和 Dell2、Dell1 和 HP 等)。这工作没有错误
  5. 激活所有三台显示器,但其中一台的分辨率较低(Dell1 2560x1440、Dell2 2560x1440 和 HP 1920x1080)。这工作没有错误
  6. 添加自定义分辨率(2552x1440_60.00 59.942048x1152_60.00 59.902480x1395_60.00 59.97)并将第三台显示器设置为这些分辨率。2048x1152_60.00 59.90 工作过;另外两个不起作用。

arandr布局输出(格式化以供阅读):

#!/bin/sh
xrandr \
  --output eDP-1 --off \
  --output DP-1 --off \
  --output HDMI-1 --off \
  --output DP-2 --off \
  --output DP-1-1 --mode 2560x1440 --pos 4898x2033 --rotate left \
  --output DP-1-2 --mode 2560x1440 --pos 2338x1846 --rotate normal \
  --output DP-1-3 --mode 2560x1440 --pos 2338x3286 --rotate normal

xrandr --verbose启用两台戴尔显示器后:要旨

答案1

通过将第三个显示器设置为较低的刷新率,我可以将所有显示器设置为 2560x1440。我当前的配置有两台分辨率为 2560x1440 的戴尔显示器:

DP-1-1 connected 1440x2560+0+320 right (normal left inverted right x axis y axis) 610mm x 356mm
   ...
   2560x1440_30.00  29.94*
DP-1-2 connected primary 2560x1440+1440+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+ 143.91
DP-1-3 connected 2560x1440+1440+1440 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+ 143.91
#!/bin/sh
xrandr \
--output eDP-1 --off \
--output DP-1 --off \
--output HDMI-1 --off \
--output DP-2 --off \
--output DP-1-1 --mode 2560x1440_30.00 --pos 0x320 --rotate right \
--output DP-1-2 --primary --mode 2560x1440 --pos 1440x0 --rotate normal \
--output DP-1-3 --mode 2560x1440 --pos 1440x1440 --rotate normal

我创建了 2560x1440_30.00 模式按照 archlinux wiki 上的步骤操作

  1. 用于cvt创建模型行:cvt 2560 1440 30
  2. 在 xrandr 中创建一个新模式:xrandr --newmode "2560x1440_30.00" ...
  3. 将第三台显示器设置为使用此新模式阿兰德尔,你也可以使用xrandr.

答案2

我想我应该添加我的解决方案,这样其他人可能会受益

我也被困住了,xrandr: Configure crtc 2 failed但与最初的解决方案相比,我的两个外部显示器(包括内部显示器在内的所有 3 个显示器)都需要更多的修改才能以 60Hz 工作。

我的问题是只有一台显示器可以工作 - 而我无法激活另一台。

最终起作用的顺序是:

  • 先激活其中一个监视器(更改顺序意味着它不起作用,在我的情况下首先是 DP-2-2)
  • 将此显示器设置为 60Hz 而不是默认的 75Hz:xrandr --output DP-2-2 --mode 2560x1440 --rate 60
  • 创建 30Hz 模式:gtf 2560 1440 30获取设置并xrandr --newmode "2560x1440_30.00" 146.27 2560 2680 2944 3328 1440 1441 1444 1465 -HSync +Vsync创建模式
  • 将此模式添加到其他显示器:xrandr --addmode DP-2-3 "2560x1440_30.00"
  • 使用 30Hz 模式激活此显示器(以其他频率激活不起作用):xrandr --output DP-2-3 --mode 2560x1440_30.00
  • [现在两个监视器都处于活动状态]
  • 将显示器设置为 60Hzxrandr --output DP-2-3 --mode 2560x1440 --rate 60

在此过程中,我还重置了我的 gnome,以首先激活正确的显示器(不推荐,删除 gnome 设置!dconf reset -f /org/gnome/)。我还尝试使用 gnome 显示设置 GUI(在桌面上单击鼠标右键)首先进入此序列。

我将尝试将所有这些组合成一个可以在启动后运行的脚本,但至少我知道有一个工作序列。

相关内容