Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Inverted laptop screen for HP Envy 15-as006nf #5160
Comments
|
@hadess can you help? |
poettering
added
the
hwdb
label
Feb 1, 2017
Please attach the output of |
Forage
commented
Feb 2, 2017
|
Thank you for your reply. Attached is the output of udevadm. |
|
This is probably the same bug as: hadess/iio-sensor-proxy#111 Looks like all HP devices would need a quirk as the driver itself sends the incorrect data (it assumes the accelerometer is in the keyboard and gives data for that orientation). The match rule could be:
CC: @phomes |
Forage
commented
Feb 2, 2017
Is what I've added to Since both just work and the 'rotation lock button' disappears in either case, I get the feeling that something else got broken because of it, instead of things actually being fixed. I have no clue how the matrix is working though, so it might just as well be normal in both cases. |
Forage
commented
Feb 3, 2017
|
Yeah, I can confirm now that things are simply unstable. In what appears to be random, after one reboot the problems are back, after another reboot the problems are gone. No matter which matrix. The syslog tells me What more can I provide you to narrow down this issue? |
That's probably because of the long-standing bug in the IIO (or HID, or ACPI) subsystem which makes IIO triggers not work, so your accelerometer never gets any updates. When it shows up "the right way", it's likely that iio-sensor-proxy can't actually read anything from the device. Usually, suspending and resuming the machine should fix it.
That's bad, and I don't know how it would happen. Can you please file an issue against iio-sensor-proxy about this?
|
hadess
referenced this issue
in hadess/iio-sensor-proxy
Feb 9, 2017
Closed
Assertion on startup #147
|
Filed it, see link above. |
Forage
commented
Feb 21, 2017
|
Installing iio-sensor-proxy 2.2 fixes the instability issue. At the same time, however, there are no longer inverted screen issues to begin with. With or without any of the matrices above, the screen functions properly either way. I'm happy with the result, but it also makes me wonder why the settings appear to be ignored. I double checked the match rule and it appears to be correct. Is there a way I can check if/why the matrix settings are being ignored? |
|
Yes, seems like the same problem I have with mine. I never managed to find a good way to match mine. Using this does not work for me:
This is what I get looking at parent device '/devices/platform/lis3lv02d/input/input13': looking at parent device '/devices/platform/lis3lv02d': looking at parent device '/devices/platform': |
|
With this in rules it does work though:
|
|
(edit: point to branch instead. Contains typo fix) Rules change inspired by #5471 |
|
That rule probably will suffer from an issue we faced in #5471. We want the mount matrix applied to both event7 and input13 but your rule will only apply it to event7. (check with To follow #5471 you can make the rule reconstruct the modalias for the platform bus when querying hwdb. Looking at
In this case we'll need the device name of the matched parent which I think we can get with $id ? So the rule would be:
|
|
Works perfectly with that rule. I had only checked that event7 and js0 got the mount matrix. Now input13 does as well. Thanks! I force pushed the updated version. I will open a separate PR for it as it is a different laptop model than the one in this issue. |
Forage
commented
Mar 3, 2017
|
I still cannot reproduce the issue after updating to iio-sensor-proxy 2.2, even with the rules above added to I would have expected to be able to force rotating my screen with one of the matrices added to I suppose this issue can be closed for me. I'll leave it up to you guys to close it though, since it might be of value for you to find out why it's not working. If so, I'll be happy to provide more info. If not, feel free to close the issue. |
|
@Forage My guess is that by updating to iio-sensor-proxy 2.2 you also got this fix which would correct the orientation: However, for the other HP laptops I have tested on a quirk is still needed. The orientation is not inverted but turning the laptop to the side would work ok, but turning it back to normal would not be detected. Instead I had to tilt the keyboard towards me to get the normal orientation again. That is what the patch in #5510 is for. Can you test if that patch is needed for this laptop model? |
|
My guess is that all the laptops using this particular driver will need the quirks because, instead of being in the screen, as with more modern convertible laptops (be them Yogas or Surfaces), the accelerometer is quirked as if in the base, as mentioned in the documentation:
|
|
We discussed this with @dsd at GUADEC, and what came out of it was:
|
Forage commentedJan 26, 2017
Submission type
systemd version the issue has been seen with
Used distribution
As discussed in an iio-sensor-proxy issue, I need to adjust the systemd configuration to fix my laptop screen from being inverted, with the screen upside down and the mouse pointer movement mirrored.
A rotation lock button is also added to the bottom of the main menu (GNOME Shell 3.22) at the top left, between the settings and session lock button. My laptop has no option to rotate the screen though.
Apparently I should be adding the laptop to https://github.com/systemd/systemd/blob/master/hwdb/60-sensor.hwdb but I do not know how to determine the required information.
How do I determine the
parent device modalias,dmi stringand the required matrix itself?Let me know if you need any more information.