[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