-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Linux] "Failed to compile vertex shader stage" on second core launch since upgraded to 1.10.0 #13583
Comments
That sounds like it might be a driver shader cache problem. Nvidia has a shader cache on home for linux, ~/nvm or something like that (i moved mine to .cache). I'd check if you have permissions to write on whatever dir the driver is supposed to write the shader cache to. |
Looks like the directory is : My machine has an intel graphic chip (Iris Xe) I deleted this dir then tried again. Same behavior: I think shaders would not work at all if it was a permission issue. Permissions look correct on my machine:
EDIT It seems only slang shaders are affected. I tried to switch gl driver with GLSL shaders. There is no issue with GLSL shaders it works at any core launch. |
Just compiled myself RetroArch v1.9.14:
It works correctly with v1.9.14 so its a regression in v1.10.0 EDIT: |
Ok so i found that compiling retroarch with the following flag is triggering the bug:
This flag is enabled in RetroArch ArchLinux package since v1.10.0-1. This issue have been reported on archlinux bugtracker: I leave this issue opened as i don't know if it is a retroarch upstream or an archlinux specific bug. |
I have this exact same issue on my Radeon RX 6800 on Manjaro Linux (which is Arch based). |
We try to avoid builtins as much as possible on Arch, so I'd rather keep using our system glslang if possible. I see no reason why our glslang would have enough permissions on the first run, but not on subsequent ones. Any ideas? |
@alucryd However I can do some tests if it could help. Let me know. Is there some debug environment variables (like mesa vars) which could give more insights about the shader compilation error ? Error output is not really verbose. |
This only started manifesting specifically on RetroArch 1.10.0 though. Does not happen with previous versions. |
@nfp0 the maintainer fixes (or at least worked-around ) this issue with the new package 1.10.0-3 |
@TiBeN Sweet. Thanks for the heads-up! |
@TiBeN I have no idea how any of this works either, for now I just reinstated the builtin glslang. I would love to hear from the retroarch devs to get some insight on this issue, I'll try to dig the cache lead when I have some time. |
@alucryd i understand. It seems the kind of bug which is pretty hard to diagnose. It could be a pure retroarch bug when the glslang lib is not embedded, it could be the glslang lib in retroarch repository or glslang upstream. To this point it may be interesting to inform glsang maintainers and upstream about this issue ? Anyway, thank you for your work on this package and your action with the release of 1.10.0-3 |
Description
Since i upgraded to RetroArch 1.10, slang shaders do not apply the second time i launch a core (whatever the core, i use a global preset). On the second run there is the following error:
First run after launch retroarch is OK. If i close retroarch, then restart it works again (but on the second run the same error occurs again of course).
To make things simple, i have to quit Retroarch each time i change a core/game to make shaders work again.
Expected behavior
Slang shaders is applied on every core launch without having to shutdown and restart Retroarch.
Actual behavior
Shaders do not apply second time a core is run after retroarch is launched.
Steps to reproduce the bug
(Consider a slang shader preset is configured globally)
Bisect Results
Issue appeared just after upgrading to 1.10 through pacman (archlinux). Previous versions did not have this issue.
Version/Commit
Environment information
Verbose logs of a RA session
retroarch.cfg.txt
EDIT:
The text was updated successfully, but these errors were encountered: