I hadn’t seen it suggested yet, so for anyone using KMS/nvidia-drm or otherwise loading the nvidia kernel module early on who can’t get the xorg.conf setting to fix DDC on newer cards, I’ve had to add the following to modprobe.conf or modprobe.d/whatever.conf instead:
It took me a while to realise the workaround wasn’t even being applied, for a while I assumed it just didn’t fix things on my system. To confirm that the settings are working:
This makes DDC over HDMI work with my Pascal card and fixes the “invalid EDID” errors at least, and also doesn’t require starting X to use it, should help with wayland, etc. The second issue reported in this thread still persists however: monitors connected over DisplayPort do not show up nor respond on I2C at all.
GDDCcontrol doesn’t see my monitor over DP, but DDCUTIL does and can control it from the command line.
I have tried GDDCcontrol as sudo and made/confirmed the nvidia registry tweaks.
Any suggestions?
You say you can control your display with ddcutil over DisplayPort? I’ve been unable to do this and have been forced to use the Nouveau drivers. Could you confirm what drivers you’re using, what GPU, and what connections you are using? Would love to finally get VSync to even work on my Linux machine, but Nvidia doesn’t care about their Linux users. I’m planning to move over to Rx Vega as soon as I can once prices go down because this isn’t getting any support from Nvidia.
Edit: Just tested nvidia-396.24-12, but nothing has changed.
CORRECTION
Ddcutil working perfectly on HDMI using latest Nvidia driver from negativo17 repository.
GTX1060
Works on two different monitors. Doesn’t work on DP.
I made the nvidia tweaks.
(G)ddccontrol doesn’t work reports:
No monitor supporting DDC/CI available.
Probably just needs a profile. For now I am happy only nuisance is I have to sudo script each time I run
ddcutil setvcp 10 + 10
To avoid the need for sudo when running ddcutil, ensure that group i2c exists and has RW permissions to the /dev/i2c-* devices. Then add your user to group i2c. For details, see http://www.ddcutil.com/config/
Thanks I forgot about i2C now my keyboard shortcuts work for instant dimming and brightening ! !
Incidentally I fell back from Nvidia to Nouveau and noticed both monitors (DP and HDMI) work with DDCutil and Noveau as well as Gddccontrol. On Nvidia driver only HDMI works in DDCutil. I’ll probably swap out for both HDMI an I feel certain they will both work.
I noticed another detail. My 4k monitor has two HDMI ports, one is HDMI 1.4 (30hz) and the other HDMI 2.0 60hz. DDC only works on the HDMI 1.4 port at 30hz. On the hdmi 2.0 port no DDC “DDC communication failed”.
Tried multiple HDMI cables, they all support 2.0.
Maybe 4k 60hz HDMI doesn’t have bandwidth for DDC channel?
Nvidia card supports HDMI 2.0.
FWIW I’m using a pascal card (1050) with nvidia drivers and a 4k@60hz monitor over HDMI and DDC is indeed working properly on it, though it does not work over DP as reported previously.
My HDMI 1.4 monitor connected using HDMI doesn’t work with NVIDIA binary drivers (GTX 1060) but works fine under nouveau, so even HDMI DDC support is in a semi-broken state in regard to NVIDIA drivers.
Ah well, I’m just here waiting for Rx Vega prices to come down so I can switch to AMD again. This is the only thing Nvidia has got to do to keep me from buying AMD hardware atm. https://youtu.be/_36yNWw_07g?t=10s
Ok the thicken plots. I tried a Lenovo monitor and now DDC works at 4k 60hz on HDMI Noveau.
As much as I love to hate Nvidia maybe it’s not entirely their fault this once.
Unfortunately for Nvidia it’s too late for me. I’ve recently switched to AMD Rx Vega. I don’t plan on supporting a company that takes ages before it can even acknowledge a bug and ignores the Linux community. Good luck all the rest of you in getting this fixed, but it seems like there finally is progress.
It’s been a relief to use AMD drivers again and to have FreeSync available.
I agree, I’ve dumped Nvidia for good. My new Intel Coffee lake build had a 1070gtx which I sold and switched to onboard Intel GPU… it is much faster (more responsive, no tearing) on 4k desktops and never crashes. Unless you game/CUDA Intel GPUs are actually the best option these days.
Tested with Ubuntu 16.04.2. “RMUseSwI2c=0x01; RMI2cSpeed=100” are working for HDMI display . Ubuntu 17.10 it’s working too. Only on latest Debian[kernel 4.17.0-1-amd64] it’s failing. User Artum also using same kernel version 4.17.12-ic64 on Centos 6.10. I have tested with Ubuntu 18.04.1 LTS. It’s not failing with kernel 4.15.0-29-generic but its failing with kernel 4.17.1-041701-generic. So I think kernel 4.17 is affected. Tested HDMI display.