我正在尝试设置带有 5120x1440 显示器的 X220 ThinkPad (Intel HD 3000)。由于某种原因,我无法弄清楚似乎存在无法达到 4096x1440 的限制。
作为参考,我使用以下脚本:
TEST_MONITOR=DP3
LINE=$(cvt $@ | grep -Po '(?<=Modeline ).*')
xrandr --newmode $LINE --verbose
SHORTLINE=$(echo "$LINE" | grep -Po "^[^ ]*")
xrandr --addmode $TEST_MONITOR $SHORTLINE --verbose
xrandr --output $TEST_MONITOR --mode $SHORTLINE --verbose
由于某种原因,我可以让它以 4088x1440@44fps、4080x1440@44fps 和 4088x1440x30fps 运行,但我无法让它以 4096x1440@30fps 运行,这让我认为这不是带宽问题。
xrands 报告说我还有很多余量:
Screen 0: minimum 8 x 8, current 5454 x 1440, maximum 32767 x 32767 (Monitors placed horizontally)
Screen 0: minimum 8 x 8, current 4088 x 2208, maximum 32767 x 32767 (Monitors places vertically)
当尝试设置更大的分辨率时,我在 Xorg.log 中看到以下内容:
[ 77786.820] (II) intel(0): resizing framebuffer to 5462x1440
[ 77786.899] (II) intel(0): switch to mode [email protected] on DP1 using pipe 1, position (1366, 0), rotation normal, reflection none
[ 77786.919] (EE) intel(0): failed to set mode: Invalid argument [22]
[ 77787.275] (II) intel(0): resizing framebuffer to 5454x1440
[ 77787.277] (II) intel(0): switch to mode [email protected] on LVDS1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 77787.758] (II) intel(0): switch to mode [email protected] on DP1 using pipe 1, position (1366, 0), rotation normal, reflection none
[ 77795.738] (II) intel(0): resizing framebuffer to 6486x1440
[ 77795.863] (II) intel(0): switch to mode [email protected] on DP1 using pipe 1, position (1366, 0), rotation normal, reflection none
[ 77795.883] (EE) intel(0): failed to set mode: Invalid argument [22]
[ 77796.215] (II) intel(0): resizing framebuffer to 5454x1440
[ 77796.217] (II) intel(0): switch to mode [email protected] on LVDS1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 77796.745] (II) intel(0): switch to mode [email protected] on DP1 using pipe 1, position (1366, 0), rotation normal, reflection none
我还检查了它不应该是帧缓冲区问题,具有以下 xrandr 输出:
Screen 0: minimum 8 x 8, current 10574 x 1440, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 280mm x 160mm
1366x768 60.10*+
1280x720 59.74
1024x768 60.00
1024x576 60.00 59.90 59.82
960x540 60.00 59.63 59.82
800x600 60.32 56.25
864x486 60.00 59.92 59.57
640x480 59.94
720x405 59.51 60.00 58.99
680x384 60.00
640x360 59.84 59.32 60.00
DP1 disconnected (normal left inverted right x axis y axis)
"4080x1440_44.00" 43.99
"4088x1440_44.00" 43.99
DP2 connected 4088x1440+1366+0 (normal left inverted right x axis y axis) 1190mm x 340mm
4088x1440 43.99*+
5120x1440 29.96
4080x1440 29.97
3840x1080 59.97
2560x1440 59.95
2560x1080 60.00 59.94
1920x1080 120.00 100.00 119.88 60.00 60.00 59.94
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1440x900 59.89
1280x800 59.81
1152x864 75.00
1280x720 60.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
"4080x1440x29.97" 29.97
"4080x1440x29.96" 59.92
"4088x1440x29.97" 29.97
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 connected 5120x1440+5454+0 (normal left inverted right x axis y axis) 0mm x 0mm
"5120x1440_60.00" 59.96*
VIRTUAL2 disconnected (normal left inverted right x axis y axis)
我尝试过使用和不使用帧缓冲区压缩来运行,我尝试过使用 nomodeset 运行内核,我尝试过 DRI 2 和 3,我尝试过不同的加速方法。
我已经没有主意了。有人对我有什么建议吗?