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

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

    <bug>
          <bug_id>59352</bug_id>
          
          <creation_ts>2026-05-28 02:26:32 +0300</creation_ts>
          <short_desc>После установки nvidia_glx_common на хостах с GPU Volta и старше user-space остаётся от 595.71.05, тогда как kernel-модуль автоматически понижается до 580.142 — система остаётся в состоянии Driver/library version mismatch, libnvidia-ml неработоспособна.</short_desc>
          <delta_ts>2026-05-28 16:39:27 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>nvidia_glx_595.71.05</component>
          <version>unstable</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</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>pshkourin</reporter>
          <assigned_to name="Sergey V Turchin">zerg</assigned_to>
          <cc>glinkinvd</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>288456</commentid>
    <comment_count>0</comment_count>
      <attachid>21560</attachid>
    <who name="">pshkourin</who>
    <bug_when>2026-05-28 02:26:32 +0300</bug_when>
    <thetext>Created attachment 21560
some logs

На свежей установке ALT p11 JeOS (alt-p11-jeos-systemd-x86_64, релиз от 20260312, ядро 6.12) при штатной установке стека NVIDIA через apt-get install nvidia_glx_common (либо epm play switch-to-nvidia) скрипты пост-установки устанавливают пакет-обёртку kernel-modules-nvidia-6.12-595.71.05 (открытый модуль 595.71.05), затем детектируют несовместимое железо (Tesla V100, Volta, SM 7.0 — открытыми модулями NVIDIA не поддерживается, требуется closed-вариант и драйвер ветки не выше 580.x) и выполняют переключение модуля ядра:
nvidia: switching kernel module from 595.71.05 to 580.142
nvidia: switching kernel module from open to closed
Однако симметричного переключения user-space-библиотек на ветку 580.142 не происходит. В системе одновременно оказываются установлены nvidia_glx_595.71.05, nvidia_glx_580.142, nvidia_glx_470.256.02, nvidia_glx_390.157, но активным остаётся 595.71.05. В результате:

nvidia-smi показывает рассогласование: NVIDIA-SMI 595.71.05, Driver Version: 580.142;
libnvidia-ml.so (от 595) не может инициализироваться против kernel-модуля 580 — NVML: Driver/library version mismatch, nvsandboxutils возвращает result=11;
nvidia-ctk cdi generate падает с failed to initialize NVML: Driver/library version mismatch, /etc/cdi/nvidia.yaml не создаётся, podman не видит ни одного GPU-устройства через CDI;
любые рабочие нагрузки CUDA на хосте и в контейнерах нерабочие.

Попытки вручную привести user-space к 580.142 успеха не дали: пакет nvidia_glx_580.142 присутствует в репозитории и устанавливается, но активная ветка (через alternatives / nvidia-current) при любом штатном пути сваливается обратно на 595.71.05. Деинсталляция всех nvidia_glx_* с последующим повторным epm play switch-to-nvidia приводит ровно к тому же конечному состоянию.
Фактически, после dist-upgrade или свежей установки на любой Volta-карте (и более старых — Pascal, Maxwell, Kepler, по которым тоже отсутствует поддержка в 595.x) хост остаётся без рабочего GPU-стека. С учётом того, что ALT позиционируется как дистрибутив с широкой поддержкой устаревшего и специфичного железа, проблема видится регрессией, требующей внимания.

Steps to Reproduce:

Установить ALT p11 JeOS (alt-p11-jeos-systemd-x86_64, релиз 20260312) на хост с GPU NVIDIA Tesla V100 (или иной картой архитектуры Volta/Pascal/Maxwell/Kepler).
После первого входа:

   apt-get update
   apt-get dist-upgrade -y
   update-kernel -t std-def
   apt-get install -y kernel-headers-modules-std-def
   reboot

Установить NVIDIA-стек штатным путём:

   epm play switch-to-nvidia
(поведение идентично при apt-get install nvidia_glx_common &amp;&amp; nvidia-install-driver).
4. Дождаться завершения post-install скриптов; в логе наблюдать переключение модуля ядра с 595.71.05/open на 580.142/closed.
5. Перезагрузиться.
6. Выполнить:
   nvidia-smi
   nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
   nvidia-ctk cdi list

Actual Results:
nvidia-smi:
NVIDIA-SMI 595.71.05              Driver Version: 580.142        CUDA Version: 13.0
...
Tesla V100-SXM2-32GB
(версия SMI и драйвера разные — рассогласование user-space и kernel-space).
nvidia-ctk cdi generate:
INFO[0000] Using /usr/lib64/libnvidia-ml.so.595.71.05
INFO[0000] Using /etc/libnvidiacurrent/libnvidia-sandboxutils.so.580.142
ERROR: driverInitFileInfo 578 result=11
ERROR: init 664 result=11
ERROR: init 250 result=11
WARN[0000] Failed to init nvsandboxutils: unknown return value: 11; ignoring
WARN[0000] Could not determine driver version: libnvsandboxutils is not available
failed to initialize nvml: Driver/library version mismatch
INFO[0000] Auto-detected mode as &apos;nvml&apos;
ERRO[0000] failed to generate CDI spec: failed to create device CDI specs: failed to construct device spec generators: failed to initialize NVML: Driver/library version mismatch
nvidia-ctk cdi list:
INFO[0000] Found 0 CDI devices
Лог установки (фрагмент):
50: i586-nvidia_glx_470.256.02-470.256.0##### [ 93%]
51: kernel-modules-nvidia-6.12-595.71.05##### [ 94%]
nvidia: switching kernel module from 595.71.05 to 580.142
nvidia: switching kernel module from open to closed
52: i586-nvidia_glx_580.142-580.142-alt3##### [ 96%]
53: i586-nvidia_glx_595.71.05-595.71.05-##### [ 98%]
54: i586-nvidia_glx_390.157-390.157-alt3##### [100%]
GPU compute на хосте недоступен; CDI-проброс в podman/llama.cpp недоступен как следствие.

Expected Results:
После переключения kernel-модуля на ветку 580.142 скрипт пост-установки должен также переключить активную ветку user-space-библиотек (libnvidia-ml, libnvidia-sandboxutils, libcuda и пр.) на соответствующую — 580.142, и пересобрать alternatives/симлинки в /etc/libnvidiacurrent/. После завершения установки:

nvidia-smi показывает совпадающие версии NVIDIA-SMI и Driver Version;
NVML инициализируется без ошибок;
nvidia-ctk cdi generate штатно создаёт /etc/cdi/nvidia.yaml;
nvidia-ctk cdi list показывает доступные GPU;
контейнеризация GPU в podman через --device nvidia.com/gpu=all работает.


Additional Information / Дополнительно:
Воспроизводится строго детерминированно на любом GPU, не поддерживаемом веткой 595.x (Volta и старше). Проблема, по сути, в том, что логика переключения kernel-module под несовместимое железо реализована, а симметричной логики переключения user-space-ветки и alternatives — нет.
Прошу при возможности рассмотреть один из вариантов:

Доработать %post скрипты nvidia_glx_common / kernel-modules-nvidia-6.12-595.71.05 так, чтобы при switching kernel module from X to Y синхронно переключалась активная user-space-ветка на Y и обновлялись соответствующие alternatives.
Либо на этапе выбора пакета на установку детектировать GPU заранее (по PCI ID / cc cap) и сразу ставить совместимую ветку драйвера, не проходя через установку 595.x с последующим откатом.
Сохранить в репозитории и поддерживать ветку 580.x для пользователей карт Volta/Pascal/Maxwell/Kepler — в текущем виде она присутствует, но не «доезжает» до активного состояния при штатной установке.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288489</commentid>
    <comment_count>1</comment_count>
    <who name="Vladislav Glinkin">glinkinvd</who>
    <bug_when>2026-05-28 11:10:50 +0300</bug_when>
    <thetext>&gt; После переключения kernel-модуля на ветку 580.142 скрипт пост-установки должен также 
&gt; переключить активную ветку user-space-библиотек (libnvidia-ml, libnvidia-sandboxutils, 
&gt; libcuda и пр.) на соответствующую — 580.142, и пересобрать alternatives/симлинки в /etc/
&gt; libnvidiacurrent/.

Это реализовано. Схема сборки nvidia изменилась - теперь все необходимые разделяемые библиотеки идут &quot;в комплекте&quot; с драйвером.
```
[root@labelwhim ~]# ls -l /etc/libnvidiacurrent
lrwxrwxrwx 1 root root 26 мая 28 10:49 /etc/libnvidiacurrent -&gt; /usr/lib64/nvidia_580.142/
```
Проблема в том, что в репозитории остались остатки по типу бинарных libnvidia-ml которые собираются из nvidia_glx_libs_595.71.05:
```
[root@labelwhim ~]# rpm -ql libnvidia-ml 
/usr/lib64/libnvidia-ml.so
/usr/lib64/libnvidia-ml.so.1
/usr/lib64/libnvidia-ml.so.595.71.05
[root@labelwhim ~]# ls -l /usr/lib64/libnvidia-ml.so*
lrwxrwxrwx 1 root root      16 мая 12 18:19 /usr/lib64/libnvidia-ml.so -&gt; libnvidianull.so
lrwxrwxrwx 1 root root      25 мая 12 18:19 /usr/lib64/libnvidia-ml.so.1 -&gt; libnvidia-ml.so.595.71.05
-rw-r--r-- 1 root root 2621336 мая 12 18:19 /usr/lib64/libnvidia-ml.so.595.71.05
[root@labelwhim ~]# ldconfig -p | grep libnvidia-ml
        libnvidia-ml.so.1 (libc6,x86-64) =&gt; /etc/libnvidiacurrent/libnvidia-ml.so.1
        libnvidia-ml.so.1 (libc6,x86-64) =&gt; /lib64/libnvidia-ml.so.1
        libnvidia-ml.so.1 (libc6) =&gt; /etc/libnvidia32current/libnvidia-ml.so.1
        libnvidia-ml.so (libc6,x86-64) =&gt; /etc/libnvidiacurrent/libnvidia-ml.so
        libnvidia-ml.so (libc6,x86-64) =&gt; /lib64/libnvidia-ml.so
        libnvidia-ml.so (libc6) =&gt; /etc/libnvidia32current/libnvidia-ml.so
[root@labelwhim ~]# apt-cache whatdepends libnvidia-ml
libnvidia-ml-595.71.05-alt1:p11+415909.320.18.1@1779710523
  i586-libnvidia-ml.32bit-595.71.05-alt1:p11+415909.320.18.1@1779715057
    Depends: libnvidia-ml = 595.71.05-alt1:p11+415909.320.18.1
  nvtop-3.3.2-alt2:p11+409808.200.3.1@1773310056
    Depends: libnvidia-ml
  nvidia-container-toolkit-base-1.18.2-alt1:p11+417897.1400.9.1@1779805475
    Depends: libnvidia-ml
  resources-1.7.1-alt1.1:p11+372203.31200.14.2@1739295564
    Depends: &lt;/usr/lib64/libnvidia-ml.so&gt;
      libnvidia-ml-595.71.05-alt1:p11+415909.320.18.1@1779710523
```

Как временное решение, вы можете сделать:
# mv /usr/lib64/libnvidia-ml.so* ~/
# ldconfig</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288545</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-05-28 14:53:58 +0300</bug_when>
    <thetext>Удалите libnvidia-ml и всё, что выдаст
apt-cache list-unreleased

Пакет libnvidia-ml я сделаю пыстым, просто были препятствия со стороны других пакетов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288546</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-05-28 14:54:27 +0300</bug_when>
    <thetext>&gt; пыстым
пустым</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288550</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-05-28 15:15:04 +0300</bug_when>
    <thetext>На вссякий сделал https://packages.altlinux.org/ru/tasks/419440/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288551</commentid>
    <comment_count>5</comment_count>
    <who name="Vladislav Glinkin">glinkinvd</who>
    <bug_when>2026-05-28 15:30:03 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #4)
&gt; На вссякий сделал https://packages.altlinux.org/ru/tasks/419440/

А `/usr/lib64/libnvidia-ml.so -&gt; libnvidianull.so` нужен в таком случае?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288560</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2026-05-28 16:39:27 +0300</bug_when>
    <thetext>(Ответ для Vladislav Glinkin на комментарий #5)
&gt; А `/usr/lib64/libnvidia-ml.so -&gt; libnvidianull.so` нужен в таком случае?
Жду, когда мантейнер resources уберёт зависимость на него #59069</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>21560</attachid>
            <date>2026-05-28 02:26:32 +0300</date>
            <delta_ts>2026-05-28 02:26:32 +0300</delta_ts>
            <desc>some logs</desc>
            <filename>from 595.71.05 to 580.142.txt</filename>
            <type>text/plain</type>
            <size>3129</size>
            <attacher>pshkourin</attacher>
            
              <data encoding="base64">Li4uDQo1MDogaTU4Ni1udmlkaWFfZ2x4XzQ3MC4yNTYuMDItNDcwLjI1Ni4wIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgWyA5MyVdDQo1MToga2Vy
bmVsLW1vZHVsZXMtbnZpZGlhLTYuMTItNTk1LjcxLjA1IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgWyA5NCVdDQpudmlkaWE6IHN3aXRjaGluZyBr
ZXJuZWwgbW9kdWxlIGZyb20gNTk1LjcxLjA1IHRvIDU4MC4xNDINCm52aWRpYTogc3dpdGNoaW5n
IGtlcm5lbCBtb2R1bGUgZnJvbSBvcGVuIHRvIGNsb3NlZA0KNTI6IGk1ODYtbnZpZGlhX2dseF81
ODAuMTQyLTU4MC4xNDItYWx0MyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIFsgOTYlXQ0KNTM6IGk1ODYtbnZpZGlhX2dseF81OTUuNzEuMDUtNTk1
LjcxLjA1LSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIFsgOTglXQ0KNTQ6IGk1ODYtbnZpZGlhX2dseF8zOTAuMTU3LTM5MC4xNTctYWx0MyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFsxMDAlXQ0K
RG9uZS4NCg0KDQoNCiMgbnZpZGlhLWN0ayBjZGkgbGlzdA0KSU5GT1swMDAwXSBGb3VuZCAwIENE
SSBkZXZpY2VzDQoNCiMgbnZpZGlhLWN0ayBjZGkgZ2VuZXJhdGUgLS1vdXRwdXQ9L2V0Yy9jZGkv
bnZpZGlhLnlhbWwNCklORk9bMDAwMF0gVXNpbmcgL3Vzci9saWI2NC9saWJudmlkaWEtbWwuc28u
NTk1LjcxLjA1DQpJTkZPWzAwMDBdIFVzaW5nIC9ldGMvbGlibnZpZGlhY3VycmVudC9saWJudmlk
aWEtc2FuZGJveHV0aWxzLnNvLjU4MC4xNDINCkVSUk9SOiBkcml2ZXJJbml0RmlsZUluZm8gNTc4
IHJlc3VsdD0xMUVSUk9SOiBpbml0IDY2NCByZXN1bHQ9MTFFUlJPUjogaW5pdCAyNTAgcmVzdWx0
PTExV0FSTlswMDAwXSBGYWlsZWQgdG8gaW5pdCBudnNhbmRib3h1dGlsczogdW5rbm93biByZXR1
cm4gdmFsdWU6IDExOyBpZ25vcmluZw0KV0FSTlswMDAwXSBDb3VsZCBub3QgZGV0ZXJtaW5lIGRy
aXZlciB2ZXJzaW9uOiBsaWJudnNhbmRib3h1dGlscyBpcyBub3QgYXZhaWxhYmxlDQpmYWlsZWQg
dG8gaW5pdGlhbGl6ZSBudm1sOiBEcml2ZXIvbGlicmFyeSB2ZXJzaW9uIG1pc21hdGNoDQpJTkZP
WzAwMDBdIEF1dG8tZGV0ZWN0ZWQgbW9kZSBhcyAnbnZtbCcNCkVSUk9bMDAwMF0gZmFpbGVkIHRv
IGdlbmVyYXRlIENESSBzcGVjOiBmYWlsZWQgdG8gY3JlYXRlIGRldmljZSBDREkgc3BlY3M6IGZh
aWxlZCB0byBjb25zdHJ1Y3QgZGV2aWNlIHNwZWMgZ2VuZXJhdG9yczogZmFpbGVkIHRvIGluaXRp
YWxpemUgTlZNTDogRHJpdmVyL2xpYnJhcnkgdmVyc2lvbiBtaXNtYXRjaA0KDQojIG52aWRpYS1z
bWkNCldlZCBNYXkgMjcgMjI6NDA6NDkgMjAyNg0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKw0KfCBOVklESUEtU01JIDU5NS43MS4wNSAgICAgICAgICAgICAgRHJpdmVyIFZlcnNp
b246IDU4MC4xNDIgICAgICAgIENVREEgVmVyc2lvbjogMTMuMCAgICAgfA0KKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KfCBHUFUgIE5hbWUgICAgICAgICAgICAgICAgIFBlcnNp
c3RlbmNlLU0gfCBCdXMtSWQgICAgICAgICAgRGlzcC5BIHwgVm9sYXRpbGUgVW5jb3JyLiBFQ0Mg
fA0KfCBGYW4gIFRlbXAgICBQZXJmICAgICAgICAgIFB3cjpVc2FnZS9DYXAgfCAgICAgICAgICAg
TWVtb3J5LVVzYWdlIHwgR1BVLVV0aWwgIENvbXB1dGUgTS4gfA0KfCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg
ICAgICAgICBNSUcgTS4gfA0KfD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Kz09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09fA0KfCAg
IDAgIFRlc2xhIFYxMDAtU1hNMi0zMkdCICAgICAgICAgICBPZmYgfCAgIDAwMDAwMDAwOjQ1OjAw
LjAgT2ZmIHwgICAgICAgICAgICAgICAgICAgIDAgfA0KfCBOL0EgICAyOEMgICAgUDAgICAgICAg
ICAgICAgMjJXIC8gIDMwMFcgfCAgICAgICAwTWlCIC8gIDMyNzY4TWlCIHwgICAgICAwJSAgICAg
IERlZmF1bHQgfA0KfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICBOL0EgfA0KKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KDQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0rDQp8IFByb2Nlc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQp8ICBHUFUgICBHSSAg
IENJICAgICAgICAgICAgICBQSUQgICBUeXBlICAgUHJvY2VzcyBuYW1lICAgICAgICAgICAgICAg
ICAgICAgICAgR1BVIE1lbW9yeSB8DQp8ICAgICAgICBJRCAgIElEICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNhZ2UgICAgICB8
DQp8PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT18DQp8ICBObyBydW5uaW5nIHByb2Nl
c3NlcyBmb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8DQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r
</data>

          </attachment>
      

    </bug>

</bugzilla>