[nVidia] When/Why use ForceCompositionPipeline?

While reading some posts i noticed this setting being used.
But I want to make an educated choice if i should actually use it also or not…

So when should one use:

  • ForceCompositionPipeline=On
  • ForceFullCompositionPipeline=On

I’m currently using:

My current 90-nvidia-custom.conf
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 440.100

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

Section "Files"

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"

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

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "LG Electronics"
    ModelName      "LG ULTRAWIDE"
    HorizSync       30.0 - 90.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
#	Option "NoLogo" "1"

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24

Section "Extensions"
    Option         "COMPOSITE" "Enable"

Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
> ls -la /etc/X11/xorg.conf.d/| xclip
total 16
drwxr-xr-x 1 root root  132 Eki 20 12:32 .
drwxr-xr-x 1 root root   44 Eki  1 16:59 ..
-rw-r--r-- 1 root root  307 Eki 16 15:09 00-keyboard.conf
-rw-r--r-- 1 root root  131 Eki  1 17:01 30-touchpad.conf
lrwxrwxrwx 1 root root   27 Eki 17 10:42 .90-mhwd.conf -> /etc/X11/mhwd.d/nvidia.conf
-rw-r--r-- 1 root root 2051 Eki 20 12:32 90-nvidia-custom.conf

As you can see above i have “masked” the mhwd config and put in my modified version to be able to switch between them…


Option “ForceCompositionPipeline” “string”

The NVIDIA X driver can use a composition pipeline to apply X screen transformations and rotations. Normally, this composition pipeline is enabled implicitly when necessary, or when the MetaMode token “ForceCompositionPipeline” is specified. This X configuration option can be used to explicitly enable the composition pipeline, even if the corresponding MetaMode token is not specified.

The option value is a comma-separated list of display device names. The composition pipeline will be forced on for all display devices in the comma-separated list.

Alternatively, the option value can be any boolean true string (“1”, “on”, “true”, “yes”), in which case all display devices will have their composition pipeline enabled.

By default, the option value is NULL.

Option “ForceFullCompositionPipeline” “string”

This option has the same possible values and semantics as “ForceCompositionPipeline”, but it additionally makes use of the composition pipeline to apply ViewPortOut scaling.

So when one does not use rotation or scaling, those options are not needed?
I’m using KDE with plasma, does that need it?

If you have problems with tearing you should enable it. I use these 2 options to avoid screen tearing.

I hope this is helpful for you. :slightly_smiling_face:

I’m marking this as a combined solution because the first answers the “Why” and the last the “When” or vice versa :+1:

And why you should only ask 1 question per topic: Now you’re robbing both @kisun and @steanne from an additional solution

:sob: :gun:

I did my part with the posibilities of the software used.
If one of them would have answered both in same reply that would have been marked…
This could be seen as an example why crediting is more important as being flagged by software as the solution provider…

Psst… The software should credit all replies that contributed to the solution

There! FTFY…


@kisun As yours was more of a comment that an answer, I’ve edited it into @steanne 's answer. Please let me know if you mind…


To be strict what you did is actually stealing…
The answer of @kisun was not a comment at all…, if one of them could be viewed as a comment it would be that of @steanne because it is composed of a link only…

But anyhow whatever lol, you might as well manually upp the answer count of every user on the forum like that…
(We now know it’s a <censored> counter anyhow…)

And why I said:

and we’ll take it privately…


In cases like this where the actual “credit” for the answer should go to multiple people but due to deficiency of the forum software only one can be marked, it would be “polite” at least to have a discussion about that fact in the thread before someone with the ability to force it (anyone not just you :wink:) so that all participants can voice their choice…

But this is what happens when anyone else (Forum admin excluded) but the original thread starter, who is asking the question and has the best ability to mark an answer as the one who helped him with his question the most as the solution, can force a solution to be marked.

Hence why IMHO (and others with a logical mind most likely) will regard that counter as bogus and not pay any attention to it…
Because the end result as it is now is either power of the one(s) who got the ability first to force which ultimately extends into favorism.

IMHO: It’s best to just disable that counter to start with in current state…
(Or remove the ability to force a solution from everyone except the thread starter)

Who get attributed for the solution should be a non-issue. At least as long as it is a single case.
If someone would repeatedly steal attributed solutions from someone else then it can be escalated.
Otherwise the law of big numbers (of solutions) will restore justice.

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.