• [^] # Re: Jungle

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche La pile graphique d’AMD sous Linux est désormais complètement libre. Évalué à 10.

    La commande pour Vulkan est vulkaninfo --summary (ou vulkaninfo si tu veux beaucoup de lignes).
    Le pilote Vulkan de base est RADV. Par exemple de mon côté j’ai :

    $ vulkaninfo --summary
    ==========
    VULKANINFO
    ==========
    Vulkan Instance Version: 1.3.275
    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 4
    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 = 6
    --------------------------
    VK_LAYER_INTEL_nullhw INTEL NULL HW 1.1.73 version 1
    VK_LAYER_MANGOHUD_overlay_x86_64 Vulkan Hud Overlay 1.3.0 version 1
    VK_LAYER_MESA_device_select Linux device selection layer 1.3.211 version 1
    VK_LAYER_MESA_overlay Mesa Overlay layer 1.3.211 version 1
    VK_LAYER_RENDERDOC_Capture Debugging capture layer for RenderDoc 1.3.131 version 27
    VK_LAYER_VKBASALT_post_processing a post processing layer 1.3.223 version 1
    Devices:
    ========
    GPU0:
     apiVersion = 1.3.289
     driverVersion = 24.2.8
     vendorID = 0x1002
     deviceID = 0x7480
     deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
     deviceName = AMD Radeon PRO W7600 (RADV NAVI33)
     driverID = DRIVER_ID_MESA_RADV
     driverName = radv
     driverInfo = Mesa 24.2.8-1ubuntu1~24.04.1
     conformanceVersion = 1.3.0.0
     deviceUUID = 00000000-8300-0000-0000-000000000000
     driverUUID = 414d442d-4d45-5341-2d44-525600000000
    GPU1:
     apiVersion = 1.3.289
     driverVersion = 0.0.1
     vendorID = 0x10005
     deviceID = 0x0000
     deviceType = PHYSICAL_DEVICE_TYPE_CPU
     deviceName = llvmpipe (LLVM 19.1.1, 256 bits)
     driverID = DRIVER_ID_MESA_LLVMPIPE
     driverName = llvmpipe
     driverInfo = Mesa 24.2.8-1ubuntu1~24.04.1 (LLVM 19.1.1)
     conformanceVersion = 1.3.1.1
     deviceUUID = 6d657361-3234-2e32-2e38-2d3175627500
     driverUUID = 6c6c766d-7069-7065-5555-494400000000
    

    Comme pour moi ça peut éventuellement lister une seconde « GPU » (llvmpipe) qui est en fait une implémentation CPU de secours s’il n’y a pas de GPU prenant en charge Vulkan (les deux s’affichent quand même).

    Il n’y a pas de raison que ta distribution n’installe pas le pilote RADV, il est fourni en standard depuis très longtemps maintenant. Il est possible que la commande vulkaninfo ne soit pas installée, mais le pilote devrait déjà être là.

    En quelque sorte Vulkan fait double emploi avec OpenGL dans le sens que ça a la même fonction : être utilisé par des applications pour afficher des choses à l’écran. Mais ça ne fait pas double emploi dans le sens que certaines applications utilisent OpenGL, et d’autres applications utilisent Vulkan, donc il faut avoir les deux, ce n’est pas interchangeable pour l’utilisateur.

    Pour info, la commande standard pour vérifier OpenGL est glxinfo -B sous X11 (-B pour brief, entrer seulement glxinfo pour avoir la sortie bavarde), et eglinfo -B sous Wayland (eglinfo pour la sortie bavarde). Ici ta commande inxi râle un peu parce que tu es sous Wayland mais tu n’as que glxinfo d’installé et pas eglinfo. Comme mentionné tu peux entrer inxi --recommends pour en savoir plus sur les outils utilisables par inxi.

    Par exemple:

    $ glxinfo -B
    name of display: :1
    display: :1 screen: 0
    direct rendering: Yes
    Extended renderer info (GLX_MESA_query_renderer):
     Vendor: AMD (0x1002)
     Device: AMD Radeon PRO W7600 (radeonsi, navi33, LLVM 19.1.1, DRM 3.63, 6.8.0-63-generic) (0x7480)
     Version: 24.2.8
     Accelerated: yes
     Video memory: 8192MB
     Unified memory: no
     Preferred profile: core (0x1)
     Max core profile version: 4.6
     Max compat profile version: 4.6
     Max GLES1 profile version: 1.1
     Max GLES[23] profile version: 3.2
    Memory info (GL_ATI_meminfo):
     VBO free memory - total: 3476 MB, largest block: 3476 MB
     VBO free aux. memory - total: 115256 MB, largest block: 115256 MB
     Texture free memory - total: 3476 MB, largest block: 3476 MB
     Texture free aux. memory - total: 115256 MB, largest block: 115256 MB
     Renderbuffer free memory - total: 3476 MB, largest block: 3476 MB
     Renderbuffer free aux. memory - total: 115256 MB, largest block: 115256 MB
    Memory info (GL_NVX_gpu_memory_info):
     Dedicated video memory: 8192 MB
     Total available memory: 136967 MB
     Currently available dedicated video memory: 3476 MB
    OpenGL vendor string: AMD
    OpenGL renderer string: AMD Radeon PRO W7600 (radeonsi, navi33, LLVM 19.1.1, DRM 3.63, 6.8.0-63-generic)
    OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.2.8-1ubuntu1~24.04.1
    OpenGL core profile shading language version string: 4.60
    OpenGL core profile context flags: (none)
    OpenGL core profile profile mask: core profile
    OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.2.8-1ubuntu1~24.04.1
    OpenGL shading language version string: 4.60
    OpenGL context flags: (none)
    OpenGL profile mask: compatibility profile
    OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.2.8-1ubuntu1~24.04.1
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
    

    Et pour OpenCL la commande est clinfo -l (ou clinfo quand on aime scroller), commande qui n’est généralement pas installée par défaut. Le pilote rusticl n’est pas toujours installé par défaut, sur Ubuntu par exemple c’est le paquet mesa-opencl-icd, et comme il est encore expérimental il faut généralement mettre une variable d’environnement explicite pour l’activer.

    Par exemple de mon côté sur Ubuntu 24.04, avec à la fois ROCm et RustiCL :

    $ RUSTICL_ENABLE=radeonsi clinfo -l
    Platform #0: AMD Accelerated Parallel Processing
     `-- Device #0: gfx1102
    Platform #1: rusticl
     `-- Device #0: AMD Radeon PRO W7600 (radeonsi, navi33, LLVM 19.1.1, DRM 3.63, 6.8.0-63-generic)
    

    Pour résumer il est probable que ta distribution installe par défaut RadeonSI pour OpenGL, RadeonSI pour VA-API, ainsi que RADV pour Vulkan, et propose dans ses dépôts RustiCL RadeonSI pour OpenCL. Les noms de paquets contiennent généralement le nom mesa et l’API (par exemple vulkan) sans préciser plus car ils fournissent aussi les pilotes des autres fabricants. Par exemple sur Ubuntu : libegl-mesa0 libglx-mesa0 libglapi-mesa mesa-vulkan-drivers mesa-va-drivers mesa-opencl-icd.

    Il est assez rare que ROCm soit fournit dans les dépôts, et pour GIM c’est pas la peine d’y penser.

    Normalement ta distribution te fourni déjà les pilotes OpenGL et Vulkan sans que tu ne fasses rien (ce serait grave si ce n’était pas vrai).

    J’ai envie de dire que si tu ne sais pas ce que tu as, c’est que tu n’as pas besoin de ce que tu n’as pas. 😉️

    ce commentaire est sous licence cc by 4 et précédentes