2010-10-15 34 views
1

Je voudrais connaître le code de fonction/source_file qui fait pivoter l'écran de 90/180/270 degrés en utilisant l'outil xrandr?Quelle méthode fait pivoter l'écran dans Xserver

xrandr -o -o gauche xrandr droite xrandr -o -o inversé xrandr normale

Quelle fonction invoque rotation de l'écran en utilisant Xserver au-dessus des commandes?

Cordialement, Levon

Répondre

0

Il y a deux extensions différentes X qui gèrent la rotation interne des fenêtres. Le plus fondamental est RANDR et son code source se trouve dans le répertoire randr de niveau supérieur de la source X Server. L'extension MODES qui prend en charge les périphériques à plusieurs têtes et qui expose les sorties et les CRTC répertoriés dans les résultats de l'appel de xrandr, est la deuxième extension qui fonctionne avec les fenêtres tournantes. MODES peut être trouvé dans le sous-répertoire hw/xfree86/modes de la source du serveur X.

Si un pilote X utilise directement RANDR, il doit fournir un certain nombre de fonctions permettant à RANDR de tourner et d'afficher les fenêtres. Si vous utilisez MODES, il se positionne comme une couche entre RANDR et votre pilote, et vous devez donner à MODES un ensemble de fonctions plus limité et gérer une grande partie du travail. Cela dit, je n'ai pas encore eu de MODES pour faire tourner une fenêtre dans le X Driver que j'écris, probablement parce que RANDR et MODES sont pratiquement non documentés et qu'il est loin d'être clair quels sont leurs modèles de traitement d'image.

0

L'une des fonctions /usr/include/X11/extensions/Xrandr.h - probablement XRRSetScreenConfig - utilise l'extension RANDR pour demander au serveur de configurer un tas de choses, y compris la rotation. C'est ce que l'outil de ligne de commande xrandr utiliserait. Si vous demandez ce qui fait réellement le travail, c'est une question plus difficile - le serveur X, en supposant qu'il supporte l'extension RANDR, peut utiliser du code générique, bien qu'il soit plus probable qu'il utilise un code très spécifique au chipset, pour faire le travail lors du rendu du cadre ...

0

Yo doit vérifier

xrandr --output --rotate left 

si elle ne fonctionne pas peut-être votre pilote X ne prend pas en charge la rotation ou il est désactivé. Essayez

Option   "RandRRotation" "True" 

dans la section écran /etc/X11/Xorg.conf fichier