<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>46378</bug_id>
          
          <creation_ts>2023-06-04 15:43:39 +0300</creation_ts>
          <short_desc>Добавить nvngx.dll и _nvngx.dll для wine в пакет проприетарных драйверов Nvidia</short_desc>
          <delta_ts>2023-07-04 11:15:24 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Branch p10</product>
          <component>nvidia_glx_libs</component>
          <version>не указана</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Tergoev">tergoev-m</reporter>
          <assigned_to name="Sergey V Turchin">zerg</assigned_to>
          <cc>amakeenk</cc>
    
    <cc>lav</cc>
          
          <qa_contact name="qa-p10@altlinux.org">qa-p10</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>226990</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Tergoev">tergoev-m</who>
    <bug_when>2023-06-04 15:43:39 +0300</bug_when>
    <thetext>Предложение добавить 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227019</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-06-05 11:54:15 +0300</bug_when>
    <thetext>Без проблем могу паковать nvngx.dll и _nvngx.dll, но всегда последнией версии.
А кого надо упаковать?
/usr/lib/nvidia/wine/*nvngx.dll или %_libdir/nvidia/wine/*nvngx.dll ?

P.S.
Если /usr/lib64/nvidia/wine/*nvngx.dl работает, то достаточно подтвердить это.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227020</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-06-05 11:57:10 +0300</bug_when>
    <thetext>(Ответ для Mikhail Tergoev на комментарий #0)
&gt; А вот стимовский протон который ищет эти библиотеки:
&gt; https://github.com/ValveSoftware/Proton/blob/proton_8.0/proton
&gt; тут строчек несколько, по этому ищем : nvidia_wine
Ааа, ок. Сюда надо смотреть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227026</commentid>
    <comment_count>3</comment_count>
    <who name="Mikhail Tergoev">tergoev-m</who>
    <bug_when>2023-06-05 12:48:49 +0300</bug_when>
    <thetext>Стимовский 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 работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227027</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Tergoev">tergoev-m</who>
    <bug_when>2023-06-05 12:56:51 +0300</bug_when>
    <thetext>Забыл добавить тестовый стенд:
ОС: Альт Рабочая станция К (p10)
Ноутбук MAIBENBEN X558 с видеокартой NVIDIA RTX 3060
Драйвер: 525.116.04</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227029</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-06-05 13:24:51 +0300</bug_when>
    <thetext>(Ответ для Mikhail Tergoev на комментарий #3)
&gt; Стимовский proton ищет каталог с /nvidia/wine/*nvngx.dll рядом с текущим
&gt; libGLX_nvidia.so.0
&gt; В нашем случае получается:
&gt; /usr/lib64/nvidia_ВЕРСИЯ.X.X/nvidia/wine/*nvngx.dll
Нет. libGLX_nvidia.so.0 он находит _только_ в %_libdir, т.е. в нашем конкретном случае(учитывая, что есть только для x84_64) получается /usr/lib64/nvidia/wine/*nvngx.dll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227030</commentid>
    <comment_count>6</comment_count>
    <who name="Mikhail Tergoev">tergoev-m</who>
    <bug_when>2023-06-05 13:39:31 +0300</bug_when>
    <thetext>Допустим я ошибся, но как тогда заработал DLSS?
Давайте я сделаю ещё 2 теста:
1 - удалю DLL, проверю что пункт DLSS не активен
2 - закину DLL по вашему варианту и проверю найдет ли из стим.

Проверку сделаю сегодня, но позже.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227031</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-06-05 13:46:33 +0300</bug_when>
    <thetext>Да не, я понял куда положить. Сделаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227032</commentid>
    <comment_count>8</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2023-06-05 13:50:03 +0300</bug_when>
    <thetext>nvidia_glx_libs-525.116.04-alt2 -&gt; sisyphus:

 Mon Jun 05 2023 Sergey V Turchin &lt;zerg@altlinux&gt; 525.116.04-alt2
 - make nvidia-wine package (closes: 46378)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227034</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-06-05 13:55:25 +0300</bug_when>
    <thetext>https://git.altlinux.org/tasks/322485/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227383</commentid>
    <comment_count>10</comment_count>
    <who name="Mikhail Tergoev">tergoev-m</who>
    <bug_when>2023-06-09 17:13:04 +0300</bug_when>
    <thetext>Перепроверил на чистой 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228889</commentid>
    <comment_count>11</comment_count>
    <who name="Mikhail Tergoev">tergoev-m</who>
    <bug_when>2023-07-04 10:50:03 +0300</bug_when>
    <thetext>Версия драйверов: 535.54.03-alt250

DLSS активен и работает. Спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228894</commentid>
    <comment_count>12</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-07-04 11:15:24 +0300</bug_when>
    <thetext>(Ответ для Mikhail Tergoev на комментарий #11)
&gt; DLSS активен и работает. Спасибо.
Отлично!</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>