From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5403CC3A5A0 for ; Mon, 19 Aug 2019 12:29:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2A0A920843 for ; Mon, 19 Aug 2019 12:29:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727580AbfHSM3X (ORCPT ); Mon, 19 Aug 2019 08:29:23 -0400 Received: from metis.ext.pengutronix.de ([85.220.165.71]:39525 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727039AbfHSM3W (ORCPT ); Mon, 19 Aug 2019 08:29:22 -0400 Received: from pty.hi.pengutronix.de ([2001:67c:670:100:1d::c5]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1hzgmj-0002vD-DX; Mon, 19 Aug 2019 14:29:17 +0200 Received: from ukl by pty.hi.pengutronix.de with local (Exim 4.89) (envelope-from ) id 1hzgmh-0007dT-8g; Mon, 19 Aug 2019 14:29:15 +0200 Date: Mon, 19 Aug 2019 14:29:15 +0200 From: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= To: Daniel Thompson Cc: Matthias Kaehlcke , Thierry Reding , Lee Jones , Jingoo Han , Bartlomiej Zolnierkiewicz , linux-pwm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, Enric Balletbo i Serra , Douglas Anderson , Brian Norris , Pavel Machek , Jacek Anaszewski , kernel@pengutronix.de Subject: Re: [PATCH v3 2/4] backlight: Expose brightness curve type through sysfs Message-ID: <20190819122915.icjszuvnwyjpa75n@pengutronix.de> References: <20190709190007.91260-1-mka@chromium.org> <20190709190007.91260-3-mka@chromium.org> <20190816165148.7keg45fmlndr22fl@pengutronix.de> <20190816175157.GT250418@google.com> <20190816194754.ldzjqy2yjonfvaat@pengutronix.de> <20190816211051.GV250418@google.com> <20190819054628.asw3cxp46w3rpml7@pengutronix.de> <20190819095037.h3gig3quyhnzshm7@holly.lan> <20190819102127.wqudnbngottjakf5@pengutronix.de> <20190819111613.2kkn25tmjgyjhbip@holly.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190819111613.2kkn25tmjgyjhbip@holly.lan> User-Agent: NeoMutt/20170113 (1.7.2) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c5 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 19, 2019 at 12:16:13PM +0100, Daniel Thompson wrote: > On Mon, Aug 19, 2019 at 12:21:27PM +0200, Uwe Kleine-König wrote: > > > > > In an ideal world the backlight interface would be consistent as you > > > > > suggest, however there are plenty of existing devices which use the > > > > > 'other' scaling (regardless of which is chosen as the 'correct' > > > > > one). Userspace still has to deal with these. And changing previously > > > > > 'logarithmic' drivers to linear (or viceversa) may 'break' userspace, > > > > > when it keeps using its 'old' scaling, which now isn't correct anymore. > > > > > > > > It might be subjective, or maybe I'm just too optimistic, but I think if > > > > there was no policy before about the meaning of > > > > > > > > echo 17 > brightness > > > > > > > > other than "brighter than lower values and darker than higher ones" > > > > introducing (say) the scale is intended to represent a linear brightness > > > > curve is ok. > > > > > > > > Unless userspace jumps through hoops and tries to identify the actual > > > > device it is running on it is wrong on some machines anyhow and we're > > > > only shifting the set of affected machines with a tighter policy (until > > > > that userspace application is fixed). > > > > > > I believe that there are two common approaches by userspace at present: > > > > > > 1. Assume the scale is perceptual and we can directly map a slider > > > to the backlight value. This is common simply because most ACPI > > > backlights are perceptual and therefore when tested in a laptop > > > it works OK. > > > > > > 2. Assume that is max brightness is small (e.g. ACPI) then the > > > scale is perceptual and if the max brightness is large (e.g. > > > a PWM) then the scale is linear and apply a correction > > > function between the slider and the control. > > > > > > That historic baggage makes is diffcult to "just define a standardized > > > scale"... especially given that if we selected a standardized scale we > > > would probably want a perceptual scale with lots of steps (e.g. break > > > the heuristic). > > > > With "perceptual" you mean that logarithmic stuff, right? > > Human perception is fairly complex so it depends how strict you want to > get. At the end of the day what it means is you can map a slider UI > component directly to the backlight range and it will feel right. Thus > a userspace that maps directly to a slider *is* assuming the scale > is perceptual. I have problems to declare something as "the right thing to do" that depends on feeling of users. I much prefer to make a technical device authoritative here (in this case a device that measures emitted light). Other than that I don't have enough experience with backlights to judge the decisions that have to be done and so will stop my participation in this thread now. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= Date: Mon, 19 Aug 2019 12:29:15 +0000 Subject: Re: [PATCH v3 2/4] backlight: Expose brightness curve type through sysfs Message-Id: <20190819122915.icjszuvnwyjpa75n@pengutronix.de> List-Id: References: <20190709190007.91260-1-mka@chromium.org> <20190709190007.91260-3-mka@chromium.org> <20190816165148.7keg45fmlndr22fl@pengutronix.de> <20190816175157.GT250418@google.com> <20190816194754.ldzjqy2yjonfvaat@pengutronix.de> <20190816211051.GV250418@google.com> <20190819054628.asw3cxp46w3rpml7@pengutronix.de> <20190819095037.h3gig3quyhnzshm7@holly.lan> <20190819102127.wqudnbngottjakf5@pengutronix.de> <20190819111613.2kkn25tmjgyjhbip@holly.lan> In-Reply-To: <20190819111613.2kkn25tmjgyjhbip@holly.lan> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: Daniel Thompson Cc: Matthias Kaehlcke , Thierry Reding , Lee Jones , Jingoo Han , Bartlomiej Zolnierkiewicz , linux-pwm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, Enric Balletbo i Serra , Douglas Anderson , Brian Norris , Pavel Machek , Jacek Anaszewski , kernel@pengutronix.de On Mon, Aug 19, 2019 at 12:16:13PM +0100, Daniel Thompson wrote: > On Mon, Aug 19, 2019 at 12:21:27PM +0200, Uwe Kleine-K=F6nig wrote: > > > > > In an ideal world the backlight interface would be consistent as = you > > > > > suggest, however there are plenty of existing devices which use t= he > > > > > 'other' scaling (regardless of which is chosen as the 'correct' > > > > > one). Userspace still has to deal with these. And changing previo= usly > > > > > 'logarithmic' drivers to linear (or viceversa) may 'break' usersp= ace, > > > > > when it keeps using its 'old' scaling, which now isn't correct an= ymore. > > > >=20 > > > > It might be subjective, or maybe I'm just too optimistic, but I thi= nk if > > > > there was no policy before about the meaning of > > > >=20 > > > > echo 17 > brightness > > > >=20 > > > > other than "brighter than lower values and darker than higher ones" > > > > introducing (say) the scale is intended to represent a linear brigh= tness > > > > curve is ok. > > > >=20 > > > > Unless userspace jumps through hoops and tries to identify the actu= al > > > > device it is running on it is wrong on some machines anyhow and we'= re > > > > only shifting the set of affected machines with a tighter policy (u= ntil > > > > that userspace application is fixed). > > >=20 > > > I believe that there are two common approaches by userspace at presen= t: > > >=20 > > > 1. Assume the scale is perceptual and we can directly map a slider > > > to the backlight value. This is common simply because most ACPI > > > backlights are perceptual and therefore when tested in a laptop > > > it works OK. > > >=20 > > > 2. Assume that is max brightness is small (e.g. ACPI) then the > > > scale is perceptual and if the max brightness is large (e.g. > > > a PWM) then the scale is linear and apply a correction > > > function between the slider and the control. > > >=20 > > > That historic baggage makes is diffcult to "just define a standardized > > > scale"... especially given that if we selected a standardized scale we > > > would probably want a perceptual scale with lots of steps (e.g. break > > > the heuristic). > >=20 > > With "perceptual" you mean that logarithmic stuff, right? >=20 > Human perception is fairly complex so it depends how strict you want to > get. At the end of the day what it means is you can map a slider UI > component directly to the backlight range and it will feel right. Thus > a userspace that maps directly to a slider *is* assuming the scale > is perceptual. I have problems to declare something as "the right thing to do" that depends on feeling of users. I much prefer to make a technical device authoritative here (in this case a device that measures emitted light). Other than that I don't have enough experience with backlights to judge the decisions that have to be done and so will stop my participation in this thread now. Best regards Uwe --=20 Pengutronix e.K. | Uwe Kleine-K=F6nig | Industrial Linux Solutions | http://www.pengutronix.de/ |