Sven's {b}logbuch

Themen rund um die Informationstechnik

  • Home
  • Kategorien
    • DIY
    • Hardware
      • Laptop
      • Monitor
      • PC
      • Server
      • Tablet
      • Other
    • Linux
      • Application
      • Bash
      • Gnome Shell Extension
      • Python
      • Other
    • Windows
      • Application
      • Powershell
      • Other
  • Über Mich
  • Kontakt
  • Impressum

DDC unter Debian

Linux
18. November 2023

Neben dem DDCUtil mit welchem man den Monitor über HDMI / DP steuern kann, gibt es noch das ddcci Kernelmodul. Dieses ermöglicht das Einbinden der Helligkeitseinstellung des externen Monitors vom Desktop aus. Bisher hatte ich dazu meine eigene Extension für Gnome benutzt, seit dem Umstieg vor einigen Tagen auf KDE jedoch diesen hier beschrieben Weg gewählt.

Leider scheint das Debian ddcci Kernelmodul derzeitig nicht Out Of The Box zu funktionieren, so reichte ein reines Kernelmodul laden beim Start nicht aus und bedarf ein wenig eingreifen in dem ganzen. Vermutlich ist es ein Racetime Problem, in dem der i2c Bus beim initialisieren des Moduls im busy zustand ist, denn die Autoerkennung legt leider beim booten keine Einträge im /sys/bus/ddcci/devices an. Als Abhilfe habe ich ein Systemd Unit erstellt, der das Modul erst dann lädt sobald der SDDM (Simple Desktop Display Manager – KDE Umgebung) geladen wurde.

Zuerst setzen wir das Kernelmodul auf die Blacklist um ein automatisches laden zu verhindern:

sudo echo "blacklist ddcci" > /etc/modprobe.d/blacklist-ddcci.conf

Zusätzlich setzen wir die ddcci Kernelmodul Optionen:

sudo echo "options ddcci-dependent 0x37" > /etc/modprobe.d/ddcci.conf

Anschließend wird der Initramfs aktualisiert:

sudo update-initramfs -u

Zuletzt legen wir mit Nano einen neuen SystemD Service an, um das Kernelmodul beim booten zu unserem gewollten Zeitpunkt zu starten:

sudo nano /etc/systemd/system/ddcci-backlight.service

Und folgenden Inhalt hinzufügen, achtet bitte auf den verwendeten Display Manager (sddm.service für KDE, gdm.service für Gnome etc.):

[Unit] 
After=sddm.service # sddm.service for KDE, for Gnome use gdm.service

[Service] 
Type=oneshot 
ExecStart=/usr/sbin/modprobe ddcci-backlight
ExecStop=/usr/sbin/modprobe --remove ddcci-backlight 
RemainAfterExit=yes 

[Install] 
WantedBy=default.target

Und mit folgendem die Systemd Unit aktiviert:

sudo systemctl enable ddcci-backlight.service

Sollte nun nach einem Neustart des Systems, die im Gnome / KDE native Helligkeitsregelung des Monitors auftauchen.


Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Sven’s {b}logbuch by S. Kramer

Diese Website verwendet Cookies um Dienste anzubieten und Zugriffe zu analysieren. Deine IP-Adresse und dein User-Agent werden zusammen mit Messwerten zur Leistung und Sicherheit freigegeben. So können Nutzungsstatistiken generiert, Missbrauchsfälle erkannt und behoben und die Qualität des Dienstes gewährleistet werden.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
immer aktiv
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDauerBeschreibung
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SPEICHERN & AKZEPTIEREN