Package Details: ddcci-driver-linux-dkms 0.4.4-2

Git Clone URL: https://aur.archlinux.org/ddcci-driver-linux-dkms.git (read-only, click to copy)
Package Base: ddcci-driver-linux-dkms
Description: A pair of Linux kernel drivers for DDC/CI monitors (DKMS)
Upstream URL: https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/
Keywords: backlight hdmi monitor
Licenses: GPL2
Conflicts: ddcci-driver-linux
Submitter: irtimmer
Maintainer: ewout (Porous3247)
Last Packager: Porous3247
Votes: 36
Popularity: 0.37
First Submitted: 2017-04-15 18:51 (UTC)
Last Updated: 2023-09-03 13:11 (UTC)

Latest Comments

1 2 3 4 5 6 Next › Last »

MaximMaximS commented on 2024-05-18 13:20 (UTC)

Here it is: https://aur.archlinux.org/packages/ddcci-driver-linux-dkms-git . Currently works even with 6.9

Porous3247 commented on 2024-05-17 17:20 (UTC)

I have decided to wait for upstream to tag their new version rather than patch 3eb20df68a545d07b8501f13fa9d20e9c6f577ed (upstream probably hasn't done so in light of https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/merge_requests/15#note_1830989470 's citation that the commit causes a new regression even for kernel version 6.7).

To satisfy people's needs, someone can create and maintain the -git package variant. If nobody does so within a few days, I can.

atticf commented on 2024-05-11 12:22 (UTC) (edited on 2024-05-11 12:30 (UTC) by atticf)

As mentioned here, running the following makes ddcci/ddcci_backlight pick up the device in 6.8 with the most recent upstream commit:

echo 'ddcci 0x37' | sudo tee /sys/bus/i2c/devices/i2c-7/new_device

Now my backlight control works \(^o^)/

A different (or multiple) i2c device may be needed on your system, just check the destination of the symlinks in /sys/bus/i2c/devices. The one(s) you want will go to a DRM card-connector sysfs. 0x37 is the address where the ddc/ci protocol is used so it should not be changed.

LarryDave commented on 2024-05-06 09:39 (UTC)

Forgot to say I'm also on Intel iGPU. Mesa, mkinitcpio, linux 6.8.9, 15.patch, dkms and linux-headers, everything is installed and set up correctly but GNOME does not show the slider like before Linux 6.8.

MrHighVoltage commented on 2024-05-06 08:07 (UTC)

It also doesn't work for me either on 6.8, no messages in dmesg. Interestingly, KDE Plasma can still change the brightness over ddc/ci, even without the module loaded (but only on AMDGPU, it doesn't seem to work with an Intel iGPU, but ddcutil is still working).

GPereira commented on 2024-05-05 16:47 (UTC)

@dreieck were you able to see the slider in Gnome or another window manager?

LarryDave commented on 2024-05-05 15:35 (UTC)

I patched and built it for Linux 6.8 and installed it. I have the module in mkinitcpio.conf to load at early boot but GNOME still won't show the slider. Any help?

dreieck commented on 2024-05-02 22:12 (UTC)

Patch for Linux 6.8 has now been incorporated into git master branch of upstream: https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/merge_requests/15

No new release yet, so I recommend that in the meantime you add the following patch manually to the PKGBUILD:
https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/merge_requests/15.patch

yatli commented on 2024-04-28 11:47 (UTC) (edited on 2024-04-28 11:49 (UTC) by yatli)

Hello, I'm new to ddcci-driver-linux-dkms, here's what I've attempted to fix it for Linux 6.8:

diff --git a/PKGBUILD b/PKGBUILD
index a18311b..3b8d57f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -13,10 +13,15 @@ depends=('dkms')
 conflicts=("ddcci-driver-linux")
 source=(
   "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/archive/v${pkgver}/ddcci-driver-linux-v${pkgver}.tar.gz"
+  "fix-linux-6.8.patch"
 )
 b2sums=('09c025953410adb5f8253e36d32400cf1ee8bf7bfd39a2ffc43784a92211e354fac5b8ed891eaa0c9395317d63982abfca00da99d2ee8f7028d28af37ec1f6b7'
-        )
+        '4837fb645b71baa86ddf9ea26977821bcc9285c895abf017f9e6cf815a95462dd97d13dfb4104f88aae4d9d9fcab625dd118b8bdf473fa143f9e3224faf2ad88')

+build() {
+  cd "${srcdir}/ddcci-driver-linux-v${pkgver}"
+  patch -Np1 -i ../fix-linux-6.8.patch
+}

 package() {
   local destdir="${pkgdir}/usr/src/ddcci-${pkgver}"
diff --git a/fix-linux-6.8.patch b/fix-linux-6.8.patch
new file mode 100644
index 0000000..1e7d2f9
--- /dev/null
+++ b/fix-linux-6.8.patch
@@ -0,0 +1,25 @@
+--- a/ddcci/ddcci.c
++++ b/ddcci/ddcci.c
+@@ -31,6 +31,10 @@
+ #define DEVICE_NAME "ddcci"
+ #define DDCCI_MAX_CAP_CHUNKS 200
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 8, 0)
++#define I2C_CLASS_DDC          (1<<3)  /* DDC bus on graphics adapters */
++#endif
++
+ static unsigned int delay = 60;
+ static unsigned short autoprobe_addrs[127] = {0xF0, 0xF2, 0xF4, 0xF6, 0xF8};
+ static int autoprobe_addr_count = 5;
+@@ -1666,7 +1670,11 @@ static int ddcci_detect(struct i2c_clien
+   pr_debug("detected %d:%02x\n", client->adapter->nr, outer_addr);
+ 
+   /* set device type */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 8, 0)
++  strscpy(info->type, (outer_addr == DDCCI_DEFAULT_DEVICE_ADDR) ? "ddcci" : "ddcci-dependent", I2C_NAME_SIZE);
++#else
+   strlcpy(info->type, (outer_addr == DDCCI_DEFAULT_DEVICE_ADDR) ? "ddcci" : "ddcci-dependent", I2C_NAME_SIZE);
++#endif
+ 
+   return 0;
+ }

... which doesn't seem to fix the problem. With all debug info turned into warnings, I get this:

[ 1683.513585] ddcci: ddcci driver initialized
[ 1683.513916] ddcci: registering driver [ddcci-backlight]
[ 1683.513927] ddcci: driver [ddcci-backlight] registered

... which means that init is called, but probe is not.

"Useful" links:

The most straightforward fix I see is to revert e965a707276760cc010eb77fba64b08ee9e8781f in the kernel.

LarryDave commented on 2024-03-26 19:16 (UTC)

@vighbox You could use ddcutil to set the brightness manualy, maybe bind the commands to a key.

https://wiki.archlinux.org/title/Backlight#External_monitors