Nvidia + режим ожидания в gnome

Системные сервисы и системы инициализации: systemd, sysvinit и другие


indeviral
Аватара пользователя
Сообщения: 177
Зарегистрирован: 15.08.2022

#

vall:возникнет "окно"
Мы от вас так просто не отстанем будем помогать! Если потребуется то и ногами))
Последний раз редактировалось indeviral 06.01.2023 14:11, всего редактировалось 1 раз.

Ошибки в тексте-неповторимый стиль автора©

indeviral
Аватара пользователя
Сообщения: 177
Зарегистрирован: 15.08.2022

#

vlad196: ○ nvidia-suspend.service - NVIDIA system suspend actions
Loaded: loaded (/usr/lib/systemd/system/nvidia-suspend.service; enabled; p>
Active: inactive (dead)
Запустите его в ручную. Он вообще запускается,?)
# systemctl start nvidia-suspend

Ошибки в тексте-неповторимый стиль автора©

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

vlad196, читай внимательнее - все подробно расписано ... и логично все-таки активировать еще и resume.service

А вообще, по идее, нужно начать с самого простого, запустить suspend с минимумом видео памяти - загрузил систему и нечего не запускать (если что то тяжелое стоит в автозапуске, то отключить) - и выполнить systemctl suspend - если проблем не будет, то тогда есть смысл приступать к решению проблемы …
А вот если проблема не исчзнет (будет как прежде), то особой надежды на решение проблемы нет ...
Последний раз редактировалось vasek 06.01.2023 15:13, всего редактировалось 2 раза.

Ошибки не исчезают с опытом - они просто умнеют

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

indeviral, думается мне, что активация resume.service тоже обязательно ... что думаешь по этому поводу???

Ошибки не исчезают с опытом - они просто умнеют

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

vall:/usr/bin/nvidia-bug-report.sh
Кстати, этот скрипт, если не ошибаюсь, является сценарием для nvidia-debugdump .... что позволяет выполнять debug для nvidia

Ошибки не исчезают с опытом - они просто умнеют

indeviral
Аватара пользователя
Сообщения: 177
Зарегистрирован: 15.08.2022

#

vasek:активация resume.service
nvidia-resume.service? Не наверное не стоит. Судя по wiki сам модуль при загрузке находит сохранённую копию в /tmp и грузится из неё. Вопрос именно чтобы её сохраняло.

Ошибки в тексте-неповторимый стиль автора©

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

indeviral:при загрузке находит сохранённую копию в /tmp
что то я затупил .... значит параметр NVreg_TemporaryFilePath=/var/tmp необходим как при suspend так и при hibernation ???

PS - пришлось лезти в DOC (привожу перевод)
Для сохранения потенциально больших копий видеопамяти драйвер NVIDIA использует безымянные временные файлы. По умолчанию эти файлы создаются в /tmp, но это расположение можно изменить с помощью параметра модуля ядра TemporaryFilePath, например TemporaryFilePath=/run. Целевая файловая система должна поддерживать безымянные временные файлы и быть достаточно большой, чтобы вместить все копии видеопамяти на время циклов управления питанием.

И как я понимаю, что этот параметр можно и не прописывать - файл создается по дефолту в /tmp ... хотя лучше по экспериментировать (так нагляднее)
Последний раз редактировалось vasek 08.01.2023 08:54, всего редактировалось 2 раза.

Ошибки не исчезают с опытом - они просто умнеют

indeviral
Аватара пользователя
Сообщения: 177
Зарегистрирован: 15.08.2022

#

vasek:NVreg_TemporaryFilePath=/var/tmp
Он модулю указывает где искать. Да наверно всегда нужен. Ну если его указать...
vasek: что этот параметр можно и не прописывать - файл создается по дефолту в /tmp
я тоже так понял.

Ошибки в тексте-неповторимый стиль автора©

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

... DEL ...
Последний раз редактировалось vasek 08.01.2023 08:55, всего редактировалось 1 раз.

Ошибки не исчезают с опытом - они просто умнеют

vlad196
Сообщения: 11
Зарегистрирован: 04.01.2023

#

indeviral:
vlad196: ○ nvidia-suspend.service - NVIDIA system suspend actions
Loaded: loaded (/usr/lib/systemd/system/nvidia-suspend.service; enabled; p>
Active: inactive (dead)
Запустите его в ручную. Он вообще запускается,?)
# systemctl start nvidia-suspend
Запускается, как я понимаю, но получается только черный экран. Т.е. компьютер работает, просто экран чёрный
vlad196
Сообщения: 11
Зарегистрирован: 04.01.2023

#

vasek: vlad196, читай внимательнее - все подробно расписано ... и логично все-таки активировать еще и resume.service

А вообще, по идее, нужно начать с самого простого, запустить suspend с минимумом видео памяти - загрузил систему и нечего не запускать (если что-то тяжелое стоит в автозапуске, то отключить) - и выполнить systemctl suspend - если проблем не будет, то тогда есть смысл приступать к решению проблемы …
А вот если проблема не исчезнет (будет как прежде), то особой надежды на решение проблемы нет ...
Да вроде всё внимательно прочитал, или я где-то неправильно Вас понял
Я не написал в предыдущем сообщении, но nvidia suspend hibernate и resume активированы
Далее создан и заполнен /etc/modprobe.d/nvidia-power-management.conf
Nvidia drm modeset тоже прописаны и сгенерированы


А по поводу запуска suspend при запуске системы, без доп нагрузок, то ничего не меняется :( Может пару элементов добавилось, но особо ничего не изменилось.

Хз, я не могу поверить, что проблема с моей видюхой и что она не решаема. Она много у кого, и никто до меня не писал, что проблема именно с rtx картами или именно с 2070 и т.п.
Я на 99% уверен, что если известные решения не помогают, то это я накосячил где-то в своей системе и скорее всего именно при начальных настройках, ибо при чистой переустановке проблема не исчезала.
Сейчас сижу на f2fs файловой системе, читаю доки по ней, может именно она не поддерживает безымянные временные файлы. Что-то пока не хочется сносить всю систему, чтобы повторять на другой ФС...
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

vlad196:Я на 99% уверен, что если известные решения не помогают, то это я накосячил где-то в своей системе
Тогда рекомендую начать с самого простого - создай загрузочную флэшку с SystemRescue , которая сделана на основе ArchLinux.
Загрузись с нее и для начала запусти, прямо из консоли, systemctl suspend … если после выхода все нормально, запусти команду startx - загрузится XFCE … и снова запусти ждущий режим (или из терминала командой systemctl suspend или из меню, найди ждущий режим).
Если проблема сохранится, то скорее всего причина в железе.
Если проблема не наблюдается, то тогда что то в твой системе и нужен дальнейший анализ.

PS - для создания загрузочной флэшки рекомендую исползовать Ventoy ... ничего сложного нет, может почитать это

EDIT - на всякий случай, приведи вывод cat /sys/power/mem_sleep
... и можно немного поэкспериментировать, для чего проверь будет ли проблема при следующих комнадах
echo freeze | sudo tee /sys/power/state .... (suspend-to-idle)
echo mem | sudo tee /sys/power/state .... (suspend-to-RAM - аналог systemctl suspend, тоже действие, только на прямую ... )

Ошибки не исчезают с опытом - они просто умнеют

vlad196
Сообщения: 11
Зарегистрирован: 04.01.2023

#

vasek:
vlad196:Я на 99% уверен, что если известные решения не помогают, то это я накосячил где-то в своей системе
Тогда рекомендую начать с самого простого - создай загрузочную флэшку с SystemRescue , которая сделана на основе ArchLinux.
Загрузись с нее и для начала запусти, прямо из консоли, systemctl suspend … если после выхода все нормально, запусти команду startx - загрузится XFCE … и снова запусти ждущий режим (или из терминала командой systemctl suspend или из меню, найди ждущий режим).
Если проблема сохранится, то скорее всего причина в железе.
Если проблема не наблюдается, то тогда что то в твой системе и нужен дальнейший анализ.

PS - для создания загрузочной флэшки рекомендую исползовать Ventoy ... ничего сложного нет, может почитать это

EDIT - на всякий случай, приведи вывод cat /sys/power/mem_sleep
... и можно немного поэкспериментировать, для чего проверь будет ли проблема при следующих комнадах
echo freeze | sudo tee /sys/power/state .... (suspend-to-idle)
echo mem | sudo tee /sys/power/state .... (suspend-to-RAM - аналог systemctl suspend, тоже действие, только на прямую ... )
Я думаю, это сделать через archiso, заодно так можно будет быстро проверить разный набор пакетов, если, скажем при стандартных пакетах на чистой системе всё будет хорошо с режимом ожидания
Как проверю, я отпишусь, где что заработало, а где нет, только может я не сразу это сделаю, а через день или два :)

upd именно сейчас на системе:
cat /sys/power/mem_sleep вывод
s2idle [deep]
Две последние команды проверю чуть позже
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

vlad196:Я думаю, это сделать через archiso
там чистая консоль и нет графического режима .... а в SystemRescue (или другом Live_USB) имеется
В чистой консоли ты можешь проверить и на действуюшей системе - просто нужно временно деактивировать DM и загрузится по startx (xinitrc) ... кстати это нужно было сделать уже давно ... конечно вероятность наличия проблемы мала, но проверить нужно.

PS - и на archiso ты вряд ли запустишь ждущий режим.

EDID - если тяжело деактивировать DM и загрузиться в тестовую консоль по startx (xinitrc), то можно намного проще - просто загрузиться в rescue mode, для чего нужно загрузиться с параметром ядра rescue ... после загрузки ввести пароль root ... и далее запустить suspend, введя команду
echo mem > /sys/power/state ... после выхода из suspend просто выполни команду exit - продолжится обычная загрузка ...
А вообще, что проще, то и делай ...

Ошибки не исчезают с опытом - они просто умнеют

vlad196
Сообщения: 11
Зарегистрирован: 04.01.2023

#

vasek:
vlad196:Я думаю, это сделать через archiso
там чистая консоль и нет графического режима .... а в SystemRescue (или другом Live_USB) имеется
В чистой консоли ты можешь проверить и на действуюшей системе - просто нужно временно деактивировать DM и загрузится по startx (xinitrc) ... кстати это нужно было сделать уже давно ... конечно вероятность наличия проблемы мала, но проверить нужно.

PS - и на archiso ты вряд ли запустишь ждущий режим.

EDID - если тяжело деактивировать DM и загрузиться в тестовую консоль по startx (xinitrc), то можно намного проще - просто загрузиться в rescue mode, для чего нужно загрузиться с параметром ядра rescue ... после загрузки ввести пароль root ... и далее запустить suspend, введя команду
echo mem > /sys/power/state ... после выхода из suspend просто выполни команду exit - продолжится обычная загрузка ...
А вообще, что проще, то и делай ...
Так в archiso как раз и можно и драйвера и пакеты и модули ядра и первичные скрипты, аля enable gdm устанавливать и т.п.
Ну ладно, в общем всё дело действительно именно в wayland режиме. Когда gdm, ну и соответственно сам gnome на иксах, режим ожидания работает как надо.
vlad196
Сообщения: 11
Зарегистрирован: 04.01.2023

#

Пока только такое решение нашёл:
Reddit
Позже попробую это сделать
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

vlad196:в общем всё дело действительно именно в wayland режиме. Когда gdm, ну и соответственно сам gnome на иксах, режим ожидания работает как надо.
Вот можно было сразу написать, что используешь wayland ??? ... тем более, что в самом начале упонималось, что с wayland имеются проблемы
Прежде чем решать проблему необходимо исключить все сомнительные поделия - пока wayland + nvidia не обладают 100% надежной работой … и нужно было в 1-ую очередь проверить работу в X …
vlad196:Пока только такое решение нашёл: ….
Странно, сколько обсуждали решение проблемы, все подробно описывали, … и приводишь какой то документ - складывается мнение, что ты вообще не внимательно читал и не понял смысл проблемы …
vlad196:Так в archiso как раз и можно и драйвера и пакеты и модули ядра и первичные скрипты, аля enable gdm устанавливать и т.п.
… а это к чему??? ...

На этом обсуждение заканчиваю ...

Ошибки не исчезают с опытом - они просто умнеют

vall
Аватара пользователя
Администрация
Сообщения: 551
Зарегистрирован: 09.08.2022

#

vasek:1. Активировать сервисы systemd
1.
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-resume.service
2. В /etc/modprobe.d/nvidia-power-management.conf
options nvidia Nvreg_PreserveVideoMemoryAllocations=1
3. Параметр ядра nvidia_drm.modeset=1 был включён у меня ранее (для режима KMS).

В результате после выхода из ждущего режима сообщение: "Подсистема эффектов рабочего стола была перезапущена из-за сброса графики" стало появляться намного быстрее ))) Другими словами сброс происходит мгновенно (ранее секунда-полторы). Сначала даже подумал, что вопрос решён. Но нет.

Откатил все изменения назад.
vall
Аватара пользователя
Администрация
Сообщения: 551
Зарегистрирован: 09.08.2022

#

vasek:от можно было сразу написать, что используешь wayland ?
Так это как бы умолчанию уже давно в гноме. Поэтому, предвидя возможную путаницу, специально оговаривал в этом топике, что в моём случае речь идёт об Х-сессии. Но видимо всё-таки тут я внёс некую сумятицу.
Прошу меня извинить.
vall: У меня под иксами в KDE тоже есть такая проблема
...
P.S. Топикстартер отдыхает, работаю за него (не без пользы для себя). Но в иксовой сессии KDE )))
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

vall:Сначала даже подумал, что вопрос решён. Но нет.
Откатил все изменения назад.
Значит не повезло - кому то и не помогает ... главное знаешь суть проблемы

В части Wayland и Nvidia - есть статья
В части Wayland + Nvidia + Suspend - не все однозначно, но решения тоже имется ... правда тоже не 100%

PS - замечания касались только ТС ... топик же его ...

EDIT - to vall - в DOC прописаны два нюанса (привожу на всякий случай)
1. Обратите внимание, что файловые системы, такие как /tmp и /run, часто имеют тип TMPFS и потенциально относительно небольшие.
Попробуй изменить путь, например
options nvidia NVreg_PreserveVideoMemoryAllocations=1 Nvreg_TemporaryFilePath=/var/tmp
надежды мало, но проверить стоит ...
2. … привожу просто для информации ...
При определении подходящего размера поддержки видео памяти рекомендуется начать с общего объема видео памяти, поддерживаемой графическими процессорами, установленными в системе. Например:
nvidia-smi -q -d MEMORY |grep 'FB Memory Usage' -A1
Каждая общая строка, возвращаемая этой командой, отражает видео памяти GPU в MIB. Сумма этих чисел, плюс 5% , является консервативной отправной точкой для размера поддержки видео памяти.

Ошибки не исчезают с опытом - они просто умнеют

Ответить