Is RegistryDWords settings ignored in xorg?

I’m beginning to think that setting the RegistryDWord in xorg isn’t even used or read, despite what Nvidia’s documentation tells you.

Option         "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefaultAC=0x1"

These settings are being ignored when set in the xorg.conf, or rather in the mhwd.d/nvidia.conf file, I have the following above there set in my file, but when I login and look at my nvidia-settings panel it shows PowerMizer set to Auto instead of Max Performance and OpenGL Image Quality set to Quality instead of Max Performance despite whatever the PerfLevelSrc is set to.

from L1 Tech Forums, it states quite clearly that setting PerfLevelSrc=0x2222 sets it to operate at full performance for Desktop.

But it seems to me that trying to set any Option with RegistryDWord is completely ignored and not read, and has to be manually set on login every time.

I really shouldn’t have to manually set this every time on login or use a Start-up Application command with nvidia-settings -a ‘[gpu:0]/GpuPowerMizerMode=1’ it SHOULD just automatically set it to that by reading it directly from the /etc/X11/mhwd.d/nvidia.conf xorg file. It’s so annoying that it’s not reading these settings as they are suppose to be. I’ve thought about maybe setting each of these RegistryDWords on its own each separate line to see if that does anything. But I have no idea if it will work at all if having the one line doesn’t work either in full double-quotation marks.

I don’t think it’ll even make any difference at all if I set it like this in the file;

Option         "RegistryDwords" "PowerMizerEnable=0x1"
Option         "RegistryDwords" "PerfLevelSrc=0x2222"
Option         "RegistryDwords" "PowerMizerDefaultAC=0x1"

I guess the only thing to even count on is for Nvidia to improve their nvidia-settings panel so it actually writes its configs properly and read the values that its suppose to be set and keep them. Which seems incredibly unlikely given Nvidia’s history with Linux support.

One big annoying glaring issue is that whenever there’s a new Nvidia GPU driver update, it completely erases the old config by turning it into a backup and writes a new one, erasing anything you’ve previously set, forcing you the user to copy the old settings back into the new one.

The Xorg server is not supposed to read from that location. It only reads /etc/X11/xorg.conf and the files in /etc/X11/xorg.conf.d/. If there is no symbolic link to the mhwd generated configuration from the /etc/X11/xorg.conf.d/ directory, then it will not be read by the X server.

You can write your own, and completely get rid of mhwd or nvidia-xconfig generated configuration. Auto-configuration should work pretty well so that if you’re lucky you only need to specify what you want to change.

Thing is though there is no xorg.conf within /etc/X11/ there’s only /etc/X11/mhwd.d and /etc/X11/xorg.conf.d which contains a symbolic link to the nvidia.conf within /etc/X11/mhwd.d so you saying there should be a symbolic link to that in the top level directory of /etc/X11 so it reads it??


The 90-mhwd.conf link should be enough. Can you post the contents of it?

The contents in 90-mhwd.conf is the same as whatever’s in /etc/X11/mhwd.d/nvidia.conf because it’s a symlink to that file.

I know. Can you check the Xorg log if it says anything about “RegistryDwords”? By the way, I’m not sure if the option names are case-sensitive, but if so, then the correct form is “RegistryDwords”.

i don’t see that in nvidia’s documentation.

Me neither, but there are very strong clues, that it actually exists.

exists is not the same as is set through xorg.

I meant, “exists and can be set via the Xorg configuration”.