глюк с автоповоротом экрана

при включенном автоповороте в книжном режиме экран перевернут вверх ногами

оказалось проблема в не верном определении матрицы акселерометра в iio-sensor-proxy.

для исправления надо вписать правило в udev для пересчета координат вектора

создаем файл /etc/udev/hwdb.d/61-sensor-local.hwdb

с таким содержанием:

sensor:modalias:acpi:KIOX000A*:dmi:*:*:*
    ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1

дальше будет пояснение, у кого все и так заработало может не читать

пример заполнения взял из файла с гитхаба (правда там не нашлось нужного варианта для моего планшетника по этому взял первый попавшийся а потом угадывал матрицу) https://github.com/systemd/systemd/blob/master/hwdb.d/60-sensor.hwdb

в случае если у вас не заработало значит надо заменить значение aspi в первой строке

для получения изпод рута выполним команду

# udevadm info --export-db | grep iio

у меня выхлоп был такой

P: /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-KIOX000A:00/iio:device0
N: iio:device0
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-KIOX000A:00/iio:device0
E: SUBSYSTEM=iio
E: DEVNAME=/dev/iio:device0
E: DEVTYPE=iio_device
E: IIO_SENSOR_PROXY_TYPE=iio-buffer-accel
E: SYSTEMD_WANTS=iio-sensor-proxy.service

дальше все в том же файле с гитхаба находите строку с похожим значением acpi и все неизвестрное заменяете звездочками (врядли на вашем девайсе найдется два похожих устройства так что ничем не рискуете)

подробнее про матрицы преобразования можно почитать в описании репозитория  iio-sensor-proxy https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/blob/master/README.md

но в большинстве случаев все сведется к угадыванию перед какими единичками надо поставить минусы .

таксономия:

Комментарии

в debian 11 поправили значения матрицы для моего ноута так что теперь все единички с плюсом

 ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1

можно было вообще этот файл удалить, но решил оставить на всякий случай.