I have a setup where I connect to two different displays depending on where I am. I would like to use a mode which one of the monitors doesn't allow, but that won't be loaded when any other display is connected.

To be more concrete, the I would like to overclock the external display at home to 120hz, but not overclock a different display at work that I connect to the same HDMI port. Is this possible using nvidia? I can't seem to be able to override EDID with xrandr, at the same time using the EDID settings by default.

2 Answers 2


The EDID override feature of the nvidia driver seems to require specifying the monitor whose EDID should be overridden by the output ID.

You may have to somehow detect "where you are" before starting the X server, and then either switch your xorg.conf file to one of two prepared alternatives, or add/remove a xorg.conf.d snippet accordingly.

See this webpage for ideas: https://kodi.wiki/view/Creating_and_using_edid.bin_via_xorg.conf

You might be able to use the read-edid and edid-decode packages to read the actual EDID before the X server starts up, decode it to identify the display, then switch the X configuration file accordingly, then proceed with the X server start-up. Or you might use network parameters or something else you can readily detect before X start-up to determine which configuration should be used.

Since you haven't specified which Linux distribution you're using, I cannot suggest an exact procedure for inserting your custom script into the proper place in the system start-up sequence, but it is definitely possible to do it.

  • The distro is Manjaro with xfce in this case. I think I'm good with the procedure just need to find out if the xfce monitors.xml will interfere. Thank you :) Nov 15, 2019 at 7:26

Ok so if using nvidia you can refer to monitors by their EDID here is an example from my 99-nvidia.conf (Reference I used here)

Section "Module"
    Load "modesetting"

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24

    #this is the important part!!!
    Option         "CustomEDID" "DPY-EDID-d2ee947f-cde6-694c-4099-2f7aa520eb75: /home/myName/Documents/monitors/edid-120.bin"

    SubSection     "Display"
        Depth       24

Section "Device"
    Identifier "nvidia"
    Driver  "nvidia"
    BusID   "PCI:1:0:0"
    #Option  "DPI" "96 x 96"    #adjust this value as needed to fix scaling
    Option  "AllowEmptyInitialConfiguration"

Section "Extensions"
    Option  "Composite" "Enable"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .