添加新的 ModeLine 并将其与 nvidia 驱动程序一起使用

添加新的 ModeLine 并将其与 nvidia 驱动程序一起使用

我的显示器会闪烁,除非降低刷新率。使用我的旧 ATI 卡,我可以xrandr添加一个具有最大分辨率但刷新率稍低的新模式,如下所示

xrandr --newmode "1600x1200_59.98" 131.50  1600 1696 1864 2128  1200 1203 1207 1238 -hsync +vsync
xrandr --addmode DVI-D-0        "1600x1200_59.98"
xrandr --output  DVI-D-0 --mode "1600x1200_59.98"

但使用我的新 nvidia 卡时,我在命令中收到 BadMatch 错误--addmode。据称,nvidia 并不完全支持xrandr,因此我必须使用它nvidia-settings来生成 xorg.conf 文件,然后对其进行编辑以添加到模型行中。所以现在的问题是为什么我的 xorg.conf 不工作?

这是由 nvidia-settings 生成的

# ... 
# input stuff
# ...
Section "Monitor" # some other monitor that's not the problem
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Acer H233H"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 770"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "Stereo" "0"
    Option         "metamodes" "HDMI-0: 1920x1080_60 +1600+60, DVI-D-0: 1600x1200_60 +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

它没有为相关监视器生成配置,因此我添加了一个部分,用于使用新的 ModelLine。我几乎肯定这是我做错的事情,因为我不知道如何将此监视器与实际监视器关联起来

Section "Monitor"
    Identifier     "DVI-D-0"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    Option         "DPMS"
    Modeline       "1600x1200_59.98"  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync
EndSection

然后我更改了元模式部分,告诉 nvidia 使用新的“1600x1200_59.98”模型行,如下所示:

    Option         "metamodes" "HDMI-0: 1920x1080_60 +1600+60, DVI-D-0: 1600x1200_59.98 +0+0"

不用说,它不起作用,根据 xrandr,我的三星显示器仍然为 1600x1200_60。

相关内容