Could not change brightness anymore with i915kms & acpi_video modules c 202211
Date: Tue, 31 Jan 2023 07:52:40 UTC
Hi there, Since around 2022-11, I am unable to change display brightness of the display of a Framework laptop (Intel i5-1135G7, Iris Xe iGPU) with "i915kms" module (from "drm-510-kmod" package/port) & "acpi_video" (FreeBSD) kernel module. Earlier I was able to change brightness via "hw.acpi.video" MIB ... # - Need to have both "i915kms" & "acpi_video" modules already loaded. # # 20221120 - These MIBs do not work anymore as they are missing. hw.acpi.video.lcd0.economy=10 hw.acpi.video.lcd0.fullpower=40 hw.acpi.video.lcd0.brightness=15 ... now the whole of "hw.acpi.video" stub is missing. Nothing has changed in terms of how/when "i915kms" & "acpi_video" are loaded (via "kld_list" variable via "/etc/rc.conf" in that order). What am I missing? - parv ## /etc/rc.conf : clear_tmp_enable="YES" sendmail_enable="NONE" sshd_enable="YES" zfs_enable="YES" dumpdev="AUTO" hostname="luna" devmatch_blacklist="ng_ubt" devmatch_blacklist="$devmatch_blacklist if_iwlwifi" moused_enable="YES" kld_list="filemon" # As of 20220316 on 14-CURRENT order of values assigned to a variable matters # enough that assigning "acpi_video" after "i915kms" is sufficient. # # WARNING - After loading 'acpi_video' module, brightness suddenly increases # blindingly. # # XXX: If i915kms does not load properly on boot, say after world install, will # see a blank screen & Ctrl-Alt-{Delete,Backspace,Escape} do not seem to # work; need a hard reboot. # # 20230120 - Since around 2022-11 or 2022-12, order has no effect on brightness. kld_list="$kld_list i915kms" kld_list="$kld_list acpi_video" # Attemp to maximize battery life. power_profile='economy' economy_cx_lowest='Cmax' performance_cx_lowest='C2' wifibox_enable="YES" defaultrouter="10.0.0.1" defaultroot_delay="10" ifconfig_wifibox0="SYNCDHCP" background_dhclient_wifibox0="YES" ntpd_enable="YES" ntpd_flags="-G" dbus_enable="YES" smartd_enable="YES" ## /etc/sysctl.conf : kern.randompid=1 vfs.usermount=1 kern.vt.kbd_halt=1 kern.vt.kbd_poweroff=1 kern.vt.kbd_reboot=1 kern.vt.kbd_debug=1 kern.vt.kbd_panic=1 vfs.zfs.arc.max=30064771072 dev.hwpstate_intel.0.epp=70 dev.hwpstate_intel.1.epp=70 dev.hwpstate_intel.2.epp=100 dev.hwpstate_intel.3.epp=100 dev.hwpstate_intel.4.epp=100 dev.hwpstate_intel.5.epp=100 dev.hwpstate_intel.6.epp=100 dev.hwpstate_intel.7.epp=100 kern.timecounter.hardware='HPET' hw.acpi.lid_switch_state='S5' hw.acpi.sleep_button_state='S5' # 'acpi_video' module needs to be loaded after 'i915kms' module to have LCD # brightness related MIBs -- hw.acpi.lcd0.* -- to have any effect. This has # been an issue since 2014, see PR 195116, # <https://bugs.freebsd.org/bugzilla/show_bug_cgi?id=195116>. # # As of 20220316 on 14-CURRENT order of values assigned to a variable matters # enough that assigning "acpi_video" after "i915kms" to "$kld_list" in # "/etc/rc.conf" is sufficient. # # WARNING - After loading 'acpi_video' module, brightness suddenly increases # blindinly. # # Default of 50 for 'hw.acpi.video.lcd0.brightness' rather too bright; 100 is # blinding. # - Need to have both "i915kms" & "acpi_video" modules already loaded. # # 20221120 - These MIBs do not work anymore as they are missing. #hw.acpi.video.lcd0.economy=10 #hw.acpi.video.lcd0.fullpower=40 #hw.acpi.video.lcd0.brightness=15 # Power management with "i915kms" module from "drm-devel-kmod" (14-CURRENT) # package. # - only in "/boot/loader.conf" ... # # compat.linuxkpi.i915_enable_dc=2 # compat.linuxkpi.i915_disable_power_well=<-1|0|1> # # ... that means need to load i915kms in "/boot/loader.conf" too.? # compat.linuxkpi.i915_fastboot=1 compat.linuxkpi.i915_enable_fbc=1 ## /boot/loader.conf : cryptodev_load="YES" zfs_load="YES" kern.msgbufsize=1146880 ums_load="YES" hms_load="YES" hw.vga.textmode=0 kern.vty=vt # Need to load after i915kms module to have effect; so is loaded via # /etc/rc.conf instead by adding it to $kld_list after "i915kms" as in # 'kld_list="i915kms acpi_video"'. #acpi_video_load="YES" machdep.hwpstate_pkg_ctrl=0 coretemp_load="YES" ## From "/etc/rc.conf" ... # Power management with "i915kms" module from "drm-devel-kmod" (14-CURRENT) # package. # - only in "/boot/loader.conf" ... # # compat.linuxkpi.i915_enable_dc=2 # compat.linuxkpi.i915_disable_power_well=<-1|0|1> # # ... that means need to load i915kms in "/boot/loader.conf" too.? # #compat.linuxkpi.i915_fastboot=1 #compat.linuxkpi.i915_enable_fbc=1 hw.pci.do_power_nodriver=2