1

我有一个 4k 显示器并尝试设置我的 Ubuntu 14.04 LTS 以使用它。由于系统设置和 NVIDIA X 服务器设置中没有可用的 3840x2160 选项 - 唯一的方法是使用 xrandr 工具。所以我输入:

gtf 3840 2160 60

# 3840x2160 @ 60.00 Hz (GTF) hsync: 134.10 kHz; pclk: 712.34 MHz
  Modeline "3840x2160_60.00"  712.34  3840 4152 4576 5312  2160 2161 2164 2235  -HSync +Vsync

xrandr --newmode test87 712.34  3840 4152 4576 5312  2160 2161 2164 2235  -HSync +Vsync

xrandr --addmode HDMI-0 test87

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:  35
  Current serial number in output stream:  36

这似乎是一个常见错误,但其他解决方案建议修改 /etc/X11/xorg.conf (我没有,我试图创建一个并重新启动,但它没有帮助)。其他一些解决方案建议在模式名称周围使用方括号 - 它也无济于事。

4

2 回答 2

0

如果我没有完全弄错,4k@60Hz 简直超出了 HDMI-1.4 的带宽能力;您要么需要通过 DisplayPort 连接,要么使用较低的刷新率;30Hz 将是一个安全的选择。

更新

鉴于 EDID 数据转储,到目前为止一切看起来都很好。与您的显示相对应的xorg.conf条目将是这些(由 parse-edid 生成,相当于 X.org 服务器所做的)。

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:fd
    # Block type: 2:0 3:fc
    Identifier "ASUS PB287Q"
    VendorName "ACI"
    ModelName "ASUS PB287Q"
    # Block type: 2:0 3:fd
    HorizSync 24-160
    VertRefresh 30-80
    # Max dot clock (video bandwidth) 300 MHz
    # Block type: 2:0 3:fc
    # DPMS capabilities: Active off:yes  Suspend:no  Standby:no

    Mode    "3840x2160" # vfreq 30.000Hz, hfreq 67.500kHz
        DotClock    297.000000
        HTimings    3840 4016 4104 4400
        VTimings    2160 2168 2178 2250
        Flags   "-HSync" "+VSync"
    EndMode
    Mode    "1920x1080" # vfreq 60.000Hz, hfreq 67.500kHz
        DotClock    148.500000
        HTimings    1920 2008 2052 2200
        VTimings    1080 1084 1089 1125
        Flags   "+HSync" "+VSync"
    EndMode
    # Block type: 2:0 3:fd
    # Block type: 2:0 3:fc
EndSection

注意 UHD 分辨率模式。

如果您没有提到可以使用 NVidia X 服务器设置工具,我会怀疑驱动程序安装损坏。无论如何,我强烈要求您仔细检查驱动程序是否已正确安装,并且没有任何干扰。

于 2015-04-05T17:58:03.160 回答
0

您不能将 xrandr 与 nVidia 专有驱动程序一起使用。回到 Ubuntu 中包含的驱动程序,然后重试。

此外,您不能总是依赖 cvt 和 gtf。您可能必须通过查找您的设备 EDID 并通过 parse-edid 读取它来获取工作编号。

这两个解决了我的类似问题。

于 2017-09-06T22:21:41.267 回答