xrandr:添加 4k@60Hz 模式时配置 crtc 0 失败

nnn*_*mmm 5 xrandr multiple-monitors hdmi modelines

我有一台 4k 显示器 (AOC U3277PWQU),尽管它应该能够处理 4k@60Hz,但它仅以 30Hz 运行。显示器通过 HDMI 连接。(是的,以前曾问过非常类似的问题,但没有一个答案可以解决我的问题。)

\n\n

我尝试过的:

\n\n
~> cvt 3840 2160 60 -r\n# 3840x2160 59.97 Hz (CVT 8.29M9-R) hsync: 133.25 kHz; pclk: 533.00 MHz\nModeline "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync\n~> xrandr --newmode "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync\n~> xrandr --addmode HDMI-1-1 "3840x2160R"\n~> xrandr --output HDMI-1-1 --mode 3840x2160R --verbose --crtc 0\ncrtc 0:   3840x2160R  59.97 +0+229 "HDMI-1-1"\nxrandr: Configure crtc 0 failed\ncrtc 0: disable\ncrtc 1: disable\ncrtc 2: disable\nscreen 0: revert\ncrtc 0: revert\ncrtc 1: revert\ncrtc 2: revert\n
Run Code Online (Sandbox Code Playgroud)\n\n

cvt与without-r和相同的故事gtf。上面的模型行似乎符合我在手册中找到的显示器的参数,即:

\n\n
Pixel clock: 600MHz(DP,HDMI2.0)\nHorizontal scan range: 30~160KHz(DP,HDMI2.0)\nVertical scan range: 23Hz~80Hz\n
Run Code Online (Sandbox Code Playgroud)\n\n

是什么导致配置失败?像素时钟是否需要恰好为600MHz?如果是这样,我如何修改模型行 \xe2\x80\x93 仅编辑第一个参数是否安全?

\n\n

PS:从 获得的EDID无法用我发现的这个工具xrandr --verbose解析,因此它可能已损坏。

\n\n

我有 GeForce GTX 1050、nvidia 驱动程序 384、Ubuntu 16.04。由于这是在另一个问题中提出的要求:

\n\n
~> lspci -k | grep -EA2 \'VGA|3D\'\n00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)\n    DeviceName:  Onboard IGD\n    Subsystem: Dell Device 07be\n--\n01:00.0 3D controller: NVIDIA Corporation Device 1c8d (rev a1)\n    Subsystem: Dell Device 07be\n    Kernel driver in use: nvidia\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑:我注意到 nvidia-settings 没有在“X 服务器显示信息”中显示我的显示器。它只是说“X Screen 0(无扫描输出)”。

\n

nnn*_*mmm 4

我在这篇文章中找到了解决方案:我的笔记本电脑是 Dell XPS 15 9560,显然只能通过 HDMI 提供 4k@30Hz。相比之下,USB-C 端口可以做到这一点,也许它连接到专用显卡,而 HDMI 则不能。有点令人失望,但通过使用 USB-C 转 HDMI 转换器,问题就消失了。我什至不需要对 xrandr 设置进行任何更改。