8 votes

Permet la rotation en mode portrait mais pas la rotation de l'écran externe

Pour éviter que cette question ne soit signalée comme étant un doublon, j'ai inclus une liste de questions similaires à la fin de ce billet, avec une explication de la raison pour laquelle ma question est différente. Veuillez lire ces raisons avant de signaler cette question comme étant un doublon !


J'essaie de trouver comment faire en sorte que mon Nexus 5, en mode portrait, s'affiche sur un écran externe, en mode portrait (connecté via SlimPort/HDMI).

En mode paysage, tout va bien :

Landscape mode, monitor on left, phone on right

Cependant, en mode portrait, le signal est toujours émis comme s'il était destiné à être affiché sur un écran paysage, ce qui ne fonctionne pas du tout si l'écran est en mode portrait :

Portait mode, monitors left and middle, phone on right

Vous pouvez voir ici qu'en mode paysage et portrait, le téléphone émet le même signal 1920x1080, sauf qu'en mode portrait, le contenu de l'écran est tourné par le GPU du téléphone et affiché comme une image 607x1080 au milieu de l'écran 1920x1080. (Il ne s'agit pas, comme certaines personnes l'ont suggéré, d'un signal 1080x1920 que le moniteur centre. Vous pouvez le vérifier car le changement du téléphone entre paysage et portrait montre une belle animation de rotation et le moniteur ne perd pas la synchronisation comme il le ferait si la résolution changeait).

Puisque le téléphone, lorsqu'il est en mode portrait, fait pivoter l'image envoyée à l'écran externe, je veux désactiver cette fonction pour que l'image soit envoyée telle quelle, sans rotation. Cela apparaîtra bien sûr comme une erreur sur un écran en mode paysage, mais lorsque vous ferez pivoter cet écran en mode portrait, tout ira bien :

enter image description here

Existe-t-il un moyen de désactiver cette rotation, afin qu'un écran externe en mode portrait puisse afficher le contenu du téléphone lorsqu'il est lui aussi en mode portrait ?


Des questions similaires ont été posées auparavant, mais aucune ne cherche la même solution :

2voto

chonigman Points 21

Je sais que c'est un vieux post mais je venais de traiter un problème similaire mais en essayant de projeter l'écran d'un appareil Pixel 2 sur un écran portrait et je rencontrais beaucoup de problèmes. Le principal problème semble être que les Pixel 2 et 3 ne semblent pas prendre en charge la sortie HDMI, de sorte que ces propriétés ne résolvent pas le problème.

Cependant, j'ai pu trouver la solution en suivant le lien que Malvineous a posté dans un commentaire ci-dessus. Juste en dessous du code traitant du réglage persist.demo.hdmirotation il existe un autre paramètre appelé persist.demo.remoterotation ainsi qu'un autre appelé persist.demo.rotationlock . C'était la clé pour qu'un téléphone soit projeté en mode portrait sur l'écran. Ces paramètres semblent exister dans les versions 8.0 et 9.0 d'Android, bien que j'aie rétrogradé mon Pixel 2 en 8.0 en essayant de comprendre cela et que je n'ai pas encore testé sur la 9.0.

Pour en arriver là, plusieurs étapes ont été nécessaires, qui sont décrites ci-dessous.

  1. Vous devez déverrouiller et Rooter votre téléphone (j'ai utilisé MagiskManager pour aider au Root et j'ai trouvé ce guide très utile car il explique un peu plus en détail ce qu'il faut faire exactement pour ceux qui, comme moi, ne l'avaient jamais fait auparavant).
  2. En utilisant l'outil adb, lancez le shell adb sur votre appareil connecté et enraciné. adb shell
  3. Activez le super-utilisateur en entrant su dans le shell (pour moi, cela a nécessité l'étape supplémentaire d'aller dans MagiskManager et de permettre à SuperUser d'accéder au shell).
  4. Entrez les lignes suivantes dans le shell pour créer et définir ces propriétés :

    setprop persist.demo.remoterotation portrait
    setprop persist.demo.rotationlock false

Une fois que cela était réglé, j'ai projeté l'écran de mon Pixel 2 sur un appareil chromecast et il était dans l'orientation portrait souhaitée. J'espère que cela aidera toute personne qui essaiera de résoudre ce problème à l'avenir.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X