How to get tear-free rendering with nvidia proprietary?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
2
down vote

favorite












I never experienced tearing before since I was using Ubuntu all the time but recently I have switched to Arch Linux with awesome as my window manager. Since awesome does not use any composite manager I see these annoying glitches while scrolling the web page. I have installed compton and it works but I have some issues with it enabled.



Graphic card: GeForce GTX 670 with proprietary driver (387.34-19)

compton --version: v0.1_beta2.5



compton --daemon --config /dev/null --backend glx


  1. Sometimes terminal emulator I use (xfce4-terminal) does not render output until additional keystroke. The issue is described here, here and here.

  2. The google chrome context menu sometimes flickers.

Nevertheless, it fixes tearing.



compton --daemon --config /dev/null --backend xrender


This fixes issues described above but tearing itself.



compton --daemon --config /dev/null --backend xr_glx_hybrid


This fixes issue #1 and tearing but issue #2. Moreover, screen flush starts to appear randomly. I have found that I can fix issue #2 by passing --fading option but the latter one is still present.



So, xrender works pretty well since it does not produce new bugs but I do not think it is good decision to investigate to when I have gpu with proprietary drivers. It seems that compton is a bunch of hacks and tricks, I am tired to make it work properly. I have tried xcompmgr and saw no desired effect - there was tearing during scrolling.



Fortunately, there is another solution to make desktop tear-free using ForceCompositionPipeline=On. I have configured my /etc/X11/xorg.conf.d/20-nvidia.conf properly and everything is perfect except input latency. The mouse pointer has become less responsiveness, more smoothed. Perhaps, the keyboard is too but I am not sure (I mean, it takes more time to print the key I have pressed).



I am looking for any possibility to get rid of tearing. New composite managers as well as proper compton options are acceptable but the solution for latter issue is preferable since I do not actually need all these features like shadow or fading provided by compositors.







share|improve this question




















  • Turn on VSync? Tearing is usually an artifact of a new frame being drawn to the display before the previous frame has been completely drawn. VSync forced one frame to be drawn for each frame the display is physically prepared to render.
    – DopeGhoti
    Jan 22 at 18:34










  • Which backend should I use?
    – Evgeniy
    Jan 22 at 18:43










  • @Evgeniy your question already states that you're using the nvidia proprietary drivers. So, no need to ask follow-up question in comments. You should be able to open nvidia-settings and apply the suggestions from @DopeGhoti
    – ILMostro_7
    Jan 22 at 18:48










  • I had no installed nvidia-settings gui. I have installed it, the option Sync to VBlank is on.
    – Evgeniy
    Jan 22 at 19:00














up vote
2
down vote

favorite












I never experienced tearing before since I was using Ubuntu all the time but recently I have switched to Arch Linux with awesome as my window manager. Since awesome does not use any composite manager I see these annoying glitches while scrolling the web page. I have installed compton and it works but I have some issues with it enabled.



Graphic card: GeForce GTX 670 with proprietary driver (387.34-19)

compton --version: v0.1_beta2.5



compton --daemon --config /dev/null --backend glx


  1. Sometimes terminal emulator I use (xfce4-terminal) does not render output until additional keystroke. The issue is described here, here and here.

  2. The google chrome context menu sometimes flickers.

Nevertheless, it fixes tearing.



compton --daemon --config /dev/null --backend xrender


This fixes issues described above but tearing itself.



compton --daemon --config /dev/null --backend xr_glx_hybrid


This fixes issue #1 and tearing but issue #2. Moreover, screen flush starts to appear randomly. I have found that I can fix issue #2 by passing --fading option but the latter one is still present.



So, xrender works pretty well since it does not produce new bugs but I do not think it is good decision to investigate to when I have gpu with proprietary drivers. It seems that compton is a bunch of hacks and tricks, I am tired to make it work properly. I have tried xcompmgr and saw no desired effect - there was tearing during scrolling.



Fortunately, there is another solution to make desktop tear-free using ForceCompositionPipeline=On. I have configured my /etc/X11/xorg.conf.d/20-nvidia.conf properly and everything is perfect except input latency. The mouse pointer has become less responsiveness, more smoothed. Perhaps, the keyboard is too but I am not sure (I mean, it takes more time to print the key I have pressed).



I am looking for any possibility to get rid of tearing. New composite managers as well as proper compton options are acceptable but the solution for latter issue is preferable since I do not actually need all these features like shadow or fading provided by compositors.







share|improve this question




















  • Turn on VSync? Tearing is usually an artifact of a new frame being drawn to the display before the previous frame has been completely drawn. VSync forced one frame to be drawn for each frame the display is physically prepared to render.
    – DopeGhoti
    Jan 22 at 18:34










  • Which backend should I use?
    – Evgeniy
    Jan 22 at 18:43










  • @Evgeniy your question already states that you're using the nvidia proprietary drivers. So, no need to ask follow-up question in comments. You should be able to open nvidia-settings and apply the suggestions from @DopeGhoti
    – ILMostro_7
    Jan 22 at 18:48










  • I had no installed nvidia-settings gui. I have installed it, the option Sync to VBlank is on.
    – Evgeniy
    Jan 22 at 19:00












up vote
2
down vote

favorite









up vote
2
down vote

favorite











I never experienced tearing before since I was using Ubuntu all the time but recently I have switched to Arch Linux with awesome as my window manager. Since awesome does not use any composite manager I see these annoying glitches while scrolling the web page. I have installed compton and it works but I have some issues with it enabled.



Graphic card: GeForce GTX 670 with proprietary driver (387.34-19)

compton --version: v0.1_beta2.5



compton --daemon --config /dev/null --backend glx


  1. Sometimes terminal emulator I use (xfce4-terminal) does not render output until additional keystroke. The issue is described here, here and here.

  2. The google chrome context menu sometimes flickers.

Nevertheless, it fixes tearing.



compton --daemon --config /dev/null --backend xrender


This fixes issues described above but tearing itself.



compton --daemon --config /dev/null --backend xr_glx_hybrid


This fixes issue #1 and tearing but issue #2. Moreover, screen flush starts to appear randomly. I have found that I can fix issue #2 by passing --fading option but the latter one is still present.



So, xrender works pretty well since it does not produce new bugs but I do not think it is good decision to investigate to when I have gpu with proprietary drivers. It seems that compton is a bunch of hacks and tricks, I am tired to make it work properly. I have tried xcompmgr and saw no desired effect - there was tearing during scrolling.



Fortunately, there is another solution to make desktop tear-free using ForceCompositionPipeline=On. I have configured my /etc/X11/xorg.conf.d/20-nvidia.conf properly and everything is perfect except input latency. The mouse pointer has become less responsiveness, more smoothed. Perhaps, the keyboard is too but I am not sure (I mean, it takes more time to print the key I have pressed).



I am looking for any possibility to get rid of tearing. New composite managers as well as proper compton options are acceptable but the solution for latter issue is preferable since I do not actually need all these features like shadow or fading provided by compositors.







share|improve this question












I never experienced tearing before since I was using Ubuntu all the time but recently I have switched to Arch Linux with awesome as my window manager. Since awesome does not use any composite manager I see these annoying glitches while scrolling the web page. I have installed compton and it works but I have some issues with it enabled.



Graphic card: GeForce GTX 670 with proprietary driver (387.34-19)

compton --version: v0.1_beta2.5



compton --daemon --config /dev/null --backend glx


  1. Sometimes terminal emulator I use (xfce4-terminal) does not render output until additional keystroke. The issue is described here, here and here.

  2. The google chrome context menu sometimes flickers.

Nevertheless, it fixes tearing.



compton --daemon --config /dev/null --backend xrender


This fixes issues described above but tearing itself.



compton --daemon --config /dev/null --backend xr_glx_hybrid


This fixes issue #1 and tearing but issue #2. Moreover, screen flush starts to appear randomly. I have found that I can fix issue #2 by passing --fading option but the latter one is still present.



So, xrender works pretty well since it does not produce new bugs but I do not think it is good decision to investigate to when I have gpu with proprietary drivers. It seems that compton is a bunch of hacks and tricks, I am tired to make it work properly. I have tried xcompmgr and saw no desired effect - there was tearing during scrolling.



Fortunately, there is another solution to make desktop tear-free using ForceCompositionPipeline=On. I have configured my /etc/X11/xorg.conf.d/20-nvidia.conf properly and everything is perfect except input latency. The mouse pointer has become less responsiveness, more smoothed. Perhaps, the keyboard is too but I am not sure (I mean, it takes more time to print the key I have pressed).



I am looking for any possibility to get rid of tearing. New composite managers as well as proper compton options are acceptable but the solution for latter issue is preferable since I do not actually need all these features like shadow or fading provided by compositors.









share|improve this question











share|improve this question




share|improve this question










asked Jan 22 at 18:25









Evgeniy

1114




1114











  • Turn on VSync? Tearing is usually an artifact of a new frame being drawn to the display before the previous frame has been completely drawn. VSync forced one frame to be drawn for each frame the display is physically prepared to render.
    – DopeGhoti
    Jan 22 at 18:34










  • Which backend should I use?
    – Evgeniy
    Jan 22 at 18:43










  • @Evgeniy your question already states that you're using the nvidia proprietary drivers. So, no need to ask follow-up question in comments. You should be able to open nvidia-settings and apply the suggestions from @DopeGhoti
    – ILMostro_7
    Jan 22 at 18:48










  • I had no installed nvidia-settings gui. I have installed it, the option Sync to VBlank is on.
    – Evgeniy
    Jan 22 at 19:00
















  • Turn on VSync? Tearing is usually an artifact of a new frame being drawn to the display before the previous frame has been completely drawn. VSync forced one frame to be drawn for each frame the display is physically prepared to render.
    – DopeGhoti
    Jan 22 at 18:34










  • Which backend should I use?
    – Evgeniy
    Jan 22 at 18:43










  • @Evgeniy your question already states that you're using the nvidia proprietary drivers. So, no need to ask follow-up question in comments. You should be able to open nvidia-settings and apply the suggestions from @DopeGhoti
    – ILMostro_7
    Jan 22 at 18:48










  • I had no installed nvidia-settings gui. I have installed it, the option Sync to VBlank is on.
    – Evgeniy
    Jan 22 at 19:00















Turn on VSync? Tearing is usually an artifact of a new frame being drawn to the display before the previous frame has been completely drawn. VSync forced one frame to be drawn for each frame the display is physically prepared to render.
– DopeGhoti
Jan 22 at 18:34




Turn on VSync? Tearing is usually an artifact of a new frame being drawn to the display before the previous frame has been completely drawn. VSync forced one frame to be drawn for each frame the display is physically prepared to render.
– DopeGhoti
Jan 22 at 18:34












Which backend should I use?
– Evgeniy
Jan 22 at 18:43




Which backend should I use?
– Evgeniy
Jan 22 at 18:43












@Evgeniy your question already states that you're using the nvidia proprietary drivers. So, no need to ask follow-up question in comments. You should be able to open nvidia-settings and apply the suggestions from @DopeGhoti
– ILMostro_7
Jan 22 at 18:48




@Evgeniy your question already states that you're using the nvidia proprietary drivers. So, no need to ask follow-up question in comments. You should be able to open nvidia-settings and apply the suggestions from @DopeGhoti
– ILMostro_7
Jan 22 at 18:48












I had no installed nvidia-settings gui. I have installed it, the option Sync to VBlank is on.
– Evgeniy
Jan 22 at 19:00




I had no installed nvidia-settings gui. I have installed it, the option Sync to VBlank is on.
– Evgeniy
Jan 22 at 19:00










1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










I was able to solve these issues. As I said, to fix issue #2, pass --fading option. To increase animation speed or turn it off (set 1) you can pass --fade-in-step and --fade-out-step options. I had screen flush when there was xr_glx_hybrid as backend, so glx is preferable. And I do not know why but I have found that options --xrender-sync and --xrender-sync-fence fix issue #1. Maybe compton uses xrender when glx fails...






share|improve this answer






















    Your Answer







    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "106"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: false,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );








     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f418922%2fhow-to-get-tear-free-rendering-with-nvidia-proprietary%23new-answer', 'question_page');

    );

    Post as a guest






























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote



    accepted










    I was able to solve these issues. As I said, to fix issue #2, pass --fading option. To increase animation speed or turn it off (set 1) you can pass --fade-in-step and --fade-out-step options. I had screen flush when there was xr_glx_hybrid as backend, so glx is preferable. And I do not know why but I have found that options --xrender-sync and --xrender-sync-fence fix issue #1. Maybe compton uses xrender when glx fails...






    share|improve this answer


























      up vote
      0
      down vote



      accepted










      I was able to solve these issues. As I said, to fix issue #2, pass --fading option. To increase animation speed or turn it off (set 1) you can pass --fade-in-step and --fade-out-step options. I had screen flush when there was xr_glx_hybrid as backend, so glx is preferable. And I do not know why but I have found that options --xrender-sync and --xrender-sync-fence fix issue #1. Maybe compton uses xrender when glx fails...






      share|improve this answer
























        up vote
        0
        down vote



        accepted







        up vote
        0
        down vote



        accepted






        I was able to solve these issues. As I said, to fix issue #2, pass --fading option. To increase animation speed or turn it off (set 1) you can pass --fade-in-step and --fade-out-step options. I had screen flush when there was xr_glx_hybrid as backend, so glx is preferable. And I do not know why but I have found that options --xrender-sync and --xrender-sync-fence fix issue #1. Maybe compton uses xrender when glx fails...






        share|improve this answer














        I was able to solve these issues. As I said, to fix issue #2, pass --fading option. To increase animation speed or turn it off (set 1) you can pass --fade-in-step and --fade-out-step options. I had screen flush when there was xr_glx_hybrid as backend, so glx is preferable. And I do not know why but I have found that options --xrender-sync and --xrender-sync-fence fix issue #1. Maybe compton uses xrender when glx fails...







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Jan 25 at 13:08

























        answered Jan 25 at 12:10









        Evgeniy

        1114




        1114






















             

            draft saved


            draft discarded


























             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f418922%2fhow-to-get-tear-free-rendering-with-nvidia-proprietary%23new-answer', 'question_page');

            );

            Post as a guest













































































            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Displaying single band from multi-band raster using QGIS

            How many registers does an x86_64 CPU actually have?