You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have 2 2-in-1 devices, the Lenovo Flex 5 and Chuwi Freebook N100.
In Brunch screen autorotation does not work, while I got it working on Linux.
I understand that this feature is device specific. However some aspects are generic and could be added as general Brunch patches.
My idea is to add the generic parts by the Brunch developer while device specific parts are contributed by the user who wants support to his/her device.
First my understanding how it works in Linux Gnome. Auto screen rotate depends on the following parts:
driver support for the accelerometer depends on the kernel version
For example my Chuwi depends on version 6.9 and my Flex can run on older kernels because the laptop is from 2020.
This is a user responsibility to check whether the kernel version supplied by the Brunch release will support auto rotation
On chromebooks the driver is also dependend on the kernel version, which will normally be backported by Google or manufacturer
kernel params
Some sensors work depending on some kernel params. For example Flex 5 AMD needs "amd_iommu=off"
This is a user responsibility
kernel module for accelerometer sensor
For example Chuwi needs: mxc4005 and Lenovo hid_sensor_hub
I don't know how Brunch development can get hold of these specific driver modules
On chromebooks I can see that with "lsmod | grep sensor" I see cros_ec_sensorhub across 2 devices.
So this module is incorportated in the EC software.
Based on these modules the accelerator individual 3d coordinates can be read from devices in /sys/bus/iio/devices/iio:device*/*raw etc.
If I check os://system sensor_info in Brunch on my Flex 5, these files are not available, because the lsmod kernel module has not been installed.
On chromebooks I can see the accelerometer readings.
software iio-sensor-proxy
Linux needs a systemd process to do readings of the accelerometer
This is a generic software, In Brunch I don't know if there is already such a generic process. Chromebook likely use EC platform, which is not available on Brunch
monitor-sensor
Linux has this generic command to see what the laptop orientation is. Sometimes the accelerometer reading is skewed in 90 degrees increments
/etc/udev/hwdb.d/61-sensor-local.hwdb
These settings are device specific and needs to be updated to correct the orientation
If not available, then the screen rotation daemon process has a config file to offset
On chromebooks this directory /etc/udev/hwdb.d is not defined
finally the screen rotation action. In gnome there is the auto screen rotate extension. On chromeOS there is the Ctrl+Shift+Refresh to change orientation by 90 degrees. I would imagine a daemon process can be setup to read the accelerometer and rotate the screen accordingly. This is a one off development.
So my proposal is to have Brunch development implement these generic modules: 4, 5, 7.
Item 6 is not needed, as item 7 will provide a config file to correct the offset.
User community or individual users will provide pull/change requests to provide the device specific kernel modules [3] of their device.
And it is up to the individual user to act on dependencies 1 & 2.
How to prioritize which device will get screen rotation support?
I'd suggest, if a user can give evidence [items 1-7] that their device works in Linux with screen rotation, their pull request will be taken seriously.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I have 2 2-in-1 devices, the Lenovo Flex 5 and Chuwi Freebook N100.
In Brunch screen autorotation does not work, while I got it working on Linux.
I understand that this feature is device specific. However some aspects are generic and could be added as general Brunch patches.
My idea is to add the generic parts by the Brunch developer while device specific parts are contributed by the user who wants support to his/her device.
First my understanding how it works in Linux Gnome. Auto screen rotate depends on the following parts:
For example my Chuwi depends on version 6.9 and my Flex can run on older kernels because the laptop is from 2020.
This is a user responsibility to check whether the kernel version supplied by the Brunch release will support auto rotation
On chromebooks the driver is also dependend on the kernel version, which will normally be backported by Google or manufacturer
Some sensors work depending on some kernel params. For example Flex 5 AMD needs "amd_iommu=off"
This is a user responsibility
For example Chuwi needs: mxc4005 and Lenovo hid_sensor_hub
I don't know how Brunch development can get hold of these specific driver modules
On chromebooks I can see that with "lsmod | grep sensor" I see cros_ec_sensorhub across 2 devices.
So this module is incorportated in the EC software.
Based on these modules the accelerator individual 3d coordinates can be read from devices in /sys/bus/iio/devices/iio:device*/*raw etc.
If I check os://system sensor_info in Brunch on my Flex 5, these files are not available, because the lsmod kernel module has not been installed.
On chromebooks I can see the accelerometer readings.
Linux needs a systemd process to do readings of the accelerometer
This is a generic software, In Brunch I don't know if there is already such a generic process. Chromebook likely use EC platform, which is not available on Brunch
monitor-sensor
Linux has this generic command to see what the laptop orientation is. Sometimes the accelerometer reading is skewed in 90 degrees increments
/etc/udev/hwdb.d/61-sensor-local.hwdb
These settings are device specific and needs to be updated to correct the orientation
If not available, then the screen rotation daemon process has a config file to offset
On chromebooks this directory /etc/udev/hwdb.d is not defined
So my proposal is to have Brunch development implement these generic modules: 4, 5, 7.
Item 6 is not needed, as item 7 will provide a config file to correct the offset.
User community or individual users will provide pull/change requests to provide the device specific kernel modules [3] of their device.
And it is up to the individual user to act on dependencies 1 & 2.
How to prioritize which device will get screen rotation support?
I'd suggest, if a user can give evidence [items 1-7] that their device works in Linux with screen rotation, their pull request will be taken seriously.
Beta Was this translation helpful? Give feedback.
All reactions