URL: https://linuxfr.org/forums/linux-general/posts/vulkan-switch-user-et-software-vs-hardware-renderer Title: Vulkan, switch user et software vs hardware renderer Authors: moi1392 Date: 2022年11月24日T14:45:46+01:00 License: CC By-SA Tags: vulkan Score: 0 Bonjour, j'ai un soucis avec vulkan quand j'essaye de lancer une appli avec un autre utilisateur que celui qui est logué dans la sessions graphique : Voila mon workflow qui fonctionne très bien avec les applis OpenGL mais pas avec les applis Vulkan : - je me logue dans ma session graphique avec user1 - j'ouvre un terminal, je coupe l'authentification à X : xhost + - je change d'utilisateur : su - user2 + MonSuperMotDePasseSecret (ne le retenez pas, il est secret...) - j'exporte le display : export DISPLAY=:0 - je lance une appli OpenGL (glxgears ou glxinfo) => tout se passe bien - je lance une appli vulkan (vkgears ou vulkaninfo) => fail, ça passe en rendu software (llvmpipe) info complémentaires : distribution : debian sid puce graphique : amd vega7 (integré à puce ryzen) pilote libre à jour (version debian sid, mesa 22.2.4, vulkan 1.3.231) avec user2, au début de vulkaninfo j'ai l'erreur suivante : ERROR: [../src/amd/vulkan/radv_device.c:675] Code 0 : Could not open device /dev/dri/renderD128: Permission denied (VK_ERROR_INCOMPATIBLE_DRIVER) Quand je regarde le fichier /dev/dri/renderD128 il est accessible par root et le groupe render (dans lequel aucun de mes user n'est) bizarement, quand je fais un strace sur vulkaninfo avec l'user logué dans la sessions graphique, je vois passer l'open sur ce fichier qui réussi, et quand je le fait avec l'user qui n'est pas logué dans la session graphique, je vois bien l'open sur ce fichier qui échoue. Je ne sais pas comment user1 est capable d'accéder à ce fichier, je n'ai pas plus creusé la question. Mais comment faire proprement pour que mon user2 puisse lancer une application vulkan ? Si c'est possible bien sur. Bien sur, si j'inverse user1 et user2, j'ai exactement le même problème, il ne s'agit donc pas d'un problème lié à un user particulier de ma machine.