3 votes

Problème de résolution d'écran en utilisant un séparateur VGA

Matériel informatique

J'ai la configuration matérielle suivante :

  • PC en marche Ubuntu 10.04
  • Carte vidéo embarquée avec une sortie VGA (Intel P4M800 - Via Unichrome)
  • Répartiteur VGA : 1 entrée, 4 sorties. Jusqu'à 2048x1536 (selon les spécifications)
  • Un téléviseur/moniteur 42'' connecté au répartiteur via son entrée VGA
  • Deux téléviseurs/moniteurs de 32'' connectés au répartiteur via son entrée VGA

Problème

Avec cette configuration, Ubuntu n'affiche que 640x480 et 800x800 comme résolutions possibles. Cependant, si je connecte l'un des téléviseurs/moniteurs directement au PC (via VGA), Ubuntu affiche une longue liste de résolutions possibles (j'en ai essayé plusieurs et elles fonctionnent bien).

Il semble que Système X Window La configuration automatique ne fonctionne pas correctement. Comment puis-je le configurer manuellement ? Quelles informations faut-il connaître au préalable sur les différents appareils concernés ?


Le contexte : Les moniteurs sont installés dans les espaces publics d'un bâtiment pour afficher des informations dynamiques qui sont traitées dans le PC (une présentation Flash fonctionnant dans Firefox en mode plein écran).

Mise à jour :

J'ai essayé ce qui suit, comme le disait le lien fourni dans les réponses :

  1. Obtenez la modélisation de la résolution en utilisant cvt

  2. Créé le nouveau mode en utilisant xrandr --newmode

  3. Ajout du mode à l'affichage de sortie en utilisant xrandr --addmode

  4. J'ai essayé de changer la résolution en utilisant xrandr --output ... --mode ...

Mais je comprends ça : xrandr screen cannot be larger than 800x600 (desired size ...)

3voto

Jeroen Dierckx Points 394

Voici comment fonctionne l'autodétection des moniteurs : Le micrologiciel de chaque moniteur contient un ensemble de données appelé EDID qui code les résolutions, les taux de rafraîchissement, etc. du moniteur. Le pilote vidéo fait un appel matériel pour récupérer ces données, via la connexion carte vidéo/moniteur.

Les séparateurs (comme les KVM) manipulent le chemin de la carte au moniteur. Certains KVM transmettent l'EDID correctement, d'autres non. Je pense que votre séparateur ne permet pas à l'EDID d'être renvoyé.

En effet, je suppose que l'appel système a une hypothèse intégrée qu'un seul morceau EDID est présent sur un connecteur donné, donc même s'il retournait quelque chose, ce ne serait probablement pas ce que vous vouliez.

De plus, alors que tous les moniteurs renvoient l'EDID, certains téléviseurs ne le font pas, ou renvoient un EDID corrompu. Mais puisque vous l'avez testé sans le splitter et que cela a fonctionné correctement, je ne pense pas que ce problème vous concerne.

Les différents moniteurs prennent en charge différents ensembles de résolutions et de fréquences, mais tous les moniteurs sont tenus par la norme VESA d'en prendre en charge au moins deux : 640x480 et 800x600. Ainsi, lorsque X ne sait rien du moniteur qui lui est connecté, il se rabat sur ces deux résolutions. C'est pourquoi ce sont les seules que vous voyez disponibles.

Quoi qu'il en soit, je pense que dans ce cas, vous ne pouvez pas compter sur l'EDID pour que vos moniteurs soient auto-configurés comme par magie. Au lieu de cela, vous devrez spécifier manuellement les données vous-même.

Si vous aviez spécifié votre pilote vidéo ou lié à votre Xorg.0.log, je pourrais vous donner des informations plus spécifiques. La procédure varie en fonction du pilote vidéo que vous utilisez. S'il s'agit d'un pilote activé par KMS comme -intel ou -ati, vous devez le spécifier via le noyau. Si vous avez désactivé KMS ou si vous utilisez un pilote non-KMS, mais que le pilote supporte RANDR (par exemple -fglrx), vous pouvez ajouter une modélisation en utilisant l'outil de ligne de commande xrandr tel que documenté en bas de la page https://wiki.ubuntu.com/X/Config/Resolution . Si vous utilisez un pilote non-KMS, non-RANDR tel que -nvidia, il est entièrement contrôlé dans votre /etc/X11/xorg.conf ; dans ce dernier cas, vous devrez rechercher les taux de rafraîchissement vertical et horizontal pour tous les moniteurs (en espérant qu'ils soient tous proches des mêmes plages, sinon vous êtes foutu), puis les spécifier via les options HorizSync et VertRefresh dans xorg.conf. Vous devrez également ajouter la résolution dans le fichier xorg.conf. Possiblement vous devrez peut-être construire une ModeLine également, mais je parie que l'HorizSync et le VertRefresh suffiront.

Bonne chance, et si vous êtes bloqué, n'oubliez pas de poster votre /var/log/Xorg.0.log.

1voto

jhornnes Points 1211

Il semble que X ne soit pas capable de détecter correctement la résolution du séparateur.

Vous pouvez le forcer à utiliser des résolutions arbitraires en utilisant xrand. Il existe quelques documentation sur elle, vérifiez le Ajout d'une section sur les résolutions non détectées et le Réglage du changement persistant de Xrand .

SistemesEz.com

SystemesEZ est une communauté de sysadmins 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