Whenever I full-screen certain applications, my entire screen will slowly begin to get covered by a black filter from the top down (see this YouTube video).

Upon any attempt at a screen refresh (for example, moving a mouse cursor or a game drawing a new frame) will cause the black bar to start from the top again. Doing this may also cause flickering and discoloration on the screen.

Certain applications (like Firefox and the terminal) will not exhibit this behavior, but others (like Google Chrome, Discord, and various games) will. No applications exhibit this behavior when running on the Nouveau driver.

Going back to a constantly-redrawing application (like the Unity desktop) will cause the black screen to not advance anymore, but it will also cause some slight flickering that will fade with time.

I am not able to take a screenshot or record it. This suggests to me that this is something lower-level than the X server or my display manager.

This error does not seem to occur on a guest session (or I have not been able to reproduce it there yet), suggesting something related to a bad configuration is at play. However, creating a new account will bring this bug with it.

What is going on? Is this just a driver bug? Is this a configuration error that just needs fixing somehow?

Current List Of Things Tried™ (that didn't work):

  • Reset all Unity configs
  • Delete NVIDIA settings file and regenerate
  • Uninstall/reinstall NVIDIA drivers
  • Using older NVIDIA drivers
  • Using an alternate display manager (xdm)

Disabling hardware acceleration in Chrome does allow it to function without this issue, but this still doesn't solve the underlying problem - it's not always an option to disable hardware acceleration.

If possible, I'd rather avoid resetting a profile or switching back to open-source drivers. These are both last-resorts in my mind and I still won't know why this happened, meaning I can't report a bug or avoid accidentally triggering it on my new profile if I go down that route.

Operating System: Ubuntu 16.04 LTS
Kernel: 4.10.0-36-generic, 4.11.0-14-generic
Graphics Card: Nvidia GTX 1080 (Not Optimus)
GC Driver: NVIDIA 387.12, repro with 384.90 and 381.22

  • So the issue doesn't occur when you use nouveau and it doesn't occur when you use either nvidia or nouveau with a guest user, am I right there? You have no idea when this started and what you may have done back then, do you? – dessert Oct 12 '17 at 23:07
  • 1
    I did not notice it with nouveau, though I do admit to not testing that thoroughly. I also was not able to reproduce it in the guest session. I will go and test that just to be sure. – Kaz Wolfe Oct 12 '17 at 23:08
  • Deleted answer as it doesn't seem to work. Ping me if no one can find a solution. Also ping me in chat some time when I'm on-line so we can investigate more thoroughly.... – Fabby Oct 13 '17 at 7:58
  • @Fabby Please feel free to join the chatroom Dessert linked above, and I will answer any and all questions about it as soon as I can. – Kaz Wolfe Oct 13 '17 at 20:11

Enable Force Composition Pipeline or Force Full Composition Pipeline on the affected screen from the nvidia-settings app.

Thing to click

Following this, click Apply. The screen may flicker momentarily, but the problem will be resolved immediately afterwards.

Alternatively, if you'd rather not have a true Xorg.conf file (usually a good idea), simply place the following into /usr/share/X11/xorg.conf.d/20-nvidia.conf (create if it does not exist):

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"

Restart your display manager using systemctl restart lightdm.service and it will work perfectly.

Disclaimer: I have no idea how this fixes the issue. It just does.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.