A história toda que você mencionou é na verdade um tipo de bug no iio-sensor-proxy ou no seu código DE que faz uso das informações do proxy iio-sensor.
Não é o bios ou o kernel que faz a rotação, mas sim o casamento entre o iio-sensor-proxy e seu ambiente de desktop.
DE como o Gnome (e o Cinnamon como acontece) faz a rotação automática da tela com base nos dados fornecidos pelo iio-sensor-proxy no dbus.
Você pode tentar remover / eliminar o iio-sensor-proxy e a rotação da tela desaparecerá completamente.
Não está claro se isso é um bug do iio-sensor-proxy ou um bug do Cinnamon. Pode ser o iio-sensor-proxy que está lendo de forma errada os dados do seu acelerômetro ou pode ser o Canela que, mesmo que receba dados corretos pelo sensor-proxy, gira a tela incorretamente.
Você pode esclarecer esse problema executando monitor-sensor
no terminal raiz.
Este utilitário vem com o pacote iio-sensor-proxy e exibe no terminal o estado atual da orientação do acelerômetro / tela atual.
Se a orientação é exibida corretamente pelo sensor do monitor, então é um erro do Cinnamon. Mas tenho 90% de certeza de que este é um erro iio-sensor-proxy
e você deve reportar isso ao desenvolvedor.
PS: Também havia sido mencionado que o sensor-proxy estava funcionando bem com kernels até a versão 4.7, mas tinha alguns problemas com o kernel 4.8 e acima. Você poderia tentar instalar um kernel antigo (por exemplo, 4.7) para testes.
Se o monitor-sensor reportar corretamente a orientação e este é um bug do Cinnamon, como uma solução alternativa você pode desativar o recurso de rotação automática de tela do Cinnamon e executar uma espécie de script de shell que fará a rotação correta com base nos dados do monitor-sensor .
PS: O Gnome oferece a opção de desabilitar completamente a rotação automática da tela, não tenho certeza se o Cinnamon também tem essa opção.
No XFCE que o iio-sensor-proxy está instalado, mas os desenvolvedores do XFCE não estão realizando a rotação automática da tela (ainda), aplicamos esse script para ter a rotação automática da tela: link
PS: versão aprimorada para telas de toque com matriz de transformação: link
Atualização para referência futura / futuras "pesquisas no Google"
Como recomendado nos comentários, executando monitor-sensor
em um terminal raiz e observando as mensagens fornecidas pelo iio-sensor-proxy, provou que o iio-sensor-proxy é entendido corretamente a orientação real da tela.
Como resultado, este parece ser um bug do Cinnamon que, apesar de obter informações corretas pelo iio-sensor-proxy, está girando a tela incorretamente.
Você pode desativar o recurso de rotação automática do Cinnamon e experimentar o script de rotação automática, conforme indicado acima ( link ).
Para desativar a autorrotação interna do Cinnamon, você precisa aplicar settings set org.cinnamon.settings-daemon.plugins.orientation active false
, conforme informado no comentário do OP.