Announcement

Collapse
No announcement yet.

Nvidia "force composition pipeline" sets refresh rate to 30hz instead of 60hz

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [Monitors] Nvidia "force composition pipeline" sets refresh rate to 30hz instead of 60hz

    Code:
    # nvidia-settings: X configuration file generated by nvidia-settings
    # nvidia-settings: version 470.57.01
    
    
    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 "LG Electronics LG Ultra HD"
    HorizSync 30.0 - 135.0
    VertRefresh 56.0 - 61.0
    Option "DPMS"
    EndSection
    
    Section "Device"
    Identifier "Device0"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "NVIDIA GeForce RTX 3090"
    EndSection
    
    Section "Screen"
    
    # Removed Option "metamodes" "DP-4: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0"
    # Removed Option "metamodes" "DP-4: nvidia-auto-select +0+0 {ForceCompositionPipeline=On}, DP-2: nvidia-auto-select +3840+0 {ForceCompositionPipeline=On}"
    Identifier "Screen0"
    Device "Device0"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "Stereo" "0"
    Option "nvidiaXineramaInfoOrder" "DFP-7"
     Option  "metamodes" "DP-4: 3840x2160_60 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-2: 3840x2160_60 +3840+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option "SLI" "Off"
    Option "MultiGPU" "Off"
    Option "BaseMosaic" "off"
    SubSection "Display"
    Depth 24
    EndSubSection
    EndSection
    Not sure where to go from here. Nothing actually says it's running at 30hz, but it clearly is (tested with testufo.com, could probably try something better). It *does* fix my awful screen tearing issue...

    #2
    xrandr will show you the refresh rate info

    Since you have not given your Kubuntu version and kernel being used, it might be worth looking at a more recent kernel, or trying more recent drivers - the 510 iirc is the latest, though may still be a beta..

    There are also numerous discussions about ForceCompositionPipeline, out there, and there may be other alternatives. Being Nvidia, this seems to be a constantly moving target, though.

    You have both ForceCompositionPipeline andForceFullCompositionPipeline, you might try turning off the latter and see if that helps.


    Comment


      #3
      Sorry, yeah I should've included this the first time.

      KDE Plasma Version: 5.22.2
      KDE Frameworks Version: 5.86.0
      Qt Version: 5.12.0
      Kernel Version: 5.13.0-28-generic (64-bit)
      Graphics Platform: X11

      Nvidia driver: 510.47.03

      Code:
      machi@machi-kde:~$ xrandr
      Screen 0: minimum 8 x 8, current 7680 x 2160, maximum 32767 x 32767
      DP-0 disconnected (normal left inverted right x axis y axis)
      DP-1 disconnected (normal left inverted right x axis y axis)
      DP-2 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 600mm x 340mm
      3840x2160 60.00*+ 30.00
      2560x1440 59.95
      1920x1080 60.00 59.94
      1600x900 60.00
      1280x1024 60.02
      1280x800 59.81
      1280x720 60.00 59.94
      1152x864 59.96
      1024x768 60.00
      800x600 60.32
      720x480 59.94
      640x480 59.94 59.93
      DP-3 disconnected (normal left inverted right x axis y axis)
      HDMI-0 disconnected (normal left inverted right x axis y axis)
      HDMI-1 disconnected (normal left inverted right x axis y axis)
      HDMI-2 disconnected (normal left inverted right x axis y axis)
      DP-4 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
      3840x2160 60.00*+ 30.00
      2560x1440 59.95
      1920x1080 60.00 59.94
      1600x900 60.00
      1280x1024 60.02
      1280x800 59.81
      1280x720 60.00 59.94
      1152x864 59.96
      1024x768 60.00
      800x600 60.32
      720x480 59.94
      640x480 59.94 59.93
      DP-5 disconnected (normal left inverted right x axis y axis)
      With "ForceCompositionPipeline" off, I get *terrible* screen tearing, to the point of it being unusable. With it on, I get 30hz.

      When it comes to the screen tearing, I've tried a couple other things, but nothing seems to work... And when I keep searching, the main solution is "ForceCompositionPipeline".

      Comment


        #4
        A bit dated, but maybe it might be helpful? https://unix.stackexchange.com/quest...dia-gpu-driver
        Using Kubuntu Linux since March 23, 2007
        "It is a capital mistake to theorize before one has data." - Sherlock Holmes

        Comment


          #5
          Unfortunately it's not (as far as I can tell) - the setting they're talking about is the one that's causing the refresh rate to be 30hz :/

          Comment


            #6
            You did see NOTE: You can either do ForceFullCompositionPipeline or ForceCompositionPipeline only. Just change the text as you need.

            As claydoh noted, you had/have both ForceCompositionPipeline and ForceFullCompositionPipeline in your
            X configuration file generated by nvidia-settings
            Code:
            Option "metamodes" "DP-4: 3840x2160_60 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-2: 3840x2160_60 +3840+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
            It seems to be implied that only one of these options can be used.
            Using Kubuntu Linux since March 23, 2007
            "It is a capital mistake to theorize before one has data." - Sherlock Holmes

            Comment


              #7
              Hmm, interesting. In nvidia-settings, if "ForceFullCompositionPipeline" is enabled, it also enables the other. I'll try just enabling full for fun

              Comment


                #8
                After enabling just "ForceFullCompositionPipeline", "ForceCompositionPipeline" also gets enabled, even though I have it set to off. And I get the same result - no tearing, but 30hz

                Comment


                  #9
                  Code:
                  DP-2 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 600mm x 340mm
                  3840x2160 60.00*+ 30.00
                  and

                  Code:
                  DP-4 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
                  3840x2160 60.00*+ 30.00
                  are indicating that both screens are running at 60hz (the '*'), which is also the preferred resolution (the '+')

                  Comment


                    #10
                    They're indicating that yeah, but they're clearly not when I do anything. Even moving my mouse around feels different, and at testufo.com both the 1st and 2nd lines look the same. When I have "ForceCompositionPipeline" off, the first one is much clearer.

                    Comment


                      #11
                      Originally posted by Muchieman View Post
                      They're indicating that yeah, but they're clearly not when I do anything. Even moving my mouse around feels different, and at testufo.com both the 1st and 2nd lines look the same. When I have "ForceCompositionPipeline" off, the first one is much clearer.
                      I'd trust the output of xrandr over a webpage, to be honest, though of course your eyes are not lying. Perhaps the issue is not related to the refresh rate at all. Browser tests will be affected by things such as the specific browser's video acceleration support.
                      But what does https://testufo.com/refreshrate show? It doesn't run of Firefox for me, but does show my correct refresh on Chrome

                      https://devicetests.com/refresh-rate-test
                      https://www.vsynctester.com/detect.html


                      I am trying to find an old post somewhere on the web that helped fix tearing for me back when I still used Nvidia, Still looking. Probably grossly outdated now, though.

                      Comment


                        #12
                        I've switched back to gnome, and I took that opportunity to try out fedora. I play games with my friends, and I just want what I'm using to work at the moment. I might go back in and try to figure out what's going on later.

                        As for the test ufo theory, I get what you're saying, but the only reason I went to testufo.com was because I could tell there was a difference in just moving my mouse around. The whole system was running at 30hz... Not sure why.

                        Here's what the tearing looked like when "ForceCompositionPipeline" was off: https://www.youtube.com/watch?v=thUGh5LKwaY

                        It was like an upper portion of the display was consistently slower... It wasn't a tear every so often, it was a constant tear. The tear would slowly move down.

                        Comment

                        Working...
                        X