web-dev-qa-db-fra.com

Essayer de configurer la rotation du moniteur (nvidia) dans 18.04

Je fonctionnais bien en 16.04 sur une machine très similaire.

Ce que je veux: je veux dire à X de commencer avec un affichage particulier pivoté, s'il est présent. Je veux aussi utiliser le pilote nvidia, pas nouveau, et avoir des performances décentes sans déchirer l'écran.

Je me moque de toute façon de "nvidia Prime", mais pour autant que je sache, c'est pourquoi cela ne fonctionne pas; jamais interagir avec moi ou mon ordinateur portable à nouveau. Je me fiche de l'impact marginal sur la vie de la batterie.

Dans Ubuntu 16.04, je pourrais configurer xorg.conf et faire ceci:

 "MetaModes" "DFP-3: 2560x1600 +0+0 {rotation=left, ForceCompositionPipeline=On}, DFP-4: {ForceCompositionPipeline=On}"

En 18.04, il n’existe aucune valeur qui fonctionne ici, car lorsque nvidia est affiché, il indique que tous les périphériques sont déconnectés; quelques secondes plus tard, après une étude plus approfondie, il commence à rechercher des éléments portant des noms tels que "DP-1-1" qui peuvent être connectés ou vérifiés. Mais ces noms n'existent pas encore lorsque les fragments xorg.conf sont lus. Ainsi, la ligne MetaModes est ignorée car elle ne s'applique à rien.

Je peux accepter que je sois forcé d’exécuter manuellement xrandr plus tard, mais cela semble stupide. Je me fiche de ou je ne veux pas être premier. Si cela disparaissait et que le pilote nvidia ne faisait que sonder les écrans normalement, j'aurais le comportement souhaité.

Existe-t-il un paramètre ou un crochet nécessaire quelque part pour dire au pilote nvidia d'arrêter d'essayer de trop penser à cela? Je ne peux pas désinstaller Nvidia-prime; Je veux dire, je peux, mais tout se casse alors. Il existe un élément appelé gpu-manager, qui oblige tout le monde à utiliser prime, mais ne dispose pas non plus de documentation, ni d'aide -, et est fondamentalement exactement le contraire de la bonne ingénierie logicielle. Si je le supprime (par exemple, en le remplaçant par un script qui ne fait rien du tout), il arrête activement de casser des choses, mais les choses ne sont pas réellement réparées. Si je le désactive, et que le code 11-nvidia-prime.conf est activé, il semble que le pilote nvidia finisse par ne pas être utilisé du tout.

nvidia-settings ne peut plus générer de fichier de configuration ("xorg-server n'a pas été trouvé dans le chemin de recherche de pkg-config"), et toute tentative d'utilisation d'une configuration qui fonctionne à partir d'une machine fondamentalement identique exécutant 16.04 n'a pas trouvé d'écrans valides , en raison du problème "tout se trouve comme déconnecté initialement".

J'imagine en quelque sorte que le support de prime a amené celui-ci à désactiver tous les écrans jusqu'à ce que celui-ci ait la possibilité de le dire, mais je ne sais pas comment contourner ce problème ou le supprimer.

EDIT: revenant un peu plus tard, j'ai vérifié plus attentivement. Les autres ordinateurs portables utilisent également nvidia-prime, ce qui fait de prime le premier problème. L'ordinateur portable le plus ancien est 16.04 avec nvidia-384, le plus récent est 18.04 avec nvidia-390. Générations légèrement différentes; plus vieux est un quadro M2000, le nouveau est un quadro M2200, je pense.

Mise à jour, quelques mois plus tard: Pour des raisons, ordinateur portable rechargé. Au cours de l’installation, vous avez remarqué qu’un paramètre du BIOS autoriserait la désactivation complète du basculement de processeur graphique, ce qui permet de mieux fonctionner. Je reçois des noms semi-cohérents pour les périphériques d'affichage et ils sont reconnus lors du démarrage.

Malheureusement, la ligne MetaModes, bien qu'elle semble maintenant penser qu'elle est appliquée, n'applique pas la rotation:

[ 12.087] (II) NVIDIA(0): Setting mode "DP-0:nvidia-auto-select+0+0{rotation=left,ForceCompositionPipeline=On}" ... [ 13.177] (II) NVIDIA(0): Setting mode "NULL" [ 13.233] (II) NVIDIA(0): Setting mode "DP-0: nvidia-auto-select @2560x1600 +0+0 {ViewPortIn=2560x1600, ViewPortOut=2560x1600+0+0, ForceCompositionPipeline=On}"

Donc, on ignore la "rotation = à gauche". Je note également que nvidia-settings semble avoir supprimé la spécification explicite de 1600x2560. Je vais continuer à jouer avec ça.

1
Seebs

Il semble que ~/.config/monitors.xml annule les paramètres de position et d'orientation que Nvidia place dans son MetaMode dans xorg.conf, aussi éditez ~/.config/monitors.xml et ajoutez:

<transform>
  <rotation>left</rotation>
  <flipped>no</flipped>
</transform>

entre les balises <scale> et <monitor> sous le bloc <logicalmonitor> pour le moniteur que vous souhaitez faire pivoter, ainsi que pour ajuster la rotation et l'inversion de votre moniteur.

1
Acid