How to make the settings in Nvidia-settings permanent

Hi,

I have very bad screen tearing on Ubuntu 19.10

To fix this I enable Force Full Composition Pipeline from nvidia-settings

However, there is no “make default” option, all there is is an option to “Save to X Configuration File”.

Most information I read online says that X Configuration files are not really needed or use.

Also, from a user experience perspective, it is very unclear to me if this does what I want (makes it the default or not).

Anyway, assuming that it is, when I click “Save to X Configuration File” I am presented with a file choosing window. See this https://i.ibb.co/C87G5bB/Screenshot-from-2019-11-11-23-25-19.png

  • How do I know where to save the file?

  • How to I enable Force Full Composition Pipeline by default?

You would normally wite to xorg.conf but you’re on an optimus notebook where this would kill your setup so you have to make the changes manually.
Please create /etc/X11/xorg.conf.d/12-nvidia-comp.conf with contents

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "ForceCompositionPipeline" "DFP-3"
EndSection

@gnerix

How did you know I am on an optimus notebook? I have Optimus enabled in the BIOS. I want to disable it and only use the discrete graphics cards (k2000) but I can not boot into Ubuntu when I do this. However, I have no menu options like “Open with discrete graphics card” so I don’t know if I am actually using Optimus.

As for that file:

  • In /etc/X11 I have no xorg.conf.d directory. Should I make one? I have xorg.conf.nvidia-xconfig-original and xorg.conf.backup

  • Do I create that file AND save settings from Nvidia-settings?

  • Do I select that file /etc/X11/xorg.conf.d/12-nvidia-comp.conf and not do anything from directly within Nvidia-settings?

In the screenshot, the primary monitor is called PRIME:LVDS-1-1, this says it’s an optimus notebook.
Only create that directory and file in it, don’t do anything with nvidia-settings.

I tried that (making the directory and file) however, after a restart the option is not enabled in nvidia-settings and I still have screen tearing.

Any other ideas?
nvidia-bug-report.log.gz (351 KB)

Please run nvidia-bug-report.sh as root and attach the resulting .gz file to your post. Hovering the mouse over an existing post of yours will reveal a paperclip icon.
https://devtalk.nvidia.com/default/topic/1043347/announcements/attaching-files-to-forum-topics-posts/

Thanks for your help so far - the log is attached or is stuck being virus-scanned.

It’s crazy that we have to go through all of this to “set” a setting. On Windows this would be set and applied from the Nvidia control panel, I am wondering why the nvidia-settings app is so different.

As you seem familiar with this - I’d be very interested in why I have to enable Optimus and not the discrete card to get this computer to boot.

Please change DFP-3 to DFP-4 in the file, I had to guess the connector name.
Looking at the logs, you broke your driver by installing the 430 driver from runfile over the 390 driver provided by ubuntu. Please uninstall the .run installer driver by calling it again with --uninstall option, then add the ubuntu graphics ppa https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa and install the driver using the Software&Updates application.

On linux, there is a multitude of possible configurations, especially Optimus notebooks have more than one, often set up by distributions in different ways. nvidia-settings is only capable to catch the most basic nvidia-only cases.

I see,

So after I install the new driver the correct way, I then add that file (i.e. still do nothing from Nvidia-settings) - right?

Is there any way to make sure I am not using Optimus.

Also, do you know of a good way to provide feedback to Nvidia that when:

  • Using their official installer from their website “breaks drivers”
  • Having to add PPAs to get functioning drivers installed
  • Having an Nvidia-settings app that can’t set basic settings, which then need to be set by adding files to protected directories

a user is likely to become frustrated. This is not really an ideal experience. Imagine if a beginner had to do this. I know they can do better and maybe they just need feedback from users?

The file should stay there. Driver uninstall/install shouldn’t touch any user defined settings.
Optimus can only be toggled in bios. Maybe this didn’t work before because of the broken driver. You’ve been very lucky that it worked at all.

The driver installer warned you about this:

-> An alternate method of installing the NVIDIA driver was detected. (This is usually a package provided by your distributor.) A driver installed via that method may integrate better with your system than a driver installed by nvidia-installer.

Please review the message provided by the maintainer of this alternate installation method and decide how to proceed:

The NVIDIA driver provided by Ubuntu can be installed by launching the "Software & Updates" application, and by selecting the NVIDIA driver from the "Additional Drivers" tab.

but you chose to use the crowbar

(Answer: Continue installation)

The linux way to install things is 1. use the standard repo, if not available there, 2. add a repo.
.run installers should only be used by experienced users with special needs.
Ubuntu provides up2date drivers in the standard repo but only for LTS versions. For intermediate versions, they have one current driver + legacy drivers available, the other ones through ppa.

About nvidia-settings: while it should be easily extendable to set any config options using an extra file using the OutputClass directive on any modern Xserver, nvidia-settings has to be compatible to older Xservers (ranging back to 2004 in case of 340 legacy) which don’t understand this. Still, this is of course possible. You could open an issue for a feature request here: https://github.com/NVIDIA/nvidia-settings

Thank you so much for this outstanding support.

I did get that warning and for some reason did ignore it (not to mention I had to boot in recovery mode just to run the installer, and will now have to do the same to uninstall it).

I will try this whole disabling Optimus thing again and post results in another thread. I am pretty sure I tried this with the Nouveau driver, the 340 driver and the 390 driver and they all failed to work unless Optimus was enabled in the BIOS.

The weird part is that, even though I have Optimus enabled, it does not seem like that is actually using Optimus.

I will open and issue on github.

Thanks again, I will mark an accepted answer after I uninstall the graphics driver (I want to clone my machine first as I have to boot into recovery mode to run the driver without X).

Concerning Optimus/Discrete switching: this should just work, especially the discrete case is the most simple one not needing any config. If that desn’t work out of the box with the Ubuntu provided driver, there’s something really wrong. You should create a new nvidia-bug-report.log in that case.

I will try. This issue is that, after the GRUB boot selector, it only boots about 1/10 times (I asked here: https://askubuntu.com/questions/1184882/my-computer-will-not-boot-after-an-upgrade-to-ubuntu-19-10-it-used-to-only-work) and https://askubuntu.com/questions/1156626/ubuntu-rarely-boots-correctly

If I ever have the strength to try booting 10-15 times, and can get to the GUI, I will try to post a new bug report log from a working session.

That looks like bios bugs. Check first if a bios update is available for your notebook. If that doesn’t help, try setting kernel parameters
acpi_osi=! acpi_osi=“Windows 2009”

Okay I will try this and post what happens.

FWIW, I did update the BIOS, as someone suggested to the latest update available for this notebook and still had the same issues.

Thanks again for all your help.

For reference:
https://devtalk.nvidia.com/default/topic/1063087/nvidia-driver-418-not-loading-on-ubuntu-18-04-3/
It’s the same error about the vbios not able to load, also happening suddenly. No conclusion, might be hardware.

What’s weird is that this same laptop used to work with discrete graphics only - it booted every time on Ubuntu 18.04.
A borked Windows update forced my reinstall/update to 19.10 so I am not inclined to believe it is hardware.

You could check if this is a kernel regression by just booting the initial 18.04.0 version
http://old-releases.ubuntu.com/releases/18.04.0/

Okay I uninstalled and reinstalled the old driver.

With the updates to your settings file I do not get screen tearing so I assume that ‘Force Full Composition Pipeline’ is now enabled.

However, when I check in nvidia-settings, it still shows up as disabled.

This is confusing because I want to know if it is enabled or not and that GUI is how I would check this.

Is there a way to get them synced better?
nvidia-bug-report.log.gz (333 KB)

Please create a new nvidia-bug-report.log