Bug 46378 - Добавить nvngx.dll и _nvngx.dll для wine в пакет проприетарных драйверов Nvidia
Summary: Добавить nvngx.dll и _nvngx.dll для wine в пакет проприетарных драйверов Nvidia
Status: CLOSED FIXED
Alias: None
Product: Branch p10
Classification: Unclassified
Component: nvidia_glx_libs (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-04 15:43 MSK by Mikhail Tergoev
Modified: 2023-07-04 11:15 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Tergoev 2023-06-04 15:43:39 MSK
Предложение добавить nvngx.dll и _nvngx.dll в пакет проприетарных драйверов Nvidia для работы нативных версий DLSS для видеокарт от NVIDIA серии RTX.

Пример той же баги, но для NixOS:
https://github.com/NixOS/nixpkgs/issues/177533

Пример спека с Росы:
https://abf.io/import/nvidia470/blob/rosa2023.1/nvidia470.spec
24 строка 
%define nvidia_wine         %{_libdir}/%{drivername}/wine
1219 и 1220 строки:
%{nvidia_wine}/_nvngx.dl
%{nvidia_wine}/nvngx.dll


А вот стимовский протон который ищет эти библиотеки:
https://github.com/ValveSoftware/Proton/blob/proton_8.0/proton
тут строчек несколько, по этому ищем : nvidia_wine
Comment 1 Sergey V Turchin 2023-06-05 11:54:15 MSK
Без проблем могу паковать nvngx.dll и _nvngx.dll, но всегда последнией версии.
А кого надо упаковать?
/usr/lib/nvidia/wine/*nvngx.dll или %_libdir/nvidia/wine/*nvngx.dll ?

P.S.
Если /usr/lib64/nvidia/wine/*nvngx.dl работает, то достаточно подтвердить это.
Comment 2 Sergey V Turchin 2023-06-05 11:57:10 MSK
(Ответ для Mikhail Tergoev на комментарий #0)
> А вот стимовский протон который ищет эти библиотеки:
> https://github.com/ValveSoftware/Proton/blob/proton_8.0/proton
> тут строчек несколько, по этому ищем : nvidia_wine
Ааа, ок. Сюда надо смотреть.
Comment 3 Mikhail Tergoev 2023-06-05 12:48:49 MSK
Стимовский proton ищет каталог с /nvidia/wine/*nvngx.dll рядом с текущим libGLX_nvidia.so.0
В нашем случае получается: /usr/lib64/nvidia_ВЕРСИЯ.X.X/nvidia/wine/*nvngx.dll

Провел тест:
Закинул вручную *nvngx.dll gj по пути указанной выше, запустил игру control в стиме с параметрами запуска:
PROTON_ENABLE_NVAPI=1 VKD3D_CONFIG=dxr11 VKD3D_FEATURE_LEVEL=12_1 PROTON_HIDE_NVIDIA_GPU=0 %command% 

Результат: 
В настройках игры пункт DLSS активен. DLSS работает.
Comment 4 Mikhail Tergoev 2023-06-05 12:56:51 MSK
Забыл добавить тестовый стенд:
ОС: Альт Рабочая станция К (p10)
Ноутбук MAIBENBEN X558 с видеокартой NVIDIA RTX 3060
Драйвер: 525.116.04
Comment 5 Sergey V Turchin 2023-06-05 13:24:51 MSK
(Ответ для Mikhail Tergoev на комментарий #3)
> Стимовский proton ищет каталог с /nvidia/wine/*nvngx.dll рядом с текущим
> libGLX_nvidia.so.0
> В нашем случае получается:
> /usr/lib64/nvidia_ВЕРСИЯ.X.X/nvidia/wine/*nvngx.dll
Нет. libGLX_nvidia.so.0 он находит _только_ в %_libdir, т.е. в нашем конкретном случае(учитывая, что есть только для x84_64) получается /usr/lib64/nvidia/wine/*nvngx.dll
Comment 6 Mikhail Tergoev 2023-06-05 13:39:31 MSK
Допустим я ошибся, но как тогда заработал DLSS?
Давайте я сделаю ещё 2 теста:
1 - удалю DLL, проверю что пункт DLSS не активен
2 - закину DLL по вашему варианту и проверю найдет ли из стим.

Проверку сделаю сегодня, но позже.
Comment 7 Sergey V Turchin 2023-06-05 13:46:33 MSK
Да не, я понял куда положить. Сделаю.
Comment 8 Repository Robot 2023-06-05 13:50:03 MSK
nvidia_glx_libs-525.116.04-alt2 -> sisyphus:

 Mon Jun 05 2023 Sergey V Turchin <zerg@altlinux> 525.116.04-alt2
 - make nvidia-wine package (closes: 46378)
Comment 9 Sergey V Turchin 2023-06-05 13:55:25 MSK
https://git.altlinux.org/tasks/322485/
Comment 10 Mikhail Tergoev 2023-06-09 17:13:04 MSK
Перепроверил на чистой regular KDE (Sisyphus):
после установки пакета nvidia-wine расположение *nvngx:
/usr/lib64/nvidia/wine

Провел тест:
Запустил игру control в стиме с параметрами запуска:
PROTON_ENABLE_NVAPI=1 VKD3D_CONFIG=dxr11 VKD3D_FEATURE_LEVEL=12_1 PROTON_HIDE_NVIDIA_GPU=0 %command% 

Результат: 
В настройках игры пункт DLSS неактивен. DLSS не работает.


После ручного перемещения:
# mv /usr/lib64/nvidia /usr/lib64/nvidia_ВЕРСИЯ.X.X/
то есть итоговый путь до *nvngx.dll стал:
/usr/lib64/nvidia_ВЕРСИЯ.X.X/nvidia/wine/*nvngx.dll

Запустил ту же игру и с теми же параметрами. 
Результат: В настройках игры пункт DLSS активен. DLSS работает.

Вывод:
Как и говорил ранее, стимовский proton ищет каталог с /nvidia/wine/*nvngx.dll рядом с текущим libGLX_nvidia.so.0
Comment 11 Mikhail Tergoev 2023-07-04 10:50:03 MSK
Версия драйверов: 535.54.03-alt250

DLSS активен и работает. Спасибо.
Comment 12 Sergey V Turchin 2023-07-04 11:15:24 MSK
(Ответ для Mikhail Tergoev на комментарий #11)
> DLSS активен и работает. Спасибо.
Отлично!