Survey: GDDCcontrol issues with NVIDIA drivers (i2c/monitor/display/DDC)

Hi birdie,

Can you please test with with latest driver release using below regkey and share your results -

modprobe nvidia NVreg_RegistryDwords=“RMUseSwI2c=1”

Please test with latest driver release with below regkey and share results.

modprobe nvidia NVreg_RegistryDwords=“RMUseSwI2c=1”

Please test with latest driver release with below regkey and share results.

modprobe nvidia NVreg_RegistryDwords=“RMUseSwI2c=1”

I’m terribly sorry for not replying earlier.

This option fixes the issue for me. Thank you!!

Now, it would be great if it were enabled by default.

So it worked for the original poster, but it didn’t work for me.

I’ve tried modprobe nvidia NVreg_RegistryDwords="RMUseSwI2c=1" and everything suggested in http://www.ddcutil.com/nvidia/#special-nvidia-driver-settings .

My ddccontrol verbosed first lines are this:

ddccontrol version 0.4.4
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

ddcpci initing…
Starting /usr/libexec/ddccontrol/ddcpci 1 1828851504 &…
Probing for available monitors…
nvidia_open: mmap failed: Operation not permitted
Found I2C device (dev:/dev/i2c-8)
Non-fatal error: Invalid response, magic is 0x6e
Invalid response, length is 110, should be 64 at most
Non-fatal error: Invalid response, magic is 0x6e
Invalid response, length is 110, should be 64 at most
Non-fatal error: Invalid response, magic is 0x6e
Invalid response, length is 110, should be 64 at most
I/O warning : failed to load external entity “/usr/share/ddccontrol-db/monitor/AOC246A.xml”
Document not parsed successfully.

This is run as superuser, so I don’t know whats up with that nvidia_open: mmap failed: Operation not permitted.
My drivers are 440.82.

You might want to try running gddccontrol under root/sudo.

Speaking of using a kernel module option: it made my system very unstable, so I had to stop using it. And now I don’t own an NVIDIA GPU any longer, so I can’t really comment on any new features or development.

I did this and then:

$ cat /proc/driver/nvidia/params
Mobile: 4294967295
ResmanDebugLevel: 4294967295
RmLogonRC: 1
ModifyDeviceFiles: 1
DeviceFileUID: 0
DeviceFileGID: 0
DeviceFileMode: 438
UpdateMemoryTypes: 4294967295
InitializeSystemMemoryAllocations: 1
UsePageAttributeTable: 4294967295
EnableMSI: 1
MapRegistersEarly: 0
RegisterForACPIEvents: 1
CheckPCIConfigSpace: 1
EnablePCIeGen3: 0
MemoryPoolSize: 0
TCEBypassMode: 0
UseThreadedInterrupts: 1
EnableStreamMemOPs: 0
RegistryDwords: ""
RegistryDwordsPerDevice: ""
RmMsg: ""
AssignGpus: ""

RegistryDwords aren’t being accepted. Also tried in /etc/X11/xorg.conf and rebooting:

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1@0:0:0"
    Option "ConstrainCursor" "off"
    # Below for DDC/CI control: https://www.ddcutil.com/nvidia/
    Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
EndSection

The usual suspects sudo ddcutil detect and sudo ddccontrol -p are giving the usual failed results everyone else reports.

Ubuntu 16.04.6, Kernel 4.14.177, GeForce GTX 970M, Driver 384.130, BIOS: 84.04.79.00.0.

Any advice?

Unfortunately the module option/hack (options nvidia NVreg_RegistryDwords="RMUseSwI2c=1") is still required despite the fact that I’ve upgraded my GPU from 1060 to 1660 Ti.

The monitor is connected via an HDMI cable. Under Windows everything “just works”.

The issue was first reported seven (!) years ago.

Hi birdie / ricklee518,
Fix has been incorporated into latest beta driver release. Please try and share your test results.

1 Like

Hi birdie / ricklee518,
Fix has been incorporated into latest beta driver release. Please try and share your test results.

Hi birdie / ricklee518,
Fix has been incorporated into latest beta driver release. Please try and share your test results.

I can confirm i2c workarounds are no longer required with drivers 455.28.

A seven-year old bug has finally been fixed. Hooray.

Thank you!

1 Like

Thanks birdie for test results…

GTX 1050 Ti over HDMI not working out-of-the-box on Ubuntu 20.04 drivers 470.57.02.
Do I need to configure something?

I have a GT 1030 over HDMI and it only works when the nvidia_drm module is not loaded or when nvidia-drm.modeset is 0

1 Like

This shouldn’t happen, please upload nvidia-bug-report.

1 Like

Actually upgraded to Ubuntu 21.04 same issue there.
Card is an Asus GTX 1050 Ti.

DDC Control just says :

No monitor supporting DDC/CI available.

If your graphics card need it, please check all the required kernel modules are loaded (i2c-dev, and your framebuffer driver).

nvidia-bug-report.log.gz (328.3 KB)

I looked a bit more into it and I found this post which fixes it for me. It seems it wasn’t working because the workaround in my xorg config wasn’t doing anything, my driver version is 470.57.02 so the workaround might still be necessary on some cards.

AFAIK this workaround shouldn’t be required any longer. Maybe NVIDIA developers haven’t addressed all the corner cases.