Настройки сервера NVIDIA X теряются при каждой перезагрузке

Я использую GeForce GTX 770 на Z87 Gigabyte mobo и Windows 8.1 Pro с двойной загрузкой и Ubuntu 12.04.3 LTS. В целом настройка проходит гладко, за исключением случаев, когда речь заходит о производительности видео и 3D в Ubuntu. В какой-то момент у меня возникла печально известная проблема с мерцанием, и я нашел способ ее исправить. Это связано с тем, что карта NVidia переходит в режим низкого энергопотребления, а затем видео и 3D-эффекты страдают от разрывов и заикания. Исправление заключается в том, чтобы перейти в настройки nvidia и изменить режим питания с "Авто" на "Предпочитаю максимальную производительность". Проблема в том, что это работает только до тех пор, пока я не перезагружусь. После перезагрузки настройка сбрасывается, а проблемы все еще сохраняются, поэтому мне приходится вручную снова устанавливать ее для текущего сеанса. Я попробовал gksu-ing и настроить его, но это не сработало. Я попытался отредактировать файл etc/X11/xorg.conf, но он пуст - в этом файле нет ни одной строки... Я прочитал все соответствующие статьи, но в основном люди жалуются на сброс яркости или конфигурации с двумя мониторами, решения которых включают какое-то конкретное приложение, которое мне никак не помогает.

TL; DR: настройки NVidia сбрасываются после перезагрузки, и я перепробовал все, что смог найти в Интернете, но безрезультатно.

Если кто-то знает, что делать в этой ситуации, пожалуйста, поделитесь!

Спасибо!

РЕДАКТИРОВАТЬ [1]: Я еще немного покопался, и, похоже, нет очевидного или безопасного решения. Некоторые люди пытались установить уровень производительности вручную, но сообщают, что это небезопасно и может привести к сбою графического процессора. Однако надежда все еще есть. Я думаю, что это можно было бы сделать с помощью опции NVidia profiles, предоставленной в nvidia-settings. Проблема в том, что нужно знать соответствующий ключ и значение, которое принимает этот ключ.

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

Я не смог найти ни списка возможных ключей, ни каких-либо значений ключей... Наверное, не повезло.

Может кто-нибудь предоставить ссылку или перечислить некоторые полезные из них?

Спасибо!

РЕДАКТИРОВАТЬ [2]: Наконец-то! Спасибо всем за помощь! Я нашел решение с помощью вегард торвунд и этот поток. И благодаря Сообщество Ubuntu Google+ за распространение информации!

  1. Создайте файл xorg.conf с помощью:

    sudo nvidia-xconfig
  2. Найдите раздел "Устройство" в файле xorg.conf и добавьте эту строку внутри раздела:

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

Сохраните и перезагрузите компьютер.

пс. Если вы добавите дополнительные параметры, добавьте ; после 0x3322

Из официальное руководство пользователя:

"4. Автоматическая загрузка Настроек

The NVIDIA X driver does not preserve values set with nvidia-settingsbetween runs of the X server (or even between logging in and loggingout of X, with xdm, gdm, or kdm).  This is intentional, becausedifferent users may have different preferences, thus these settingsare stored on a per user basis in a configuration file stored inthe user's home directory.The configuration file is named "~/.nvidia-settings-rc".  You canspecify a different configuration file name with the "--config"commandline option.After you have run nvidia-settings once and have generated aconfiguration file, you can then run:    nvidia-settings --load-config-onlyat any time in the future to upload these settings to the Xserver again.  For example, you might place the above command inyour ~/.xinitrc file so that your settings are applied automaticallywhen you log in to X.Your .xinitrc file, which controls what X applications shouldbe started when you log into X (or startx), might look somethinglike this:    nvidia-settings --load-config-only &    xterm &    evilwmor:    nvidia-settings --load-config-only &    gnome-sessionIf you do not already have an ~/.xinitrc file, then chances are thatxinit is using a system-wide xinitrc file.  This system wide fileis typically here:    /etc/X11/xinit/xinitrcTo 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/xinitrcSystem administrators may choose to place the nvidia-settings loadcommand directly in the system xinitrc script.Please see the xinit(1) manpage for further details of configuringyour ~/.xinitrc file.

"

Что вы можете сделать, так это создать сценарий, подобный следующему, и запустить его при запуске.

#!/bin/bashnvidia-settings --assign CurrentMetaMode=<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 перейдите в небольшое конфигурационное приложение с именем monitors. При нажатии кнопки "применить" создается файл ~/.config/monitors.xml сохраняется, что служит той же цели, что и xfce displays.xml - он сохраняет все те настройки, которые в настройках nvidia не являются постоянными. Вам придется поиграться, чтобы что-то изменить (чтобы вызвать доступность кнопки применить), если вы случайно настроили макет дисплея на панели графических настроек NVIDIA.Я сделал это И добавил настройки загрузки сверху в xinitrc.

Я проверю, исчезла ли моя проблема с переупорядочением окон после того, как блокировка экрана была активна Все окна переупорядочены на главный монитор

Я смог решить эту проблему в своей системе:

  1. Перейдите на вкладку "Конфигурация настроек nvidia".
  2. Снимите флажок "Включить X отображаемых имен в конфигурационный файл"
  3. Сохранение Текущей Конфигурации

Оказывается, настройки загружались, но отображаемые имена (которые выглядели правильно) не позволяли их установить. Это было на базовой системе с двумя дисплеями.


enter image description here

Система не перезаписывает параметры при перезагрузке. На самом деле nvidia-settings это тот, кто это делает. Откройте терминал и отредактируйте строку "Exec=" в nvidia-settings следующим образом:

"optirun /usr/bin/nvidia-settings -c :8 --config=~/.nvidia-settings-rc"

без кавычек, если вы используете bumblebee, или если вы этого не делаете, команда, вероятно, будет:

"/usr/bin/nvidia-settings --config=~/.nvidia-settings-rc".

Также перед сохранением настроек снимите флажок: "Include X Display Names in the Config File".Система сохраняет ваши настройки от одного сеанса к другому, но в моем случае (Ubuntu Gnome 14.04.1 amd64) У меня есть некоторые ошибки в отношении vdpau и prime. Они могут быть нормальными, учитывая, что я не использую nvidia-prime. Эти ошибки также могут привести к тому, что nvidia-settings переопределит настройки.

Я использую Ubuntu 12.04, и я экспериментировал со своей видеокартой, и, чтобы сказать вам, что у меня была аналогичная проблема, которая была у вас или возникла после перезагрузки, мои настройки nvidia не могли быть применены, и на самом деле мой xorg.conf файл тоже был пуст! Но все это произошло, когда я понизил рейтинг своих драйверов nvidia, и поэтому после всех этих проблем я выполнил простую команду в терминале:

sudo apt-get --reinstall nvidia-settings && sudo apt-get install nvidia-settingsgksudo nvidia-settings

Только то, что я не скажу вам, перезагружал ли я свою систему или нет после переустановки, просто не помню, но после этой процедуры у меня все заработало нормально. Я мог получить доступ к своим настройкам nvidia и применить там любые вещи, такие как maximizer и так далее, он также заменил мой файл xorg.conf полными строками из-за моего оборудования, он даже воссоздает его, когда он удален или потерян. Но все это я делал на свой страх и риск, возможно, это зависит от оборудования.

Если вы используете рабочий стол Gnome (и я предполагаю, что он основан на Gnome).Похоже, Gnome всегда пытается поместить свою конфигурацию поверх настроек nvidia.Я уже пробовал это:https://forums.developer.nvidia.com/t/persist-nvidia-x-server-settings/158102

В основном разрешение дисплея, настроенное с помощью настроек nvidia, постоянно перезаписывается собственной конфигурацией Gnome.

Alt+F2 и по команде введите gksu nvidia-settingsSave X Configuration/etc/X11/xorg.conf

Я нашел решение с помощью Linux Mint 17.2; вам нужно отредактировать файл /home/$user/.config/xfce4/xfce-perchannel-xml/displays.xml.

В нем вы увидите свои дисплеи, и там вы можете установить их оси X и Y; просто отрегулируйте их, и они будут оставаться на месте каждый раз при перезагрузке.

Надеюсь, я смогу помочь нескольким людям в 2020 году и далее: у меня была проблема, из-за которой изменения в программе Nvidia X Server не сохранялись, но я обнаружил, что изменения, внесенные в программу стандартных настроек, сохранялись. Просто сделай так, чтобы они были там.

[Каким-то образом настройка “основного экрана” также, по-видимому, сохраняется, хотя я не знаю как. Мне нужен был проприетарный драйвер, чтобы заставить работать два монитора 4K на моем MSI GeForce GTX 1050 2G в Ubuntu 18.04.4, Nouveau испортился бы, как только были подключены два монитора]