当前位置: 首页>>技术教程>>正文


每次重启都会丢失 NVIDIA X 服务器设置

,

问题描述

我在 Z87 Gigabyte 主板和 dual-boot Windows 8.1 Pro 和 Ubuntu 12.04.3 LTS 上运行 GeForce GTX 770。除了 Ubuntu 中的视频和 3D 性能外,该设置总体上运行平稳。我曾经遇到过臭名昭著的闪烁问题,并找到了解决方法。这与 NVidia 卡进入 low-power 模式有关,然后视频和 3D 效果会出现撕裂和卡顿。修复方法是转到 nvidia-settings 并将 power-mode 从 ‘Auto’ 更改为“Prefer Maximum Performance”。问题是这仅在我重新启动之前有效。重新启动后,设置被清除,问题仍然存在,所以我必须为当前会话再次手动设置。我尝试了 gksu-ing 并设置它,但它没有用。我试图编辑 etc/X11/xorg.conf,但它是空的 – 该文件中有零行……我阅读了所有相关文章,但主要是人们抱怨亮度被重置或 dual-monitor 配置,这些解决方案涉及一些对我没有任何帮助的特定应用程序。

TL;DR: NVidia 设置在重新启动后重置,并尝试了我在 Internet 上可以找到的所有内容,但效果不佳。

如果有人知道在这种情况下该怎么做,请分享!

谢谢!

编辑[1]:我做了一些进一步的挖掘,似乎没有明显或安全的解决方案。有些人尝试手动设置性能级别,但报告它不安全并且可能会杀死 GPU。不过还是有希望的。我认为这可以通过 nvidia-settings 提供的 NVidia 配置文件选项来完成。问题是人们需要知道有问题的密钥以及该密钥接受的值。

I could have put a screenshot here, but I need rep => 10...

我找不到可能的键列表,也找不到任何键值……我猜不走运。

有人可以提供链接或列出一些有用的链接吗?

谢谢!

编辑[2]:终于!感谢大家的帮助!我在 vegard torvundthis thread 的帮助下找到了解决方案。感谢 Ubuntu Google+ Community 的宣传!

最佳答案

  1. 通过以下方式创建 xorg.conf 文件:

    sudo nvidia-xconfig
    
  2. 在 xorg.conf 文件中查找 Section “Device” 部分并在该部分中添加以下行:

    Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3322"
    

保存并重新启动您的机器。

PS。如果添加更多参数,请在 0x3322 后添加 ;

次佳答案

official user guide

“4. 自动加载设置

The NVIDIA X driver does not preserve values set with nvidia-settings
between runs of the X server (or even between logging in and logging
out of X, with xdm, gdm, or kdm).  This is intentional, because
different users may have different preferences, thus these settings
are stored on a per user basis in a configuration file stored in
the user's home directory.

The configuration file is named "~/.nvidia-settings-rc".  You can
specify a different configuration file name with the "--config"
commandline option.

After you have run nvidia-settings once and have generated a
configuration file, you can then run:

    nvidia-settings --load-config-only

at any time in the future to upload these settings to the X
server again.  For example, you might place the above command in
your ~/.xinitrc file so that your settings are applied automatically
when you log in to X.

Your .xinitrc file, which controls what X applications should
be started when you log into X (or startx), might look something
like this:

    nvidia-settings --load-config-only &
    xterm &
    evilwm

or:

    nvidia-settings --load-config-only &
    gnome-session

If you do not already have an ~/.xinitrc file, then chances are that
xinit is using a system-wide xinitrc file.  This system wide file
is typically here:

    /etc/X11/xinit/xinitrc

To use it, but also have nvidia-settings upload your settings,
you could create an ~/.xinitrc with the contents:

    nvidia-settings --load-config-only &
    . /etc/X11/xinit/xinitrc

System administrators may choose to place the nvidia-settings load
command directly in the system xinitrc script.

Please see the xinit(1) manpage for further details of configuring
your ~/.xinitrc file.

第三种答案

您可以做的是创建一个如下所示的脚本并在启动时运行它。

#!/bin/bash
nvidia-settings --assign CurrentMetaMode=<display_settings>

您将 <display_settings> 替换为 display-settings。 display-settings 可能如下所示:

"DVI-D-0: nvidia-auto-select +0+0, DP-0.1: nvidia-auto-select +1920+0, DP-0.8: nvidia-auto-select +0+0, HDMI-0: nvidia-auto-select +1920+0" 

您可以从“X 配置文件”中获取显示设置。

您可以通过“启动应用程序首选项”程序在启动时运行它。

您可以通过终端中的 gnome-session-properties 启动“启动应用程序首选项”。

第四种答案

在 Linux Mint 18 Cinnamon 上,转到名为 monitor 的小配置应用程序。当按下 “apply” 时,文件 ~/.config/monitors.xml 被保存,其用途与 xfce display.xml 相同 – 它保存所有这些设置,在 nvidia 中设置不是持久的。如果您碰巧在 NVIDIA 图形设置面板中配置了显示布局,则必须尝试更改某些内容(以触发应用按钮的可用性)。我这样做并将上面的 load-settings 添加到 xinitrc。

我将检查屏幕锁定激活后我的 window-reordering 问题现在是否消失了 All windows reordered to main monitor

第五种答案

我能够在我的系统上解决这个问题:

  1. 导航到“nvidia-settings 配置”选项卡。

  2. 取消选中“在配置文件中包含 X 显示名称”

  3. 保存当前配置

事实证明设置正在加载,但显示名称(看起来正确)阻止它们被设置。这是在基本的双显示系统上。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12638.html,未经允许,请勿转载。