Cinnamon Desktop Forgets Display Settings

I have this constant plaguing issue with Cinnamon Desktop where it will always forget the set display resolution and refresh rate. I have tried every known solution that I could find to permanently set Desktop Resolution and Refresh Rate. I have a 1080P monitor that can output 144Hz, but if I’ve needed to reboot or the monitor gets disconnected, it will default the refresh rate to 60Hz, and I can always tell it’s running at 60Hz because things look a little more stuttery just by looking at mouse cursor movement or dragging windows around. It’s only until after I set in Nvidia Settings to tell it to run 1920x1080 144Hz from the display settings… I always always have to open Nvidia Settings every time I login or when the monitor gets disconnected to make it run at its full refresh rate and resolution.

I have tried deleting the Monitors.xml file that Cinnamon uses, and make it create a new one by first set resolution and refresh rate in NvidIa Settings, but don’t hit Apply here, but instead then open Display Settings within Cinnamon Settings and click Apply there, some sources online says this can fix this, but in my case it doesn’t. I have even specified explicitly in my xorg file, the one located under /etc/X11/mhwd.d/nvidia.conf but seems to ignore whatevers put in the monitor section. I’ve even got an EDID file of my monitor listed in the the config file.

So here in the following config I did list out the monitor thing multiple times both for Screen and Monitor sections, because I dunno which one it takes priority from when I tried switching it around, but doesn’t seem to matter where I list them in the config, it’s just not read at all by Cinnamon Desktop. Specifically this IS a Cinnamon Desktop issue, not Nvidia issue, I tested by switching out to a different Desktop Manager other than Cinnamon and it’s only in Cinnamon this is an issue, which makes not sense.

If I could I would just have it auto-apply this on login with a script, HOWEVER… a problem with this is that it will only run ONCE at login, it won’t work if the monitor later gets disconnected, and ALSO I couldn’t find anything in the Nvidia config documentation of HOW to set the Desktop Resolution and Refresh Rates with nvidia-settings command line to put it into a script for a startup script anyway. The documentation is so convoluted and confusing to bother reading through everything, since it’s written like you need to program code for drivers to be of any use.

Please edit your post and share that file as formatted text, not as screenshot. Please see:

Start nvidia-settings in a terminal as root, this will allow you to save nvidia-settings

So many places try recommending this, but this does NOT work at all, whatsoever, it changes NOTHING. What it instead does is save the nvidia-settings rc file in /root home directory, this doesn’t do anything for the normal user account.

It’s not the same issue but I have a script to set nvidia to performance mode because obviously nvidia settings don’t stick on reboot. I made the script executable and set it to start at Boot. Now my laptop always boots with nvidia performance mode set

You are looking at the wrong save.
This is the save on the second page (X Server Display Configuration) and saves it to “/etc/X11/xorg.conf” by default, but this can be changed and you may also preview the file before saving.

Yes, its suppose to save into xorg.conf file, but the file I was talking about is a separate file that is supposed to be loaded with the preference parameters saved. Under Manjaro when writing an xorg.conf file, it’s instead has the specific xorg.conf file under /etc/X11/mhw.d/nvidia.conf which is what it reads instead, however soft-linking to this file under the name xorg.conf within /etc/X11/ can still be read since it links to that file as such /etc/X11/xorg.conf -> /etc/X11/mhwd.d/nvidia.conf as such this works, or should work and be read by nvidia-settings just that when you DO try to overwrite the file, it will complain it cannot be saved when trying to save it from nvidia-settings, but what you do instead copy the contents and overwrite the file that it links to instead.