关于Ubuntu下传感器导致屏幕反转的问题

版权声明:本文为博主原创文章,转载请注明出处。

前言

今天给一台平板电脑安装了ubuntu系统,旋转了一番屏幕,发现屏幕在各个方向都按逆时针旋转了90度。

经过一番搜索,发现可以通过修改ACCEL_MOUNT_MATRIX来实现屏幕的翻转。

虽然最后依旧没能解决问题,但是估计关键点就在这了。

参考文档

点击查看

点击查看

具体操作

获取型号

执行命令查看传感器设备信息,得到设备型号。

1
2
# /dev/iio\:deviceXX,XX要按实际情况修改。
udevadm info /dev/iio\:device0

之前执行的命令得到以下结果,经过与文档的对比,发现SMO8500为本机的重力传感器型号。

1
2
3
4
5
6
7
8
9
10
11
12
13
P: /devices/pci0000:00/INT3432:00/i2c-0/i2c-SMO8500:00/iio:device0
N: iio:device0
E: ACCEL_MOUNT_MATRIX=0, 1, -1; 1, 0, -1; 0, 0, -1
E: DEVNAME=/dev/iio:device0
E: DEVPATH=/devices/pci0000:00/INT3432:00/i2c-0/i2c-SMO8500:00/iio:device0
E: DEVTYPE=iio_device
E: IIO_SENSOR_PROXY_TYPE=iio-buffer-accel
E: MAJOR=242
E: MINOR=0
E: SUBSYSTEM=iio
E: SYSTEMD_WANTS=iio-sensor-proxy.service
E: TAGS=:systemd:
E: USEC_INITIALIZED=34719832

设置规则

创建文件/etc/udev/hwdb.d/61-sensor-local.hwdb,写入自定义规则:

1
2
sensor:modalias:acpi:SMO8500*:dmi:*:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1

执行以下命令更新硬件数据库:

1
2
3
systemd-hwdb update
# 更新后重启生效。
reboot

结果

最后横屏方向正常了,但是竖屏就无法显示了,经过n轮测试都无法解决问题,放弃了。

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×