[linux-l] backlight mmodules

Lutz Willek lutz.willek at belug.de
Do Okt 1 15:19:37 CEST 2020


Hallo Frank,

verstehe ich es richtig das ein automatisches laden der Module (via 
/etc/modules-load.d/ddcci.conf) nicht das gewünschte Ergebnis bringt, 
aber ein manuell durchgeführtes laden des Moduls zu einem späteren 
Zeitpunkt alles richtig macht?

Klingt stark nach einem Timing-Problem: Das was beim starten des 
Rechners noch nicht funktioniert klappt später tadellos. Scheinbar ist 
ddcci7 (der per Displayport angebundene externe Bildschirm) beim booten 
noch nicht verfügbar und wird daher schlicht nicht von ddcci gefunden, 
später aber schon, daher klappt das manuelle laden. Nicht etwa weil Du 
es manuell machst, sondern weil Du es schlicht später machst.

Hast Du irgend welche Unterschiede im Log bemerkt? "dmesg" sollte hier 
eigentlich helfen. Suche das Modul welches den externen Bildschirm 
verfügbar macht und passe dann die modules autoload an, so dass ddcci 
etwas später geladen wird.

Stichwort für die Google Suche ist hier "modprobe module dependenies" 
oder auch "modprobe module alias", na oder eben - wer hätte das gedacht- 
die gute alte man-page, gibt es auch online --> 
https://man7.org/linux/man-pages/man5/modprobe.d.5.html

Das sollte eigentlich so tun.

Ich bin mir beim folgendem nicht sicher, glaube aber das Du 
"ddcci_backlight" in /etc/modules-load.d/ddcci.conf ganz entfernen 
kannst, da es automatisch als Abhängigkeit von "ddcci" geladen werden 
sollte.


Es gibt hier - eigentlich wie immer - auch eine "Frickel-Methode". Die 
ist nicht schön, wird aber auch funktionieren anstatt die 
Modul-Abhängigkeit zu fixen.

Schreibe Dir einfach ein kleines skript welches im Autostart Deines 
Benutzers ausgeführt wird, nachdem Du Dich an der grafischen Oberfläche 
angemeldet hast. Und das Skript macht dann genau das was Du bisher 
manuell gemacht hast. Das ist sicher nicht hübsch, erfüllt ohne Zweifel 
das Prädikat Frickelei, löst aber auch nachhaltig Dein Problem.

Also so etwas wie: /usr/local/bin/frickelei.sh

> #!/usr/bin/env sh
> /sbin/rmmod ddcci_backlight 
> /sbin/rmmod ddcci
> /bin/sleep 1
> /sbin/modprobe ddcci

In mittels "visudo" passt Du dann Deine sudoers an, so dass 
"/usr/local/bin/frickelei.sh" ohne Eingabe eines Passworts benutzt 
werden kann:

> %users     ALL = NOPASSWD: /usr/local/bin/frickelei.sh

Und der letzte Schritt wäre dann eben der autostart. Das ist dann 
abhängig von Deiner Distro und Deiner grafischen Oberfläche.

Der einfachste Fall wäre es das Skript in die ~/.profile Deiner 
Loginshell zu schreiben. (nicht in die  *rc files, sonst wird das immer 
bei jedem Start einer non-interactive, non-login shell ausgeführt, und 
das ist nicht was Du willst)

Wenn Du beispielsweise gnome verwendest, dann benutze einfach 
"gnome-session-properties" um das Skript aufzurufen.

Der Aufruf ist in jedem Fall übrigens "sudo /usr/local/bin/frickelei.sh"

Hoffe das hilft.

Gruß Lutz


Am 30.09.20 um 19:56 schrieb Frank via linux-l:
> Guten Abend,
> 
> ich habe ein Problem mit der backlight Kontrolle meines externen
> Monitors. Dazu benötige ich das ddcci Kernelmodul, das ich beim booten
> mittels folgender /etc/modules-load.d/ddcci.conf lade:
> ddcci
> ddcci_backlight
> 
> Leider funktionier das nicht so wie erwartet und ich kann backlight z.B.
> nicht mittles light kontrollieren.
> light -L
> Listing device targets:
>      sysfs/backlight/intel_backlight
>      sysfs/backlight/acpi_video0
>      sysfs/backlight/auto
>      ...
> Die Module sind geladen:
> lsmod | grep ddcci
> ddcci_backlight        20480  0
> ddcci                  40960  1 ddcci_backlight
> 
> Also ein beherztes
> sudo rmmod ddcci_backlight
> sudo rmmod ddcci
> sudo modprobe ddcci
> 
> Dann erhalten ich light -L
> Listing device targets:
>      sysfs/backlight/intel_backlight
>      sysfs/backlight/ddcci7
>      sysfs/backlight/acpi_video0
>      sysfs/backlight/auto
>      ...
> und die Bildschirmhelligkeit läßt sich z.B mit light -s 
> sysfs/backlight/ddcci7 -U 10
> anpassen.
> 
> Wie bekomme ich es hin, dass ich nicht erst das ddcci Modul händisch
> laden muß?
> Der Bildschirm ist übrigens per Displayport über ein KVM switch mit
> meinem Laptop verbunden.
> Gruß Frank
> 
> 
> 
> -- 
> Frank Zimmermann
> Jami: rhoihesse
> Matrix: @zimbi:matrix.org
> _______________________________________________
> linux-l mailing list
> linux-l at mlists.in-berlin.de
> Die Mailingliste der BeLUG (Berliner Linux User Group)
> 
> Wenn du diese Mailingliste  abbestellen willst, gehe bitte auf
> https://mlists.in-berlin.de/mailman/listinfo/linux-l-mlists.in-berlin.de
> und trage dich dort bitte aus


Mehr Informationen über die Mailingliste linux-l