When will the tearing issue be fixed?

Nvidia’s proprietary driver on Linux has always teared like wet toilet paper.

Every update, I think, ``maybe the tearing issue will be fixed’’. Yet every update I’m wrong. All I ask for is no tearing, what has been so hard about this? Xorg might be an issue, but Intel’s driver and the AMD FOSS drivers deal with it fine.

Nvidia has never been helpful or cooperative with the open source developers, and instead decides to “leverage nvidia common code”, rather than work with the native Linux graphics stack, is this the issue?

I’ve tried enabling options like this in xorg.conf

Option “metamodes” “nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }”

This gets rid of tearing, however even something like rotating the display orientation will turn it off, and it has caused some other issues. You can use a compositor and that can help, but what if you don’t want to use a compositor?

Will we ever just see tear-free drivers?

I could be wrong here but I think you need a compositor that implements vsync to not have tearing. Alternatively, I think there has been some new functionality provided in X.org to vsync (DRI3 / Present extensions), but I’m not sure if they’re implemented in the nvidia driver yet, or if they are sufficient for providing vsync.

So,

  1. Under what circumstance does tearing reappear (screen rotation is one of them - that’s expected since the output changes)?
  2. what other issues exactly?

Maybe you need to stop whining and assaulting NVIDIA and just describe your problems and ask politely to fix them.

Meanwhile ForceFullCompositionPipeline works beautifully for most of us.

  1. Under what circumstance does tearing reappear (screen rotation is one of them - that’s expected since the output changes)?
  • Changing screen orientation
  • Changing screen resolution
  1. what other issues exactly?
  • Changing screen orientation takes significantly longer.
  • Certain programs will lock up for a few seconds upon opening under certain conditions.

This happens. It’s nothing but a broken workaround that doesn’t work itself, not a solution to the problem, which would be to actually fix your drivers so they don’t tear like wet toilet paper. You saying this “works beautifully” is nothing but pure fanboyism. I’ve seen you defend nvidia on this forum regardless of the situation, and attack users that have any complaints.

Nvidia is a large company, and paying customers deserve to complain about issues. It’s not like they actually give you a proper channel to discuss with developers or submit bug reports though. They hide in a corner and develop their proprietary driver, they don’t contribute any code or docs, they completely screw over the nouveau developers, and they make their driver crappier because they won’t work with the open source devs. I might be able to forgive them if they actually provided good drivers, but they don’t. I’ve experienced multiple strange bugs from the driver, no framebuffer support, and of course tearing like wet toilet paper. It’s by far the most painful piece of software to deal with on my system.

You need a decent compositor that uses OpenGL. Personally I found that only Gnomes Mutter compositor gets the job done. You can forget something like the XRendr compositor of XFCE altogether and KDE also managed to break its compositor and not fix it to this day. They broke it some time ago and I just switched to Gnome and haven’t seen a single tear line ever since. No matter if I rotate the screen or not.

https://bugs.kde.org/show_bug.cgi?id=324049
https://bbs.archlinux.org/viewtopic.php?id=169743

And pixel perfect rendering without compositing is basically impossible with X11.

Not asking for perfect, but Intel drivers and AMD FOSS drivers don’t noticeably tear without a compositor, it can’t be impossible.

I do have compton installed, which is a compositor. However I would much rather not have to use it due to some weird effects it can have, and I’ve still seen tearing with it on anyway. (with --vsync opengl)

I’ve just wanted them to fix the tearing issue for a long time now, but it just doesn’t happen.

For some reasons NVIDIA engineers, starting with the Kepler architecture, removed the circuitry which guaranteed a tear free experience. I’ve no idea why. It seems like their software solution to this problem has some bugs. Thank you for finally taking time to report them.

I’m not here to defend NVIDIA, I just like when people leave their emotions out of the equation and describe their problems openly without using generic nondescript expressions like “Nothing works”.

Some of us prefer not to use any compositors because they have far too many corner cases (bugs, glitches, visual issues, etc.) not to mention that OpenGL compositors often confuse the driver and make it choose higher performance levels even though they are totally excessive. I, for one, refuse to run them.

yep! I get tearing even with a couple of pre kepler 580. I use compton so I don’t get tears, but my cards do get bumped to full power way more than should be necessary.

I guess I’ll be the wiseguy and ask… are they putting out more than 60 fps?

How does not running a compositor reduce the amount of visual glitches you see? The X server will just draw stuff randomly on the screen.

Says the guy who worked a lot on X11.
http://fooishbar.org/tell-me-about/wayland-on-raspberry-pi/

One of the things the proprietary nvidia driver does very well is OpenGL performance and compliance. Nvidia cards with the proprietary driver is most likely the best OpenGL performance you’re going to get on Linux or any system using X11. However they seem to have quite a hard time integrating and working well with Linux otherwise, and I think you’re probably going to have a much better time using Intel drivers or AMD FOSS drivers for pretty much anything else. Intel and AMD GPU’s can definitely get 60fps in games on Linux though, if that’s what you’re saying.

The thing about this that gets me is if you want powerful and working OpenGL performance on Linux, your best bet is an nvidia card with the proprietary drivers, but then you have to deal with the bugs, you have to deal with installing the driver as a module every kernel upgrade because they won’t include it in the kernel, no framebuffer support, it doesn’t work well with all the stuff the open source devs are doing to the graphics stack, we’re probably not going to see good wayland support for a long time, etc.

The situation with Linux graphics has always bothered me because of this, you’re basically stuck between choosing a much more painless general desktop experience, but not as good OpenGL performance or support, or you can have better OpenGL performance/support and deal with the rest of the mess the best you can.

It’s not that terrible though. For anyone who might read this in the future, and is wondering about tearing, this isn’t perfect but it does help mostly, and I think the issues I brought up with it have improved since I last tried it. Add these options to the “Screen” section in /etc/X11/xorg.conf

Section "Screen"
    Option    "TripleBuffer" "True"
    Option    "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
EndSection

Intel did the same starting with Sandy Bridge. They said the hardware is now being engineered with the assumption that a pageflipping compositor is running, because that’s what the most common desktop OS (Windows) does. And that removing this circuitry allows for better power management.

I wouldn’t be surprised if Nvidia’s reasoning is the same as Intel’s. It does make sense - why waste power on additional hardware, when a pageflipping compositor makes that hardware unnecessary.

Oh well, watching a video with compositor on makes my intel laptop draining about 1.5 watts more…