You may need to put "drm.debug=0xe" into the kernel parameter and reboot the system to collect some system log. Did you check the brightness value after you change it?
On Thu, Nov 12, 2015 at 4:40 PM, Stéphane ANCELOT <sance...@free.fr> wrote: > On 12/11/2015 09:28, Shih-Yuan Lee (FourDollars) wrote: > > I think the first step is to identify which backlight interface is able to > actually change the brightness. > Usually there are two backlight interfaces under /sys/class/backlight/, > i.e. /sys/class/backlight/acpi_video0 and > /sys/class/backlight/intel_backlight. > However you may see other different backlight interfaces under > /sys/class/backlight/. It depends on what hardware you are using. > Executing `cat max_brightness` under those folders can see the max > brightness and then you can execute `echo $(($(cat max_brightness)/2)) | > sudo tee brightness` to adjust it to about 50% brightness. > > only /sys/class/backlight/intel_backlight is present. > max_brightness is 937 > > these commands have no effect on display brightness: > echo 0 >brightness > echo 468 >brightness > echo 937 >brightness > > Regards, > Steph > > > > On Thu, Nov 12, 2015 at 4:08 PM, Stéphane ANCELOT <sance...@free.fr> > wrote: > >> Hi, >> I have seen you were working on brightness. Right, but this is useful >> only if many worlwide users would be able to activate it. >> I have never been able to make it working on my intel systemes (core i5 - >> 4300u , core i3 ...) >> Very difficult to check where the problem is coming from, altough you >> have either an intel_backlight or acpi_backlight folder in the sys directory >> Regarding many many posts on the web, this sounds tricky and difficult to >> know why it has not worked, or simply the documentation is lacking .... >> >> Regards, >> S.Ancelot >> >> >> On 12/11/2015 06:43, Shih-Yuan Lee (FourDollars) wrote: >> >>> There was a wonderful period after >>> >>> commit 6dda730e55f412a6dfb181cae6784822ba463847 >>> Author: Jani Nikula <jani.nikula at intel.com> >>> Date: Tue Jun 24 18:27:40 2014 +0300 >>> >>> drm/i915: respect the VBT minimum backlight brightness >>> >>> The backlight class 0 brightness means the PWM min and it does not turn >>> off the backlight. After kernel 3.18, the backlight class 0 brightness >>> is used to turn off the backlight and the PWM min is missing. >>> >>> Because of >>> >>> commit e6755fb78e8f20ecadf2a4080084121336624ad9 >>> Author: Jani Nikula <jani.nikula at intel.com> >>> Date: Tue Aug 12 17:11:42 2014 +0300 >>> >>> drm/i915: switch off backlight for backlight class 0 brightness >>> >>> Use "VBT backlight PWM modulation frequency 200 Hz, active high, min >>> brightness 10, level 255" as an example. It means the VBT min is 10 >>> out of [0..255] and the PWM max is 937 from other place so the >>> corresponding PWM min should be 37 (10 * 937 / 255). >>> >>> When we set backlight class 0 brightness, the backlight is turned off. >>> Althought the PWM value is 37 when the backlight is off but it is >>> useless. When we set set backlight class 1 brightness, the backlight is >>> on but the PWM value is 38 and it doesn't match the corresponding PWM >>> min of the VBT minimum backlight. >>> >>> And it has another minor issue that there are some backlight class >>> brightness values are mapped to the same PWM value because the backlight >>> class brightness range is larger than the valid PWM brightness range. >>> >>> The backlight class brightness range [0..937] >>> The valid PWM brightness range [37..937] >>> >>> This commit makes that backlight class 1 brightness means the PWM min >>> and backlight class max_brightness means the PWM max, and the ranges >>> become >>> >>> The backlight class brightness range [0..901] >>> The valid PWM brightness range [36..937] >>> >>> That's no backlight class brightness value mapped to the same PWM value. >>> >>> Signed-off-by: Shih-Yuan Lee (FourDollars) <sy...@canonical.com> >>> --- >>> drivers/gpu/drm/i915/intel_panel.c | 26 ++++++++++++++++++-------- >>> 1 file changed, 18 insertions(+), 8 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/i915/intel_panel.c >>> b/drivers/gpu/drm/i915/intel_panel.c >>> index b05c6d9..8efa199 100644 >>> --- a/drivers/gpu/drm/i915/intel_panel.c >>> +++ b/drivers/gpu/drm/i915/intel_panel.c >>> @@ -1194,10 +1194,9 @@ static int intel_backlight_device_register(struct >>> intel_connector *connector) >>> props.type = BACKLIGHT_RAW; >>> /* >>> - * Note: Everything should work even if the backlight device max >>> - * presented to the userspace is arbitrarily chosen. >>> + * Expose the whole valid PWM brightness range to the backlight >>> class. >>> */ >>> - props.max_brightness = panel->backlight.max; >>> + props.max_brightness = panel->backlight.max - >>> panel->backlight.min; >>> props.brightness = scale_hw_to_user(connector, >>> panel->backlight.level, >>> props.max_brightness); >>> @@ -1400,7 +1399,8 @@ static u32 get_backlight_min_vbt(struct >>> intel_connector *connector) >>> struct drm_device *dev = connector->base.dev; >>> struct drm_i915_private *dev_priv = dev->dev_private; >>> struct intel_panel *panel = &connector->panel; >>> - int min; >>> + int vbt_min; >>> + u32 pwm_min; >>> WARN_ON(panel->backlight.max == 0); >>> @@ -1411,14 +1411,24 @@ static u32 get_backlight_min_vbt(struct >>> intel_connector *connector) >>> * against this by letting the minimum be at most (arbitrarily >>> chosen) >>> * 25% of the max. >>> */ >>> - min = clamp_t(int, dev_priv->vbt.backlight.min_brightness, 0, >>> 64); >>> - if (min != dev_priv->vbt.backlight.min_brightness) { >>> + vbt_min = clamp_t(int, dev_priv->vbt.backlight.min_brightness, >>> 0, 64); >>> + if (vbt_min != dev_priv->vbt.backlight.min_brightness) { >>> DRM_DEBUG_KMS("clamping VBT min backlight %d/255 to >>> %d/255\n", >>> - dev_priv->vbt.backlight.min_brightness, >>> min); >>> + dev_priv->vbt.backlight.min_brightness, >>> vbt_min); >>> } >>> /* vbt value is a coefficient in range [0..255] */ >>> - return scale(min, 0, 255, 0, panel->backlight.max); >>> + pwm_min = scale(vbt_min, 0, 255, 0, panel->backlight.max); >>> + >>> + /* >>> + * Because backlight class brightness 0 is used to turn off the >>> backlight, we >>> + * need to step down a little bit here to make backlight class >>> brightness 1 >>> + * match the real PWM min. >>> + */ >>> + if (pwm_min > 0) >>> + return pwm_min - 1; >>> + else >>> + return 0; >>> } >>> static int lpt_setup_backlight(struct intel_connector *connector, >>> enum pipe unused) >>> >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx >> > > >
_______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx