Summary: | Добавить NVreg_PreserveVideoMemoryAllocations=1 и NVreg_TemporaryFilePath= | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vladislav Babenko <vlad1.96> |
Component: | nvidia_glx_common | Assignee: | Sergey V Turchin <zerg> |
Status: | CLOSED WORKSFORME | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P5 | CC: | zerg |
Version: | unstable | ||
Hardware: | x86 | ||
OS: | Linux |
Description
Vladislav Babenko
2024-04-09 18:39:36 MSK
В 2-х словах: Если сейчас в Wayland выйти в спящий режим или гибернизацию, в большинстве случаев будет потеря элементов экрана. Если modeset=1 в пакет добавили, то может и решение проблем с сохранением видеопамяти тоже добавить? > И есть ещё отдельный вопрос
Отдельный вопрос -- отделный баг. В этом отдельные вопросы будут создавать бардак.
(Ответ для Vladislav Babenko на комментарий #1) > Если сейчас в Wayland выйти в спящий режим или гибернизацию, в большинстве > случаев будет потеря элементов экрана. Как воспроизвести? Как воспроизвести: Зайти в сессию с wayland режимом, перейти в спящий режим. Главный момент, чтобы выделенных ресурсов видеопамяти было больше, чем выделено в оперативке. Т.е. если ОЗУ 8 гигов, а в самой карте от силы 1 или 2 гига, то скорее всего всё будет хорошо. Это происходит, когда примерный паритет ram и vram, либо 2-ой больше. Что ожидаю: корректное отображение элементов. Что происходит: Отсутствие элементов графики на экране. Текстов, объектов, задников. На самом деле, в документации описана 2 варианта. 1-ый, про который я описал и 2-ой, связанный с режимом сна в s0ix. И у того и у того есть свои нюансы. Например, от 1-го варианта на некоторых устройствах с prime могут быть проблемы. Им необходим 2-ой вариант, который, как раз больше для переносных устройств подходит и не работает на стационарных. Я теперь не уверен, должно ли это быть в самом пакете. Бегло посмотрел на других дистрибутивах и ничего такого не обнаружил (но сам nvidia_drm.modeset=1 при этом есть). Для этого необходимо какое-то комплексное решение, и скорее всего, такое делать в самом пакете не стоит. По крайней мере, пока у других это не появится и неотработается. (Ответ для Vladislav Babenko на комментарий #4) > Это происходит, когда примерный паритет ram и vram, либо 2-ой больше. Такое довольно редко бывает. [...] > Бегло посмотрел на > других дистрибутивах и ничего такого не обнаружил (но сам > nvidia_drm.modeset=1 при этом есть). Да. > Для этого необходимо какое-то комплексное решение Документация. >, и скорее всего, такое делать в самом пакете не стоит. > По крайней мере, пока у других это не появится и неотработается. Согласен. (Ответ для Sergey V Turchin на комментарий #5) > (Ответ для Vladislav Babenko на комментарий #4) > > Это происходит, когда примерный паритет ram и vram, либо 2-ой больше. > Такое довольно редко бывает. Как раз наоборот, частно. Я написал неправильную вещь насчёт паритета. У меня, например 8 gb vram и 16 ram и мне уже не хватает. А в дешёвых и средних сегментах уже есть видеокарты и с 8, и с 12 гб vram. Я не знаю сколько выделяется в системной памяти для пространства драйвера, но этого мало для сохранения всех ресурсов видеопамяти. Например, у GDM есть свой файл с udev.rules, который запрещает режим wayland на nvidia, если не включена одна из этих опций. Правило для 1 способа: https://git.altlinux.org/srpms/g/gdm.git?p=gdm.git;a=blob;f=gdm/data/61-gdm.rules.in;h=010f9eb1ab9f4ce5085cdcefc509592107fc948c;hb=46.0-alt1#l41 И правило для 2-го способа, которые появились недавно и поэтому только в аппстриме: https://gitlab.gnome.org/GNOME/gdm/-/blob/main/data/61-gdm.rules.in?ref_type=heads#L42 В самой документации Nvidia написано: "However, these allocations are collectively large, and TYPICALY cannot be evicted. Since the amount of system memory available to drivers at suspend time is OFTEN insufficient to accommodate large portions of video memory, the nvidia kernel drivers are designed to act conservatively, and normally only save essential video memory allocations." Я согласен, что по крайней мере пока в других дистрибутивах этого не появилось, не стоит с этим торопиться, но само решение этой проблемы насущее. Спасибо Вам Сергей, за уделённое время! |