[nouveau] Scrolling screen flicker, especially on default Ubuntu lock screen

Bug #1819023 reported by Jeb E. on 2019-03-07
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

My screen is experiencing a weird "scrolling" flicker, especially while displaying blue, indigo, and violet hues/colors, such as on the default Ubuntu 18.10 (x64 Desktop) lock screen. The screen flicker scrolls up and down, with the brightest part of the flicker being towards the top, with a gradient that fades back to the original color near the bottom.

Problem occurs on any one monitor on any one video output protocol (DVI-D, HDMI, and VGA).

I will upload an illustration or render as soon as possible for better explanation.

ProblemType: Bug
DistroRelease: Ubuntu 18.10
Package: xorg 1:7.7+19ubuntu8
ProcVersionSignature: Ubuntu 4.18.0-16.17-generic 4.18.20
Uname: Linux 4.18.0-16-generic x86_64
ApportVersion: 2.20.10-0ubuntu13.2
Architecture: amd64
BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
CompositorRunning: None
CurrentDesktop: ubuntu:GNOME
Date: Thu Mar 7 10:39:50 2019
DistUpgraded: 2018-10-19 10:50:54,557 ERROR got error from PostInstallScript ./xorg_fix_proprietary.py (g-exec-error-quark: Failed to execute child process “./xorg_fix_proprietary.py” (No such file or directory) (8))
DistroCodename: cosmic
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes, if not too technical
GraphicsCard:
 NVIDIA Corporation GF108 [GeForce GT 440] [10de:0de0] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: NVIDIA Corporation GF108 [GeForce GT 440] [10de:0828]
InstallationDate: Installed on 2018-08-17 (202 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426)
MachineType: BIOSTAR Group A880G+
ProcEnviron:
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-generic root=UUID=a967adb1-1600-455b-8704-e2bf5de5081d ro quiet splash vt.handoff=1
SourcePackage: xorg
UpgradeStatus: Upgraded to cosmic on 2018-10-19 (139 days ago)
dmi.bios.date: 09/21/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 080016
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: A880G+
dmi.board.vendor: BIOSTAR Group
dmi.chassis.asset.tag: None
dmi.chassis.type: 3
dmi.chassis.vendor: BIOSTAR Group
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr080016:bd09/21/2011:svnBIOSTARGroup:pnA880G+:pvr:rvnBIOSTARGroup:rnA880G+:rvr:cvnBIOSTARGroup:ct3:cvr:
dmi.product.family: To Be Filled By O.E.M.
dmi.product.name: A880G+
dmi.product.sku: To Be Filled By O.E.M.
dmi.sys.vendor: BIOSTAR Group
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.95-1
version.libgl1-mesa-dri: libgl1-mesa-dri 18.2.2-0ubuntu1
version.libgl1-mesa-glx: libgl1-mesa-glx 18.2.2-0ubuntu1
version.xserver-xorg-core: xserver-xorg-core 2:1.20.1-3ubuntu2.1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:18.1.0-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20171229-1ubuntu1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.15-3

Jeb E. (jebeld17) wrote :
Changed in xorg (Ubuntu):
status: New → Confirmed
Daniel van Vugt (vanvugt) wrote :

Please do attach a photo or video of the problem ASAP.

affects: xorg (Ubuntu) → xorg-server (Ubuntu)
Changed in xorg-server (Ubuntu):
status: Confirmed → Incomplete
tags: added: nouveau
summary: - Scrolling screen flicker, especially on default Ubuntu lock screen
+ [nouveau] Scrolling screen flicker, especially on default Ubuntu lock
+ screen
Changed in xserver-xorg-video-nouveau (Ubuntu):
status: New → Incomplete
affects: nouveau → ubuntu
no longer affects: ubuntu
affects: xorg-server → ubuntu
no longer affects: ubuntu
no longer affects: xserver-xorg-video-nouveau (Ubuntu)
Jeb E. (jebeld17) wrote :

Apologies, I forgot to get back.
Please see the attachment included in this response. Note the effect is very minimal when recorded or shot as a moving GIF.

Changed in xorg-server (Ubuntu):
status: Incomplete → Confirmed
Daniel van Vugt (vanvugt) wrote :

Thanks for the animation.

I think that flicker is occurring in the LCD itself. The reason is that the old gradient (which was only used in Ubuntu 18.10) covers more colours than 24-bit RGB can support. On top of that, if your monitor is only 18-bit RGB in hardware then you will see even fewer colours and the display/kernel will flicker on purpose to create the illusion of all the shades it can't really display. This is called temporal dithering, or Frame Rate Control:

  https://en.wikipedia.org/wiki/Frame_rate_control

Essentially that gradient is just a pathological case which will make the shimmering/flickering more visible than it usually is. For this and other reasons, I reported a bug 1789355 too.

In the end this is a hardware limitation. But it is a common one which the kernel driver should have some control over. You should be able to configure the nouveau kernel driver directly using something like:

  xrandr --output DVI-I-1 --set "dithering mode" "off"

or

  xrandr --output DVI-I-1 --set "dithering mode" "static 2x2"

based on your Xrandr.txt which says:

 dithering depth: auto
  supported: auto, 6 bpc, 8 bpc
 dithering mode: auto
  supported: auto, off, static 2x2, dynamic 2x2

I am going to reassign this bug to the kernel because it sounds like the only software solution possible here would be for the kernel to automatically choose a less annoying dithering mode for this model of monitor.

P.S. The gradient is completely gone in Ubuntu 19.04 so you won't have any trouble there.

affects: xorg-server (Ubuntu) → linux (Ubuntu)
Kai-Heng Feng (kaihengfeng) wrote :

Daniel, is this similar to LP: #1819968?

Daniel van Vugt (vanvugt) wrote :

I thought of that and don't think it's similar.

The problem here sounds like nouveau is using some rather dynamic dithering ("dynamic 2x2"??) and it would look better if more static. Even if that means more banding.

So nouveau seems to correctly know it should use dithering. The only remaining question would be whether it is correctly detecting 6 or 8 bpc.

Kai-Heng Feng (kaihengfeng) wrote :

Thanks for the explanation!

Daniel van Vugt (vanvugt) wrote :

But before any fix is attempted we should probably verify the problem really is that "auto" is defaulting to "dynamic 2x2" and that's what looks too flickery.

Daniel van Vugt (vanvugt) wrote :

Those properties are unique to the nouveau kernel driver...

https://01.org/linuxgraphics/gfx-docs/drm/drm-kms-properties.html

Download full text (5.4 KiB)

I don't have these problems with Windows on the device, either.
I really hope a fix gets implemented. Thank you.

On Tue, Apr 2, 2019, 10:45 PM Daniel van Vugt <email address hidden>
wrote:

> Thanks for the animation.
>
> I think that flicker is occurring in the LCD itself. The reason is that
> the old gradient (which was only used in Ubuntu 18.10) covers more
> colours than 24-bit RGB can support. On top of that, if your monitor is
> only 18-bit RGB in hardware then you will see even fewer colours and the
> display/kernel will flicker on purpose to create the illusion of all the
> shades it can't really display. This is called temporal dithering, or
> Frame Rate Control:
>
> https://en.wikipedia.org/wiki/Frame_rate_control
>
> Essentially that gradient is just a pathological case which will make
> the shimmering/flickering more visible than it usually is. For this and
> other reasons, I reported a bug 1789355 too.
>
> In the end this is a hardware limitation. But it is a common one which
> the kernel driver should have some control over. You should be able to
> configure the nouveau kernel driver directly using something like:
>
> xrandr --output DVI-I-1 --set "dithering mode" "off"
>
> or
>
> xrandr --output DVI-I-1 --set "dithering mode" "static 2x2"
>
> based on your Xrandr.txt which says:
>
> dithering depth: auto
> supported: auto, 6 bpc, 8 bpc
> dithering mode: auto
> supported: auto, off, static 2x2, dynamic 2x2
>
> I am going to reassign this bug to the kernel because it sounds like the
> only software solution possible here would be for the kernel to
> automatically choose a less annoying dithering mode for this model of
> monitor.
>
> P.S. The gradient is completely gone in Ubuntu 19.04 so you won't have
> any trouble there.
>
>
> ** Package changed: xorg-server (Ubuntu) => linux (Ubuntu)
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1819023
>
> Title:
> [nouveau] Scrolling screen flicker, especially on default Ubuntu lock
> screen
>
> Status in linux package in Ubuntu:
> Confirmed
>
> Bug description:
> My screen is experiencing a weird "scrolling" flicker, especially
> while displaying blue, indigo, and violet hues/colors, such as on the
> default Ubuntu 18.10 (x64 Desktop) lock screen. The screen flicker
> scrolls up and down, with the brightest part of the flicker being
> towards the top, with a gradient that fades back to the original color
> near the bottom.
>
> Problem occurs on any one monitor on any one video output protocol
> (DVI-D, HDMI, and VGA).
>
>
> I will upload an illustration or render as soon as possible for better
> explanation.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 18.10
> Package: xorg 1:7.7+19ubuntu8
> ProcVersionSignature: Ubuntu 4.18.0-16.17-generic 4.18.20
> Uname: Linux 4.18.0-16-generic x86_64
> ApportVersion: 2.20.10-0ubuntu13.2
> Architecture: amd64
> BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
> CompositorRunning: None
> CurrentDesktop: ubuntu:GNOME
> Date: Thu Mar 7 10:39:50 2019
> ...

Read more...

Daniel van Vugt (vanvugt) wrote :

Jeb,

We first need some more information from you to verify we're looking in the right place. Please:

1. Log into "Ubuntu" (not "Ubuntu on Wayland") so as to ensure you are using Xorg.

2. Open this image in a new tab or window: https://news-cdn.softpedia.com/images/news2/here-s-the-new-login-screen-of-ubuntu-18-10-cosmic-cuttlefish-using-yaru-theme-522179-4.jpg

3. Verify the problem is still visible.

4. Open a terminal and experiment with these commands (or similar) and tell us which fixes the problem best:

  xrandr --output DVI-I-1 --set "dithering mode" "off"
  xrandr --output DVI-I-1 --set "dithering mode" "static 2x2"

Jeb E. (jebeld17) wrote :

Hey Dan,

So I attempted to open the image on my machine, and it still happens, unfortunately.

Daniel van Vugt (vanvugt) wrote :

That's good news.

Now please try these while the image is open:

  xrandr --output DVI-I-1 --set "dithering mode" "off"

or

  xrandr --output DVI-I-1 --set "dithering mode" "static 2x2"

and change 'DVI-I-1' if you are using a different connector now.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Jeb E. (jebeld17) wrote :
Download full text (4.2 KiB)

Upon doing the first command you suggested, after a reboot, the PC screen
turned on and off a few times and now the screen is just black. I'm
force-rebooting the PC now and seeing if I'll regain the image on my screen.

On Sun, Apr 7, 2019, 10:00 PM Daniel van Vugt <email address hidden>
wrote:

> That's good news.
>
> Now please try these while the image is open:
>
> xrandr --output DVI-I-1 --set "dithering mode" "off"
>
> or
>
> xrandr --output DVI-I-1 --set "dithering mode" "static 2x2"
>
> and change 'DVI-I-1' if you are using a different connector now.
>
> ** Changed in: linux (Ubuntu)
> Status: Confirmed => Incomplete
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1819023
>
> Title:
> [nouveau] Scrolling screen flicker, especially on default Ubuntu lock
> screen
>
> Status in linux package in Ubuntu:
> Incomplete
>
> Bug description:
> My screen is experiencing a weird "scrolling" flicker, especially
> while displaying blue, indigo, and violet hues/colors, such as on the
> default Ubuntu 18.10 (x64 Desktop) lock screen. The screen flicker
> scrolls up and down, with the brightest part of the flicker being
> towards the top, with a gradient that fades back to the original color
> near the bottom.
>
> Problem occurs on any one monitor on any one video output protocol
> (DVI-D, HDMI, and VGA).
>
>
> I will upload an illustration or render as soon as possible for better
> explanation.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 18.10
> Package: xorg 1:7.7+19ubuntu8
> ProcVersionSignature: Ubuntu 4.18.0-16.17-generic 4.18.20
> Uname: Linux 4.18.0-16-generic x86_64
> ApportVersion: 2.20.10-0ubuntu13.2
> Architecture: amd64
> BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
> CompositorRunning: None
> CurrentDesktop: ubuntu:GNOME
> Date: Thu Mar 7 10:39:50 2019
> DistUpgraded: 2018-10-19 10:50:54,557 ERROR got error from
> PostInstallScript ./xorg_fix_proprietary.py (g-exec-error-quark: Failed to
> execute child process “./xorg_fix_proprietary.py” (No such file or
> directory) (8))
> DistroCodename: cosmic
> DistroVariant: ubuntu
> ExtraDebuggingInterest: Yes, if not too technical
> GraphicsCard:
> NVIDIA Corporation GF108 [GeForce GT 440] [10de:0de0] (rev a1) (prog-if
> 00 [VGA controller])
> Subsystem: NVIDIA Corporation GF108 [GeForce GT 440] [10de:0828]
> InstallationDate: Installed on 2018-08-17 (202 days ago)
> InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64
> (20180426)
> MachineType: BIOSTAR Group A880G+
> ProcEnviron:
> PATH=(custom, no user)
> XDG_RUNTIME_DIR=<set>
> LANG=en_US.UTF-8
> SHELL=/bin/bash
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-generic
> root=UUID=a967adb1-1600-455b-8704-e2bf5de5081d ro quiet splash vt.handoff=1
> SourcePackage: xorg
> UpgradeStatus: Upgraded to cosmic on 2018-10-19 (139 days ago)
> dmi.bios.date: 09/21/2011
> dmi.bios.vendor: American Megatrends Inc.
> dmi.bios.version: 080016
> dmi.board.asset.tag: To Be Filled By O.E.M.
> dmi.board.name: A880G+
> dmi...

Read more...

Jeb E. (jebeld17) wrote :
Download full text (4.3 KiB)

Alright, got the computer to reboot a second time and it appears as if the
problem is fixed! The gradient on the login screen isn't a perfect
gradient, but that's a different issue.

Maybe dithering should be forced "off" in a near future update?

On Sun, Apr 7, 2019, 10:00 PM Daniel van Vugt <email address hidden>
wrote:

> That's good news.
>
> Now please try these while the image is open:
>
> xrandr --output DVI-I-1 --set "dithering mode" "off"
>
> or
>
> xrandr --output DVI-I-1 --set "dithering mode" "static 2x2"
>
> and change 'DVI-I-1' if you are using a different connector now.
>
> ** Changed in: linux (Ubuntu)
> Status: Confirmed => Incomplete
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1819023
>
> Title:
> [nouveau] Scrolling screen flicker, especially on default Ubuntu lock
> screen
>
> Status in linux package in Ubuntu:
> Incomplete
>
> Bug description:
> My screen is experiencing a weird "scrolling" flicker, especially
> while displaying blue, indigo, and violet hues/colors, such as on the
> default Ubuntu 18.10 (x64 Desktop) lock screen. The screen flicker
> scrolls up and down, with the brightest part of the flicker being
> towards the top, with a gradient that fades back to the original color
> near the bottom.
>
> Problem occurs on any one monitor on any one video output protocol
> (DVI-D, HDMI, and VGA).
>
>
> I will upload an illustration or render as soon as possible for better
> explanation.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 18.10
> Package: xorg 1:7.7+19ubuntu8
> ProcVersionSignature: Ubuntu 4.18.0-16.17-generic 4.18.20
> Uname: Linux 4.18.0-16-generic x86_64
> ApportVersion: 2.20.10-0ubuntu13.2
> Architecture: amd64
> BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
> CompositorRunning: None
> CurrentDesktop: ubuntu:GNOME
> Date: Thu Mar 7 10:39:50 2019
> DistUpgraded: 2018-10-19 10:50:54,557 ERROR got error from
> PostInstallScript ./xorg_fix_proprietary.py (g-exec-error-quark: Failed to
> execute child process “./xorg_fix_proprietary.py” (No such file or
> directory) (8))
> DistroCodename: cosmic
> DistroVariant: ubuntu
> ExtraDebuggingInterest: Yes, if not too technical
> GraphicsCard:
> NVIDIA Corporation GF108 [GeForce GT 440] [10de:0de0] (rev a1) (prog-if
> 00 [VGA controller])
> Subsystem: NVIDIA Corporation GF108 [GeForce GT 440] [10de:0828]
> InstallationDate: Installed on 2018-08-17 (202 days ago)
> InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64
> (20180426)
> MachineType: BIOSTAR Group A880G+
> ProcEnviron:
> PATH=(custom, no user)
> XDG_RUNTIME_DIR=<set>
> LANG=en_US.UTF-8
> SHELL=/bin/bash
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-generic
> root=UUID=a967adb1-1600-455b-8704-e2bf5de5081d ro quiet splash vt.handoff=1
> SourcePackage: xorg
> UpgradeStatus: Upgraded to cosmic on 2018-10-19 (139 days ago)
> dmi.bios.date: 09/21/2011
> dmi.bios.vendor: American Megatrends Inc.
> dmi.bios.version: 080016
> dmi.board.asset.tag: To Be Filled By O.E.M.
> dm...

Read more...

Daniel van Vugt (vanvugt) wrote :

I wouldn't expect the setting to be remembered across reboots, but it is a setting on the graphics card, so maybe it is remembered?...

Also, I don't think "off" is a default that we should ever aim for. Upstream would probably reject that because for many types of monitor "off" will look worse.

Did "static 2x2" work for you? I am assuming the problem was "auto" defaulting to "dynamic 2x2".

Changed in linux (Ubuntu):
status: Incomplete → Triaged
importance: Undecided → Medium
status: Triaged → Incomplete
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers