[systemd-devel] Bad accelerometer values cause incorrect screen rotation
Bastien Nocera
hadess at hadess.net
Thu Sep 5 10:49:37 UTC 2019
On Thu, 2019-09-05 at 18:38 +0800, Daniel Drake wrote:
> On Thu, Sep 5, 2019 at 6:07 PM Bastien Nocera <hadess at hadess.net>
> wrote:
> > I've read through this, and I'm happy blacklisting the hp_accel
> > driver
> > in code. For the other devices, I'd rather leave it as-is.
>
> That would indeed avoid most problem cases that I've seen, and the
> current case, probably enough to stop me grumbling for another year
> or
> so until this happens again in some other context :)
> So I support that idea. Do you have any preference on where we
> blacklist it?
>
> In the hwdb it's quite easy to match DMI vendor HP & driver
> lis3lv02d.
> But we'd really want a new way of saying "ignore the accelerometer"
> as
> ACCEL_POSITION=base doesn't seem like the right way to express that.
>
> Or we could blacklist it in iio-sensor-proxy but since there's no
> mention of hp_accel in the udev properties for the device (you just
> get the driver as li3lv02d) then you'd need to grab the DMI vendor
> name from /sys/class/dmi/id or something like that.
> Maybe making this driver export enough data so we can blacklist it
> would be the best way to go about it, along with a new udev property.
We should make this driver export enough data so we can differentiate
it, then we can install a udev property private to iio-sensor-proxy
about ignoring specific accelerometers such as this one. This way, the
sensor hwdb only contains quirks, not policy decisions about whether
the hp_accel driver is worthy.
<snip>
> In my eyes, having some users that accidently don't get their screens
> rotated by the accelerometer (with a relatively simple fix of
> whitelisting the product) is a better outcome than having some users
> that go through the miserable experience of having your screen
> rotated
> incorrectly (which is hard to recover from and tricky for a developer
> to fix without physical device access). This may just be a difference
> of opinion.
I think it might not be as widespread a problem as it seems, seeing as
we only get to see the negative part of it.
> > Also, it would be pretty trivial changing the default GNOME
> > configuration to have the accelerometer pegged to the default
> > orientation.
>
> I appreciate the suggestion especially if its trivial but I don't
> understand what you wrote here- can you explain a bit more?
The equivalent of:
$ gsettings set org.gnome.settings-daemon.peripherals.touchscreen orientation-lock false
but as a system-wide default value.
More information about the systemd-devel
mailing list