Bug 54408

Summary: Не работает вулкан на некоторых машинах
Product: Sisyphus Reporter: Roman Alifanov <ghgh2222>
Component: nvidia_glx_commonAssignee: Sergey V Turchin <zerg>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: hobbyte, shad, zerg
Version: unstable   
Hardware: all   
OS: Linux   

Description Roman Alifanov 2025-05-22 12:46:56 MSK
После обновления Сизифа 14 мая у меня перестал работать вулкан через видеокарту NVIDIA GeForce RTX 4060 Laptop GPU

env __NV_PRIME_RENDER_OFFLOAD=1 vulkaninfo --summary

ERROR: [Loader Message] Code 0 : loader_scanned_icd_add: Attempt to retrieve either 'vkGetInstanceProcAddr' or 'vk_icdGetInstanceProcAddr' from ICD libGLX_nvidia.so.0 failed.
ERROR: [Loader Message] Code 0 : loader_icd_scan: Failed loading library associated with ICD JSON libGLX_nvidia.so.0. Ignoring this JSON
ERROR: [Loader Message] Code 0 : loader_create_instance_chain: Failed to find 'vk_optimusGetInstanceProcAddr' in layer "libGLX_nvidia.so.0"
ERROR: [Loader Message] Code 0 : loader_create_device_chain: Failed to find 'vkGetInstanceProcAddr' in layer "libGLX_nvidia.so.0".  Skipping layer.
ERROR: [Loader Message] Code 0 : loader_create_device_chain: Failed to find 'vkGetInstanceProcAddr' in layer "libGLX_nvidia.so.0".  Skipping layer.


Откат на 13 мая мне помог:

epm repo save
epm repo set archive 2025-05-13
epm Downgrade
epm update-kernel
epm repo restore

После отката NVIDIA GeForce RTX 4060 Laptop GPU появилась в vulkaninfo.
Видел несколько людей в чате Ximper Linux с похожими проблемами, откат также помогал
Comment 1 Sergey V Turchin 2025-05-22 21:24:11 MSK
(Ответ для Roman Alifanov на комментарий #0)
> env __NV_PRIME_RENDER_OFFLOAD=1 vulkaninfo --summary
nvidia-prime-run vulkaninfo --summary
так же?
Comment 2 Roman Alifanov 2025-05-23 00:41:23 MSK
(In reply to Sergey V Turchin from comment #1)
> (Ответ для Roman Alifanov на комментарий #0)
> > env __NV_PRIME_RENDER_OFFLOAD=1 vulkaninfo --summary
> nvidia-prime-run vulkaninfo --summary
> так же?

В данный момент проверить не могу, но игры не запускались через эту команду, из чего вывод, что все также
Comment 3 Sergey V Turchin 2025-05-23 07:07:54 MSK
(Ответ для Roman Alifanov на комментарий #2)
> игры не запускались через эту команду,
1-й раз такое вижу.

Прикрепите инфу о системе, выполнив из-под root sosreport из пакета sos.
Comment 4 Aleksandr Shamaraev 2025-05-24 11:28:13 MSK
(Ответ для Sergey V Turchin на комментарий #1)
> (Ответ для Roman Alifanov на комментарий #0)
> > env __NV_PRIME_RENDER_OFFLOAD=1 vulkaninfo --summary
> nvidia-prime-run vulkaninfo --summary
> так же?

Добрый день

~ ❯ nvidia-prime-run vulkaninfo --summary
ERROR: [Loader Message] Code 0 : loader_scanned_icd_add: Attempt to retrieve either 'vkGetInstanceProcAddr' or 'vk_icdGetInstanceProcAddr' from ICD libGLX_nvidia.so.0 failed.
ERROR: [Loader Message] Code 0 : loader_icd_scan: Failed loading library associated with ICD JSON libGLX_nvidia.so.0. Ignoring this JSON
ERROR: [Loader Message] Code 0 : loader_create_instance_chain: Failed to find 'vk_optimusGetInstanceProcAddr' in layer "libGLX_nvidia.so.0"
ERROR: [Loader Message] Code 0 : loader_create_device_chain: Failed to find 'vkGetInstanceProcAddr' in layer "libGLX_nvidia.so.0".  Skipping layer.
ERROR: [Loader Message] Code 0 : loader_create_device_chain: Failed to find 'vkGetInstanceProcAddr' in layer "libGLX_nvidia.so.0".  Skipping layer.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.313


Instance Extensions: count = 24
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_EXT_headless_surface                : extension revision 1
VK_EXT_surface_maintenance1            : extension revision 1
VK_EXT_swapchain_colorspace            : extension revision 5
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6
VK_LUNARG_direct_driver_loading        : extension revision 1

Instance Layers: count = 7
--------------------------
VK_LAYER_MESA_device_select       Linux device selection layer 1.4.303  version 1
VK_LAYER_MESA_overlay             Mesa Overlay layer           1.4.303  version 1
VK_LAYER_NV_optimus               NVIDIA Optimus layer         1.4.303  version 1
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32   Steam Overlay Layer          1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64   Steam Overlay Layer          1.3.207  version 1

Devices:
========
GPU0:
        apiVersion         = 1.4.305
        driverVersion      = 25.0.6
        vendorID           = 0x8086
        deviceID           = 0x46a3
        deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName         = Intel(R) Graphics (ADL GT2)
        driverID           = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
        driverName         = Intel open-source Mesa driver
        driverInfo         = Mesa 25.0.6
        conformanceVersion = 1.4.0.0
        deviceUUID         = 8680a346-0c00-0000-0002-000000000000
        driverUUID         = 10b225e9-1189-f584-f002-642fa9864bf9
GPU1:
        apiVersion         = 1.4.305
        driverVersion      = 0.0.1
        vendorID           = 0x10005
        deviceID           = 0x0000
        deviceType         = PHYSICAL_DEVICE_TYPE_CPU
        deviceName         = llvmpipe (LLVM 19.1.7, 256 bits)
        driverID           = DRIVER_ID_MESA_LLVMPIPE
        driverName         = llvmpipe
        driverInfo         = Mesa 25.0.6 (LLVM 19.1.7)
        conformanceVersion = 1.3.1.1
        deviceUUID         = 6d657361-3235-2e30-2e36-000000000000
        driverUUID         = 6c6c766d-7069-7065-5555-494400000000
~ ❯
Comment 5 Aleksandr Shamaraev 2025-05-24 11:50:22 MSK
~ ❯ nvidia-prime-run steam
steam.sh[30236]: Running Steam on altlinux 20240122 64-bit
steam.sh[30236]: STEAM_RUNTIME is enabled automatically
setup.sh[30288]: Steam runtime environment up-to-date!
steam.sh[30236]: Log already open
steam.sh[30236]: Using supervisor /home/shad/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-supervisor
steam.sh[30236]: Steam client's requirements are satisfied
CProcessEnvironmentManager is ready, 6 preallocated environment variables.
[2025-05-24 19:49:40] Startup - updater built May 19 2025 19:50:58
[2025-05-24 19:49:40] Startup - Steam Client launched with: '/home/shad/.local/share/Steam/ubuntu12_32/steam' '-srt-logger-opened'
CProcessEnvironmentManager is ready, 6 preallocated environment variables.
[2025-05-24 19:49:40] Process started with command-line: '/home/shad/.local/share/Steam/ubuntu12_32/steam' '-child-update-ui' '-child-update-ui-socket' '8' '-srt-logger-opened'
05/24 19:49:40 minidumps folder is set to /tmp/dumps
[2025-05-24 19:49:40] Using update UI: console
05/24 19:49:40 Init: Installing breakpad exception handler for appid(steam)/version(0)/tid(30341)
[2025-05-24 19:49:40] Create window
[2025-05-24 19:49:40] Loading cached metrics from disk (/home/shad/.local/share/Steam/package/steam_client_metrics.bin)
[2025-05-24 19:49:40] Using the following download hosts for Public, Realm steamglobal
[2025-05-24 19:49:40] 1. https://client-update.fastly.steamstatic.com, /, Realm 'steamglobal', weight was 900, source = 'update_hosts_cached.vdf'
[2025-05-24 19:49:40] 2. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2025-05-24 19:49:40] 3. https://client-update.steamstatic.com, /, Realm 'steamglobal', weight was 1, source = 'baked in'
05/24 19:49:40 minidumps folder is set to /tmp/dumps
[2025-05-24 19:49:40] Проверка установки...
[2025-05-24 19:49:40] Verifying file sizes only
[2025-05-24 19:49:40] Set percent complete: 0
[2025-05-24 19:49:40] Set percent complete: -1
[2025-05-24 19:49:40] Set status message: Проверка установки...
[----] Проверка установки...
[2025-05-24 19:49:40] Verification complete
UpdateUI: skip show logo
[2025-05-24 19:49:40] Destroy window

Steam logging initialized: directory: /home/shad/.local/share/Steam/logs

[2025-05-24 19:49:40] ProcessNextMessage: socket disconnected
[2025-05-24 19:49:40] No more messages are expected - exiting
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf659ff50
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf659e5f0
/home/shad/.local/share/Steam/steam.sh: строка 960: 30340 Ошибка сегментирования                   "$STEAMROOT/$STEAMEXEPATH" "$@"
Comment 6 Aleksandr Shamaraev 2025-05-24 12:50:51 MSK
Выключил в настройках гибрид режим, оставил только Nvidia, карточка завелась.. 
порт протон увидел, нативные игры тоже заработали, кроме стартвайна.

Получается глюк при работе с гибридной графикой, скорее всего
Comment 7 Anton 2025-05-24 15:03:52 MSK
Так же отвалился vulkan на десктопе для nv 4060, примерно в тоже время. Обновление от сегодня 24.05.2025 - проблема присутствует.

не в том ли причина:
исходя из /usr/share/vulkan/icd.d/nvidia_icd.json 
{
    "file_format_version" : "1.0.1",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.4.303"
    }
}

оно пытается открыть /lib64/libGLX_nvidia.so.0 (openat(AT_FDCWD, "/lib64/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = 3)
который ссылается на 
/lib64/libGLX_nvidia.so.0 -> ../../etc/X11/lib64_nvidia/libGLX_nvidia.so.0
в свою очередь
/etc/X11/lib64_nvidia/libGLX_nvidia.so.0 -> ../../../usr/lib64/libnvidianull.so
который есть только у нас, вроде.


как минимум
LD_PRELOAD="/usr/lib64/nvidia_570.153.02/libGLX_nvidia.so.0" vulkaninfo --summary

выдаёт приемлемый результат без ошибок.

evices:
========
GPU0:
	apiVersion         = 1.4.305
	driverVersion      = 25.0.6
	vendorID           = 0x8086
	deviceID           = 0x4680
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = Intel(R) UHD Graphics 770 (ADL-S GT1)
	driverID           = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
	driverName         = Intel open-source Mesa driver
	driverInfo         = Mesa 25.0.6
	conformanceVersion = 1.4.0.0
	deviceUUID         = 86808046-0c00-0000-0002-000000000000
	driverUUID         = 10b225e9-1189-f584-f002-642fa9864bf9
GPU1:
	apiVersion         = 1.4.303
	driverVersion      = 570.153.2.0
	vendorID           = 0x10de
	deviceID           = 0x2805
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = NVIDIA GeForce RTX 4060 Ti
	driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
	driverName         = NVIDIA
	driverInfo         = 570.153.02
	conformanceVersion = 1.4.1.0
	deviceUUID         = 0c575f15-3e1a-c8d7-7c97-e79b1d1fadf8
	driverUUID         = 70ebf652-faaf-55d2-8008-fe5a49953688
GPU2:
	apiVersion         = 1.4.305
	driverVersion      = 0.0.1
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 19.1.7, 256 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 25.0.6 (LLVM 19.1.7)
	conformanceVersion = 1.3.1.1
	deviceUUID         = 6d657361-3235-2e30-2e36-000000000000
	driverUUID         = 6c6c766d-7069-7065-5555-494400000000
Comment 8 Anton 2025-05-24 15:29:40 MSK
(In reply to Anton from comment #7)
> Так же отвалился vulkan на десктопе для nv 4060, примерно в тоже время.
> Обновление от сегодня 24.05.2025 - проблема присутствует.
> 
если важно: wayland Hyprland.
Comment 9 Anton 2025-05-24 16:17:48 MSK
в p11, например:
nvidia_glx_common-570.133.07-alt289.x86_64

/lib64/libGLX_nvidia.so.0 -> ../../etc/X11/lib64_nvidia/libGLX_nvidia.so.0
/etc/X11/lib64_nvidia/libGLX_nvidia.so.0 -> /usr/lib64/nvidia_570.133.07/libGLX_nvidia.so.0

сизифов пакет: nvidia_glx_common-570.153.02-alt292.x86_64
Comment 10 Sergey V Turchin 2025-05-26 10:55:05 MSK
Переключалку сломал, пойду чинить.
Видно по 
$ l /etc/X11/lib64_nvidia
Comment 11 Sergey V Turchin 2025-05-26 10:56:51 MSK
Пока поможет одноразовый запуск
/usr/libexec/X11/drv.d/nvidia -v
Comment 12 Repository Robot 2025-05-26 11:14:27 MSK
nvidia_glx_common-570.153.02-alt293 -> sisyphus:

 Mon May 26 2025 Sergey V Turchin <zerg@altlinux> 570.153.02-alt293
 - fix switch libraries (closes: 54408)
Comment 13 Aleksandr Shamaraev 2025-05-26 12:04:28 MSK
Спасибо
Comment 14 Roman Alifanov 2025-05-26 18:41:17 MSK
Спасибо!
Comment 15 Sergey V Turchin 2025-05-27 16:50:58 MSK
> /usr/libexec/X11/drv.d/nvidia -v
Это понадобится всем, кого затронуло до тех пор пока не обновиться версия ядра или nvidia.
Comment 16 Anton 2025-05-27 18:06:19 MSK
Благодарю.
я руками сразу налинковал...

Вопрос, раз уж тут утилиту вспомнили
/etc/X11/lib64_nvidia/libnvidia-tls.so.1 -> /usr/lib64/nvidia_570.153.02/libnvidia-tls-tls.so.1
/etc/X11/lib64_nvidia/libGLcore.so.1 -> /usr/lib64/nvidia_570.153.02/libGLcore.so.1

l /usr/lib64/nvidia_570.153.02/libnvidia-tls-tls.so.1
ls: cannot access '/usr/lib64/nvidia_570.153.02/libnvidia-tls-tls.so.1': No such file or directory

это нормальное поведение?

ибо там имена "похожие" иные
/usr/lib64/libnvidia-glcore.so.570.153.02
/usr/lib64/libnvidia-tls.so.570.153.02

или это отдельным багом?
Comment 17 Sergey V Turchin 2025-05-28 09:51:34 MSK
(Ответ для Anton на комментарий #16)
> Благодарю.
> я руками сразу налинковал...

(Ответ для Sergey V Turchin на комментарий #11)
> Пока поможет одноразовый запуск
> /usr/libexec/X11/drv.d/nvidia -v
Это всё, что надо сделать.
Comment 18 Sergey V Turchin 2025-05-28 10:16:55 MSK
(Ответ для Anton на комментарий #16)
> l /usr/lib64/nvidia_570.153.02/libnvidia-tls-tls.so.1
> ls: cannot access '/usr/lib64/nvidia_570.153.02/libnvidia-tls-tls.so.1': No
> such file or directory
> 
> это нормальное поведение?
Да. Решил, что битые ссылки лучше усложнения кода. Из-за несоответствия списка файлов в разных версиях драйвера.
Comment 19 Anton 2025-05-28 18:19:12 MSK
(In reply to Sergey V Turchin from comment #17)
> (Ответ для Anton на комментарий #16)
> > Благодарю.
> > я руками сразу налинковал...
> 
> (Ответ для Sergey V Turchin на комментарий #11)
> > Пока поможет одноразовый запуск
> > /usr/libexec/X11/drv.d/nvidia -v
> Это всё, что надо сделать.

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

(In reply to Sergey V Turchin from comment #18)
> (Ответ для Anton на комментарий #16)
> > l /usr/lib64/nvidia_570.153.02/libnvidia-tls-tls.so.1
> > ls: cannot access '/usr/lib64/nvidia_570.153.02/libnvidia-tls-tls.so.1': No
> > such file or directory
> > 
> > это нормальное поведение?
> Да. Решил, что битые ссылки лучше усложнения кода. Из-за несоответствия
> списка файлов в разных версиях драйвера.

если это не ломает ничего, да будет так.

Благодарю за работу.
Comment 20 Sergey V Turchin 2025-05-29 09:49:10 MSK
(Ответ для Anton на комментарий #19)
> > > /usr/libexec/X11/drv.d/nvidia -v
> > Это всё, что надо сделать.
> 
> Благодарю, но я до вашего ответа это сделал. Теперь, возможно запомню...
Не надо. Это для конкретного случая.

Если для общего, то для активации переключалки нужно указать несуществующую версию в
/lib/modules/`uname -r`/.versions/nvidia
, потом от root запустить
/usr/libexec/X11/drvpre.d/nvidia -v
или перезагрузиться.