Bug #14910

NVIDIA Pascal series graphic card: slow graphics operations

Added by 110100111011 2017-10-31 03:04:10 . Updated 2018-09-05 16:21:29 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Hardware support
Target version:
Start date:
2017-10-31
Due date:
% Done:

100%

Feature Branch:
bugfix/15116-newer-nouveau-xorg-driver
Type of work:
Debian
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

I’ve replaced one of my older monitors with a newer one, before I had DP,DP,DVI for my monitors, now I use DP,DP,DP. (DP = Displayport).

Tails doesn’t like that new combination though. While DP,DP,DVI would work, now with DP,DP,DP I can’t get Tails 3.2 to boot. I see the blinking cursor for a few seconds, then for 1 or 2 frames an error message appears, and then Tails seems to crash and no longer has any GPU output (monitors either black or saying “connect stuff”). DP,DP,HDMI also doesn’t work. It seems it was luck that DP,DP,DVI actually worked.

I did film it with my phone so that I’m able to read the error message, it is just one line:

[2.984265] nouveau 0000:03:00:0 DRM: Pointer to flat panel table invalid

Connecting only 2 monitors with DP,DP works fine, if I then connect a 3rd one while Tails runs, it crashes (shows some graphics corruption for a few seconds, then turns all monitors off).

My old monitor combination had only one 1080p monitor, now I have two. Even with only two 1080p monitors connected, it feels like graphics operations are running slower than they should. When dragging windows around, it isn’t fully smooth and it looks like the image is constantly “breaking apart”, as if “vsync” would be disabled. So it looks like if first the upper half of the monitor is updated, and then a while later the lower part is. The height where that cut is is random though, so it moves up/down all the time. So when dragging a window around, the upper half or third etc is sometimes 1 cm further to the left/right (depending in which direction you move it) than the lower half/third/whatever of the window. It is very ugly. I did see that already when my old 3 monitors were still working, it was just less intense.

One other example for it feeling “slow” is that if I open a youtube video (even just 720p) on one monitor, and try to use the browser on a website like this on the other monitor, even the scrolling in the browser starts to feel very laggy. If I pause the youtube video, scrolling feels way better. So I’m not sure if its actually fully software rendering everything or if the GPU stuff is only working in some very slow mode.

I have tried to play around with commands like nouveau.modeset=X and nouveau.noaccel=X, but setting those to either 0 or 1 doesn’t improve anything, either it does nothing or it makes it worse.

I am using a Nvidia GTX 1080, which is a Pascal Series GPU.


I already posted about the issue here: https://labs.riseup.net/code/issues/11831 And it was suggested to me that I should create a dedicated ticket about it.

I did test this suggested ISO now: https://nightly.tails.boum.org/build_Tails_ISO_feature-buster/lastSuccessful/archive/build-artifacts/tails-amd64-feature_buster-3.4-20171022T0917Z-f62837af72%2Bdevel%40dd985681bf.iso

And the issue is in fact partly fixed there. I can boot Tails, it does start, all 3 monitors work. It also feels a bit smoother, though its still far from perfect. So when a 720p youtube video is running, scrolling on another website is still slow and laggy. I also still see a lot of that “breaking apart” of the image (I’ve attached a gif showing the issue).

But it’s a lot better than 3.2, since in 3.2 Tails didn’t work at all. Will this fix be in 3.3?


Files

issue.gif (4386200 B) 110100111011, 2017-10-31 02:54:36

Subtasks


Related issues

Related to Tails - Bug #15116: X.Org does not start with some NVidia Maxwell and Pascal graphic cards Confirmed 2017-12-27
Related to Tails - Bug #15833: Regression in 3.9~rc1 on some NVIDIA Pascal graphics cards Resolved 2018-08-22
Blocks Tails - Feature #15334: Core work 2018Q3: Foundations Team Resolved 2018-02-20

History

#1 Updated by goupille 2017-11-02 15:45:15

  • Assignee set to intrigeri
  • Type of work changed from Code to Research

#2 Updated by intrigeri 2017-11-11 14:43:54

  • Category set to Hardware support
  • Status changed from New to Confirmed
  • Assignee changed from intrigeri to 110100111011
  • Target version set to Tails_3.5
  • QA Check set to Info Needed

Please test Tails 3.3 once it’s out (Nov 14): it’ll likely include a newer Linux kernel, which might be what fixed the problem for you in the Buster-based ISO you’ve tested. It might equally be that it was fixed thanks to Buster’s newer graphics drivers though. We’ll see, fingers crossed!

#3 Updated by 110100111011 2017-11-15 03:10:03

As requested, I’ve tested with 3.3.

3.3 does feel 100% same like the other ISO I tested. All 3 monitors work, but there is that very visible breaking apart of the image and a 720p youtube video on one screen is enough to make scrolling in the browser on another screen, or also just moving a window in Tails around, very slow/laggy.

Not sure if its using the GPU at all or if its actually just software rendering, that it gets so slow with a bit of load might suggest that its all just happening on the CPU.

So graphics operations are way slower than they should be, but Tails boots correctly even with 3 monitors connected. It is an improvement over 3.2, but obviously still far from perfect.

#4 Updated by intrigeri 2017-11-18 11:08:47

  • Subject changed from NVIDIA Pascal series graphic card: slow or no graphics operations to NVIDIA Pascal series graphic card: slow graphics operations

#5 Updated by intrigeri 2017-11-18 11:14:08

  • Assignee deleted (110100111011)
  • Target version deleted (Tails_3.5)
  • QA Check deleted (Info Needed)
  • Type of work changed from Research to Wait

So, Tails 3.3 fixed the “crashes on boot” problem. Great! I’m therefore repurposing this ticket to track only the remaining performance issue.

The nouveau driver (starting at 1.0.15, while we ship 1.0.13 currently) has very preliminary support for Pascal. https://nouveau.freedesktop.org/wiki/FeatureMatrix/. So I’m not surprised that even on Buster (1.0.15) it’s slow. There’s nothing we can do about this but wait :/

#6 Updated by intrigeri 2018-01-12 13:12:27

  • related to Bug #15116: X.Org does not start with some NVidia Maxwell and Pascal graphic cards added

#7 Updated by intrigeri 2018-07-10 08:51:13

Good news: Bug #15116#note-42

#8 Updated by intrigeri 2018-07-10 08:52:23

  • Status changed from Confirmed to In Progress
  • Assignee set to intrigeri
  • Target version set to Tails_3.9
  • Feature Branch set to bugfix/15116-newer-nouveau-xorg-driver
  • Type of work changed from Wait to Communicate

#9 Updated by intrigeri 2018-08-04 00:46:43

  • Assignee changed from intrigeri to segfault
  • % Done changed from 0 to 50
  • QA Check set to Ready for QA
  • Type of work changed from Communicate to Debian

Bug #15116#note-42 reports this is fixed by the topic branch, and my call for testing (Bug #15116) has not raised any regression => please review and merge.

#10 Updated by intrigeri 2018-08-04 00:48:50

#11 Updated by intrigeri 2018-08-04 00:52:02

  • Estimated time set to 0 h

(I think half an hour should be enough to do the — trivial — code review and test on whatever hardware you’ve got available locally, ideally NVIDIA but no big deal if it’s not.)

#12 Updated by intrigeri 2018-08-04 01:12:45

To answer the obvious questions:

  • how/when are we going to upgrade this custom backport: I’ve subscribed to https://tracker.debian.org/pkg/xserver-xorg-video-nouveau so I’ll stay on top of new uploads and will file tickets whenever we need to consider upgrading
  • why not upload to stretch-backports: if I did that, I would have to maintain the backport for the entire Stretch life cycle, which includes at least a year during which I’ll have no motivation to do this work since Tails will have upgraded to Buster already

#13 Updated by segfault 2018-08-14 16:08:22

Code review passes, testing the ISO now

#14 Updated by segfault 2018-08-14 16:42:23

  • Assignee changed from segfault to intrigeri
  • % Done changed from 50 to 100
  • QA Check changed from Ready for QA to Pass

Works on my hardware

#15 Updated by intrigeri 2018-08-14 18:03:35

  • Status changed from In Progress to Fix committed
  • Assignee deleted (intrigeri)

#16 Updated by 110100111011 2018-08-28 05:16:46

I’ve just tested 3.9RC1, and there’s one thing I’ve noticed that’s broken, I assume its due to GPU driver stuff so I mention it in this thread:

The monitor position adjustment breaks the rendering. So when you go into the settings, to monitor settings, and then to the menu where you can drag the displays around to correctly adjust them for where they are placed on your desk, when I hit apply then one of my 3 monitors (seems random which one, is a different one every time) stops rendering the desktop, and stays like that.

Instead of the Tails Desktop, it then shows multiple small images of the initial thing you see when you start Tails, where you can choose between “Tails” and "Tails (Throubleshooting). So it looks like the monitor suddenly displays some weird corrupted image of the last thing it received before Tails really started booting.

The other monitors keep working correctly, until I do any more adjustments to the monitor positions in that menu again, if I do that then one more other monitor stops working.

Normally, when you’re using Tails you can press Ctrl+Alt+F1 to go into that other desktop where you only see the blue background, taskbar with clock, and shutdown button on the top right. And when you press Ctrl+Alt+F2 you are back at the regular Tails Desktop. You can freely switch between those two desktops all the time.

When I do that monitor position adjustment and one monitor “breaks”, then I can still use Ctrl+Alt+F1 to go into that “other Desktop”, and that one is still working correctly on all 3 monitors then. But if I switch back to the “real” desktop using Ctrl+Alt+F2 then, all 3 monitors “break” and display the weird stuff with multiple of those black selection screens.

So I think the “GPU Driver” is working fine, it looks like changing the monitor positions does somehow just let the Desktop Renderer crash in some way, so that it keeps working for all monitors except for 1.

I post it here since I assume if it would happen for all GPUs then people would have noticed that already, so I assume it only happens for specific GPUs.

#17 Updated by intrigeri 2018-08-29 06:48:28

  • related to Bug #15833: Regression in 3.9~rc1 on some NVIDIA Pascal graphics cards added

#18 Updated by intrigeri 2018-09-05 16:21:29

  • Status changed from Fix committed to Resolved