Package Details: ddcci-driver-linux-dkms 0.4.5-1

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: 34
Popularity: 0.007751
First Submitted: 2017-04-15 18:51 (UTC)
Last Updated: 2024-07-24 04:30 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

Andrei_Korshikov commented on 2023-04-01 04:02 (UTC)

@dxwill Maybe because of this? At least with my setup (laptop with external monitor) I have no luck with modules-load.d and have to craft systemd unit. Also look at joshtau comment below: "Sometimes in tty it won't work correctly", maybe you have to load ddcci only after your display manager.

Porous3247 commented on 2023-03-30 19:26 (UTC)

@dxwil the PKGBUILD copies the source to /usr/src/ddcci-${pkgver} then the building process invokes the Makefile provided by the package. That Makefile invokes Makefile.dkms which then invokes the modprobe command. So it seems that the developers of the package made it convenient for all of us.

dxwil commented on 2023-03-30 16:34 (UTC)

ddcci does not load through a file in /etc/modules-load.d/ddcci.conf, but only by manually modprobe'ing it, does anyone know why that might happen? Thanks

joshtau commented on 2023-03-30 04:07 (UTC)

I just tried it again and it worked, I have no idea what was going on but yesterday I was getting a git commit instead of a version number from that file.

Sorry for the noise, also I don't mind which checksum, as long as there is one :-).

Porous3247 commented on 2023-03-30 03:52 (UTC)

@joshtau Just downloaded ddcci-driver-linux-v0.4.3.tar.gz and after running tar -tf ddcci-driver-linux-v0.4.3.tar.gz, it still returns

ddcci-driver-linux-v0.4.3/
ddcci-driver-linux-v0.4.3/.gitlab-ci.yml
ddcci-driver-linux-v0.4.3/LICENSE
ddcci-driver-linux-v0.4.3/Makefile
ddcci-driver-linux-v0.4.3/Makefile.dkms
ddcci-driver-linux-v0.4.3/README.md
ddcci-driver-linux-v0.4.3/ddcci-backlight/
ddcci-driver-linux-v0.4.3/ddcci-backlight/Makefile
ddcci-driver-linux-v0.4.3/ddcci-backlight/ddcci-backlight.c
ddcci-driver-linux-v0.4.3/ddcci/
ddcci-driver-linux-v0.4.3/ddcci/Makefile
ddcci-driver-linux-v0.4.3/ddcci/ddcci.c
ddcci-driver-linux-v0.4.3/dkms.conf
ddcci-driver-linux-v0.4.3/include/
ddcci-driver-linux-v0.4.3/include/linux/
ddcci-driver-linux-v0.4.3/include/linux/ddcci.h

I do notice that v0.4.3 doesn't have a corresponding GitLab release. But when the next version comes out, I'll be sure to use sha256sum instead of b2 and the ${srcdir} in the package function

joshtau commented on 2023-03-29 08:33 (UTC) (edited on 2023-03-30 04:08 (UTC) by joshtau)

I think this needs to be updated, as the file might have changed recently, the directory now has a git commit instead of a version number. Can either use * or the git version.

--- PKGBUILD    2023-03-17 19:17:44.000000000 +0800
+++ PKGBUILD2   2023-03-29 15:32:01.838225219 +0800
@@ -4,6 +4,7 @@

 pkgname=ddcci-driver-linux-dkms
 pkgver=0.4.3
+gitcommit=adf0ee1e755430322f753bb20f27f029b812b9cc
 pkgrel=1
 pkgdesc="A pair of Linux kernel drivers for DDC/CI monitors (DKMS)"
 arch=('i686' 'x86_64' 'aarch64')
@@ -14,11 +15,11 @@
 source=(
   "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/archive/v${pkgver}/ddcci-driver-linux-v${pkgver}.tar.gz"
 )
-b2sums=('71f855b8d7e4b9a1b5d38a73d4a6df7453e72600596121f68c6782f180211bd935ab30cf0cf94cc0528e8d5f732449d35b24cd9584d17083318d819b81a0b259')
+sha256sums=('079460abd8acbdb5803fd823e5fe83fe64db8e215441dd006bfa54add644816f')

 package() {
   local destdir="${pkgdir}/usr/src/ddcci-${pkgver}"

   install -d "${destdir}"
-  cp -rT "ddcci-driver-linux-v${pkgver}" "${destdir}"
+  cp -rT "${srcdir}/ddcci-driver-linux-${gitcommit}" "${destdir}"
 }

RE running this --

Prechecks: 1. Ensure you've rebooted after loading it, just incase.. 2. dkms status shows it's installed (ddcci/0.4.3, 6.2.8-arch1-1, x86_64: installed)

It can be a bit finnicky, here is what I had to do to make it work:

  1. Modprobe both modules, might not be loaded. Sometimes in tty it won't work correctly, it only works in a DE, such as your greeter (GDM/SDDM/greetd gtk etc) or on login.

sudo modprobe ddcci dcci_backlight

  1. Ensure your monitor is listed in /sys/bus/i2c/devices (thanks to this tip).

You can find this with ddcutil, ensure you have i2c-dev modprobed.

ddcutil detect or ddcutil detect --verbose:

Display 1
   I2C bus:  /dev/i2c-6
   DRM connector:           card0-DP-1
   EDID synopsis:
      Mfg id:               DEL - Dell Inc.
      Model:                DELL S2721DGF
      Manufacture year:     2020,  Week: 31
   VCP version:         2.1

So it's /dev/i2c-6

You then have to add this a new device, replacing XXXX with 6 (or whatever your ID is):

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

The driver is great, my timing was anywhere between 500ms to 700ms with the userspace tool ddcutil setvcp 10 55, compared to ~60ms for brillo (brillo -el -S 70), or 80ms when using brightnessctl (brightnessctl set 50% -d ddcci6).

dxwil commented on 2023-03-18 12:11 (UTC)

Does anyone know why ddcci doesn't load properaly? Output to dmesg

[ 4.152434] ddcci: loading out-of-tree module taints kernel. [ 4.152465] ddcci: module verification failed: signature and/or required key missing - tainting kernel

ewout commented on 2023-03-17 11:28 (UTC)

@Porous3247 Made you co-maintainer

Porous3247 commented on 2023-03-16 19:47 (UTC)

PKGBUILD for version 0.4.3 (patch file no longer necessary since it's included in 0.4.3 update)

# Maintainer: Ewout van Mansom <ewout@vanmansom.name>
# Contributor: Iwan Timmer <irtimmer@gmail.com>

pkgname=ddcci-driver-linux-dkms
pkgver=0.4.3
pkgrel=1
pkgdesc="A pair of Linux kernel drivers for DDC/CI monitors (DKMS)"
arch=('i686' 'x86_64' 'aarch64')
url="https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/"
license=('GPL2')
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"
)
b2sums=('71f855b8d7e4b9a1b5d38a73d4a6df7453e72600596121f68c6782f180211bd935ab30cf0cf94cc0528e8d5f732449d35b24cd9584d17083318d819b81a0b259')

prepare() {
    cd "ddcci-driver-linux-v${pkgver}"
}

package() {
  local destdir="${pkgdir}/usr/src/ddcci-${pkgver}"

  install -d "${destdir}"
  cp -rT "ddcci-driver-linux-v${pkgver}" "${destdir}"
}

Porous3247 commented on 2023-01-26 22:36 (UTC) (edited on 2023-01-26 22:39 (UTC) by Porous3247)

@ewout I still get the same error/error log (linux-zen version is 6.1.8)

EDIT: nevermind, I just had to forcefully remove $XDG_CONFIG_HOME/paru/clone/ddcci-driver-linux-dkms