web-dev-qa-db-fra.com

Comment puis-je obtenir un moniteur 4k sur DisplayPort 1.2 pour qu’il s’affiche sur un seul écran?

Je viens de prendre un UP2414Q et je l'ai connecté via displayport 1.2 qui fonctionne à 60hz. Le problème, c’est qu’il finit par montrer X deux écrans, en quelque sorte, de sorte que je finis par agir comme si j’avais deux moniteurs dans mon cadre de 24 ".

Je suis passé par les paramètres de nvidia et je ne trouve pas un moyen de les amener à se connecter comme un seul écran large. J'ai trouvé des indices pour faire des choses comme

OPTION "TwinViewXineramaInfoOverride" "3840x2160+0+0"

ou

Option "NoTwinViewXineramaInfo" "1"

Ni qui a fonctionné. Je me demande s'il me manque une autre partie du puzzle. Toute suggestion sur la façon de corriger ma configuration serait appréciée. Je gère actuellement une nouvelle version quotidienne de trusty dans l'espoir que les pilotes X et nvidia plus récents apporteraient leur aide.

J'ai collé sous ma configuration X actuelle et lié au journal X ci-dessous.

Voici une capture d'écran de la configuration actuelle du double affichage. Notez que le gestionnaire de fenêtres agit comme s'il y avait deux moniteurs différents.

http://uploads.mitechie.com/xorg-setup.png

Fichier journal: http://paste.ubuntu.com/6654719/

sortie xrandr: http://paste.ubuntu.com/6669699/

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 331.20  (buildd@batsu)  Mon Dec  9 17:08:08 UTC 2013

xdpyinfo -ext XINERAMA | queue -2

head #0: 1920x2160 @ 0,0
head #1: 1920x2160 @ 1920,0

xorg.conf

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Dell UP2414Q"
    HorizSync       31.0 - 140.0
    VertRefresh     29.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 660 Ti"
EndSection

Section "Screen"

# Removed Option "metamodes" "DP-1.8: 1920x2160_60 +1920+0, DP-1.9: 1920x2160_60 +0+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-4.8"
    Option         "metamodes" "DP-1.8: nvidia-auto-select +1920+0, DP-1.9: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Références:

13
Rick

Je travaille sur le même problème avec un Panasonic TC-L65WT600, et bien que je n’aie pas trouvé de solution parfaite, j’ai trouvé cette solution de contournement qui a un peu fonctionné pour moi.

Ajouter la ligne

Option "Xinerama" "1"

sur votre xorg.conf Section "ServerLayout".

C'est contre-intuitif, car cela casse à la fois Xinerama et RandR. Le pilote NVIDIA possède sa propre implémentation de Xinerama et RandR. En activant l’extension Xinerama standard, il entre en conflit avec l’implémentation de NVIDIA, les deux effets étant désactivés.

Je n'ai pas testé cela à fond pour voir si ça casse autre chose, mais ça vaut le coup d'essayer comme solution temporaire ...

6
kgutwin
  • Donc, je suppose que vous avez suivi le guide d’utilisation du moniteur pour savoir comment autoriser la résolution 4K. lien Page 45-46:

    Configuration de l’affichage DP1.2

    Le paramètre d'usine par défaut de l'UP2414Q est DP1.1a. Pour activer 3840 x 2160 à 60 Hz, assurez-vous que la carte graphique de la source DP est certifiée DP1.2 avec la fonctionnalité MST, capable de prendre en charge une résolution allant jusqu'à 3 840 x 2160 à 60 Hz, et que son pilote prend en charge le paramètre DisplayID v1.3, puis modifiez-le. le paramètre DP à DP1.2 en procédant comme suit: ...

    Lisez le reste du manuel

  • J'ai regardé votre GPU ici . Il dit qu'il prend en charge DP1.2 MST. (Si j'ai bien compris) Cela ne devrait donc pas poser de problème.

  • Je n'avais aucune idée du fonctionnement de cette 4K, j'ai donc cherché quelques informations supplémentaires sur ce sujet. Il semble donc que la manière habituelle pour le moniteur de se présenter sous forme de deux affichages, et il vous suffit d'activer l'étalement horizontal pour la carte nvidia. (Pour que les deux écrans deviennent un grand écran virtuel.)

  • J'ai consulté le fichier Lisez-moi du pilote nvidia, chapitre 12 . Sur la base des informations données ici et de ces lignes dans votre Xorg.log:

    [   259.448] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
    [   263.248] (II) NVIDIA(0): Setting mode "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0" 
    

    Je pense que votre pilote est correctement configuré pour imiter un écran virtuel commun au serveur X.

  • Plus tard dans le journal viennent ces lignes:

    [   264.017] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   272.635] (II) XKB: reuse xkmfile /var/lib/xkb/server-75DD9E258FEFC19A572284D7C4A5BC6BFE771BAD.xkm
    [   336.272] (II) NVIDIA(0): Setting mode "DPY-6:nvidia-auto-select+1920+0,DPY-7:nvidia-auto-select+0+0"
    

    La première ligne définit un mode qui ne correspond pas au mode souhaité, car les deux écrans seront inversés en raison du décalage + 1920 + 0 des deux. (Si j'ai bien compris) Mais la ligne suivante rétablit immédiatement le mode correct. Et la dernière ligne de ceux-ci, qui arrive une minute plus tard que les autres, je ne sais pas ce que c'est, d'où sont venus les écrans DPY-x.

    Ma seule hypothèse est que, lorsque le pilote nvidia indique la taille d'écran virtuelle correcte, il indique:

    [   259.448] (II) NVIDIA(0):     "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0"
    

    alors que c’est la fin (ou presque) de la ligne:

    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    

    Et cela signifie que le décalage est l'opposé dans ces deux lignes. Ainsi, dans le premier cas, l’affichage DP-1.9 est le premier et le DP-1.8, le second, mais dans le dernier cas, l’ordre change. Comme vous n'avez pas fourni d'image de l'écran, je ne peux pas savoir que votre problème est que si vous sortez avec le curseur à droite, il revient à gauche. Mais je peux essayer de définir le métamode sur l'ancien. Alors changez cette ligne:

       Option         "metamodes" "DP-1.8: nvidia-auto-select +1920+0, DP-1.9: nvidia-auto-select +0+0"
    

    à celui-ci

       Option         "metamodes" "DP-1.8: nvidia-auto-select +0+0, DP-1.9: nvidia-auto-select +1920+0"
    

    Ou essayez l'option MetaModeOrientation avec quelque chose comme:

       Option "MetaModeOrientation" "DP-1.8 RightOf DP-1.9"
    

Donc c'était mes 2 cents dans ce problème. J'espère que ce n'est pas totalement inutile dans votre cas.

4
falconer

J'ai eu le même problème et j'ai presque trouvé une solution.

Supposons que vous démarrez avec SST, c.-à-d. DisplayPort 1.2 désactivé dans le menu OSD du moniteur. xrandr -q indique que vous êtes en mode 30Hz et que vous ne pouvez pas le forcer à 60Hz car SST ne le prend pas en charge.

Basculez DP 1.2 sur dans OSD. L'écran est maintenant en MST, mais randr ne l'est pas - et vous ne pouvez toujours pas forcer 60Hz. Dans le terminal, écrivez xrandr --output DP-1 --off (remplacez DP-1 par l’identifiant approprié). L’écran s’éteint brièvement puis se rallume. Vous êtes maintenant dans MST, et vérifier xrandr -q confirmera que vous avez 60Hz!

Le problème est que vous avez un arrière-plan dupliqué, une barre de menus sur seulement la moitié de l'écran au lieu de couvrir tout l'écran, Youtube et la superposition vidéo ne maximisent que la moitié de l'écran.

Ceci est apparemment une lacune de randr . Les conseils ci-dessus proviennent d’Aaron Plattner de nVidia, en réponse à ma requête sur comment activer MST à 60Hz pour les moniteurs 4K sous Linux .

Le problème n'est pas résolu et il a contacté la communauté randr pour trouver une solution. Donc, si quelqu'un au courant lit ceci, veuillez consulter le fil de discussion ci-dessus pour plus d'informations afin que nous puissions démarrer le bal!

1
bramford

Ok, je faisais cela avec des cartes vidéo double tête avec ports VGA et DVI. Je pense que cela pourrait fonctionner avec les ports DP1. Je pense que xrandr serait l'outil à utiliser. http://www.thinkwiki.org/wiki/Xorg_RandR_1.2

  1. Exécutez une requête pour voir ce qui est connecté.

    xrandr -q
    
  2. Essayez une résolution de test:

    xrandr --output DP1 --mode 3840x2160
    
  3. Créez une ModeLine. Ceci est important pour obtenir un taux de rafraîchissement correct et éviter de brûler prématurément le moniteur. Utilisez cvt: http: slashslash linux.die.net/man/1/cvt

    cvt 3840 2160 30
    
  4. Ajoutez cette ModeLine à xorg.

  5. Lisez cette page pour définir les modifications de xrandr de manière persistante:

  6. Vous devrez peut-être modifier xorg pour ajouter une sous-section appelée virtual.

0
Steve Morris