XBMC resets NVIDIA overscan/scaling (ViewPortOut)

  • Wenn XBMC die Displayfrequenz ändert, wird das Scaling aufgehoben und Overscan tritt auf.


    Habe folgende drei Settings:

    Code
    1. DISPLAY=:1 nvidia-settings --assign CurrentMetaMode="HDMI-0: 1920x1080 { ViewPortOut=1808x1013+48+34, ViewPortIn=1920x1080 }"
    2. DISPLAY=:1 nvidia-settings --assign CurrentMetaMode="HDMI-0: 1920x1080_60i { ViewPortOut=1808x1013+48+34, ViewPortIn=1920x1080 }"
    3. DISPLAY=:1 nvidia-settings --assign CurrentMetaMode="HDMI-0: 1920x1080_60i_0 { ViewPortOut=1808x1013+48+34, ViewPortIn=1920x1080 }"


    Im XBMC Menu stehend

    Code
    1. # DISPLAY=:1 xrandr -q
    2. 1920x1080 25.0 + 30.0* 30.0
    3. # DISPLAY=:1 nvidia-settings --query CurrentMetaMode
    4. Attribute 'CurrentMetaMode' (minerva11:1.0): id=50, switchable=no, source=nv-control :: DPY-3: 1920x1080_60i @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1808x1013+48+34}


    Rufe ich ein Youtube video (oder VDR LiveTV abhängig von der Auflösung) änder XBMC die Frequenz und Overscan tritt auf:


    Code
    1. # DISPLAY=:1 xrandr -q
    2. 1920x1080 25.0 + 30.0 30.0*
    3. # DISPLAY=:1 nvidia-settings --query CurrentMetaMode
    4. Attribute 'CurrentMetaMode' (minerva11:1.0): id=50, switchable=no, source=RandR :: DPY-3: 1920x1080_60i_0 @1920x1080 +0+0


    Wenn ich im Menu stehend bereits die für das Youtube Video benötigte Frequenz setze

    Code
    1. DISPLAY=:1 nvidia-settings --assign CurrentMetaMode="HDMI-0:
    2. 1920x1080_60i_0 { ViewPortOut=1808x1013+48+34, ViewPortIn=1920x1080 }"
    3. # DISPLAY=:1 xrandr -q
    4. 1920x1080 25.0 + 30.0 30.0*
    5. # DISPLAY=:1 nvidia-settings --query CurrentMetaMode
    6. Attribute 'CurrentMetaMode' (minerva11:1.0): id=50, switchable=no, source=RandR :: DPY-3: 1920x1080_60i_0 @1920x1080 +0+0


    und das Youtube Video starte, tritt kein Overscan auf, da die Frequenz nicht geändert muss wurden

    Code
    1. # DISPLAY=:1 xrandr -q
    2. 1920x1080 25.0 + 30.0 30.0*
    3. # DISPLAY=:1 nvidia-settings --query CurrentMetaMode
    4. Attribute 'CurrentMetaMode' (minerva11:1.0): id=50, switchable=no, source=RandR :: DPY-3: 1920x1080_60i_0 @1920x1080 +0+0



    MythTV und VDR LiveTV ändern die Overscan/Scaling Settings nicht, nur XBMC. Gibt es eine Einstellung in XBMC, sodass das Scaling nicht mehr verändert/resetted wird ?


    Simon

  • Man muss den Overscan AFAIK für jeden möglichen Video-Modus separat konfigurieren - in den Systemeinstellungen kann man ja durchschalten...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hat wunderbar funktioniert.


    Nach einem refresh rate wechsel verliert man zwar das treiber scaling, es wird vermütlich anders gescaled.


    Code
    1. DISPLAY=:1 nvidia-settings --query CurrentMetaMode
    2. Attribute 'CurrentMetaMode' (minerva11:1.0): id=50, switchable=no, source=RandR :: DPY-3: 1920x1080_60i_0 @1920x1080 +0+0


    Die settings findet man unter System Einstellungen/System/Video Output. Trickreich ist allerdings, dass man die refresh rate muss wählen und weiter mit linke pfeiltaste dann auch tatsächlich den refresh rate wechseln (Bestätigungsbox).
    Nachher das scaling im "Video Calibrations" durchführen.
    Und dies für alle refresh rates, welche man benötigt.


    Erstaunlich, nach dem Beenden von XBMC (und auch mit einem kill -9) liefen MythTV und VDR wieder mit den voreingestellten NVIDIA scalings.


    Weiter habe ich System Einstellungen/Video/Playback - Pause during refresh rate change, von 2 sec auf off gesetzt ohne bemerkliche problemen (10 Minuten getestet). Ist dies OK oder eher nicht zu empfehlen ? Was wäre ein guter wert ?


    Vielen Dank für den Hinweis
    Simon

  • Nach einem refresh rate wechsel verliert man zwar das treiber scaling, es wird vermütlich anders gescaled.


    Ja, das steht glaube ich aber auch irgendwo im XBMC-Wiki, dass XBMC das im Vollbildmodus anders handhabt als im Fensterbetrieb (wo es keine dynamische Frequenzumschaltung gibt und der Treiber das Sagen hat).

    Weiter habe ich System Einstellungen/Video/Playback - Pause during refresh rate change, von 2 sec auf off gesetzt ohne bemerkliche problemen (10 Minuten getestet). Ist dies OK oder eher nicht zu empfehlen ? Was wäre ein guter wert ?


    Soweit ich die Einstellung verstanden habe ist das eher für den User gedacht, damit er durch den Frequenzwechsel nichts vom Film verpasst - denn bis eine HDCP-Verbindung wieder steht brauchen einige Geräte ein bisschen länger.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)