FFVII Rebirth Workaround Pyroveil Not Working on Heroic

I'm trying to get Final Fantasy VII Rebirth running on an Nvidia GPU using Heroic, but I haven't had any success. I attempted to use the Pyroveil workaround, but it didn’t work with Heroic. I’m not sure if it only works with Steam.
Troubleshooting Steps Taken 1. Added Environment Variables - Set the required env vars in on Heroic.
- Cleared the VK3D cache.
- The game still didn't work. 2. Checked Proton Logs - Enabled PROTON_LOG=1 to generate a log.
- Found the log file in .var/com.heroic... since Heroic was installed via Flatpak.
- The log had no mention of Pyroveil, which was unexpected.
3. Flatpak Permission Issues - Flatpak Heroic can only access certain directories (~/Games/Heroic, /mnt, /run/media, etc.).
- Attempted to copy necessary files to an accessible location.
- Used Flatseal to grant Heroic additional permissions.
- Also granted access to the entire mod folder and ~/.local/share/vulkan (where Pyroveil installs some files).
- None of these changes made Pyroveil work.
4. Next Steps - Since Flatpak restrictions might be causing the issue, the next suggestion is to try running Heroic as an AppImage to see if that makes a difference.
No description
22 Replies
conscious-sapphire
conscious-sapphireOP3mo ago
Using AppImage the game does work So the problem is the flatpak version, or a folder is still missing the pyroveil log also show on proton log
CommandMC
CommandMC3mo ago
Could you share the Proton log created after you attempted to resolve the permission issues?
conscious-sapphire
conscious-sapphireOP3mo ago
Here's flatpak and appimage (the mod worked)
adverse-sapphire
adverse-sapphire3mo ago
Noice, Flatpak bäd
ambitious-aqua
ambitious-aqua3mo ago
Did you add permissions to access ~/projects?
conscious-sapphire
conscious-sapphireOP3mo ago
I added ~/projects/pyroveil which is the main folder
ambitious-aqua
ambitious-aqua3mo ago
One other thing you can check is to enable full Home or Host file permissions to see if that’s a blocker
CommandMC
CommandMC3mo ago
I'm thinking that Pyroveil isn't running at all. If only the config file would be missing, I'd expect some kind of log from it still What does ls ~/.var/app/com.heroicgameslauncher.hgl/.local say?
ambitious-aqua
ambitious-aqua3mo ago
Alternatively, there is this build instruction directed to the Steam flatpak that might be adaptable https://github.com/HansKristian-Work/pyroveil?tab=readme-ov-file#checkout-and-build
GitHub
GitHub - HansKristian-Work/pyroveil: Vulkan layer to replace shader...
Vulkan layer to replace shaders or roundtrip them to workaround driver bugs - HansKristian-Work/pyroveil
conscious-sapphire
conscious-sapphireOP3mo ago
I also tried
conscious-sapphire
conscious-sapphireOP3mo ago
No description
conscious-sapphire
conscious-sapphireOP3mo ago
I changed cmake . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.var/app/com.valvesoftware.Steam/.local to cmake . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.var/app/com.heroicgameslauncher.hgl/.local and it installed some files inside the heroic .var folder
CommandMC
CommandMC3mo ago
Could you confirm that there's a libVkLayer_pyroveil_64.so in the lib64 subfolder? (I am having a hard time finding what's actually looking at that PYROVEIL=1 env var; seems like neither vkd3d-proton nor Proton itself check it. Figured I'd look at that code to find out what it might be trying to do)
adverse-sapphire
adverse-sapphire3mo ago
That is a Vulkan layer like Mangohud normally if i get it correctly So none of those actually checks or requires it normally
CommandMC
CommandMC3mo ago
Ah I see, forgot that's how those worked I'm not sure if the Flatpak will pick up the layer in that path. Adding the env var VK_ADD_LAYER_PATH=/home/danillom/.var/app/com.heroicgameslauncher.hgl/.local/lib64 might help
adverse-sapphire
adverse-sapphire3mo ago
Question would be why does steam flatpak doesnt require such thing ( assuming ) i guess. Is there like some freedom about how flatpaks can be configured to make such stuff more user friendly?
CommandMC
CommandMC3mo ago
I'm not sure, but https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderLayerInterface.md#linux-layer-discovery implies that ~/.local isn't a standard place Vulkan layers are loaded from (granted I am way out of my element here and something in ~/.local/share might be pointing to the .so file) Oh hang on, I believe I have an idea Inside the Flatpak:
$ env | grep XDG_DATA_HOME
XDG_DATA_HOME=/home/commandmc/.var/app/com.heroicgameslauncher.hgl/data
$ env | grep XDG_DATA_HOME
XDG_DATA_HOME=/home/commandmc/.var/app/com.heroicgameslauncher.hgl/data
So you want to change the cmake command to install Pyroveil to
cmake . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.var/app/com.heroicgameslauncher.hgl/data
cmake . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/.var/app/com.heroicgameslauncher.hgl/data
(why do we set that env var again? Ah, we don't, seems like a Flatpak thing) Hang on, data won't work either, CMake is expecting the parent dir... Try symlinking ~/.var/app/com.heroicgameslauncher.hgl/.local/share to ~/.var/app/com.heroicgameslauncher.hgl/data I guess? Hm nope, seems like there's more stuff in there that probably shouldn't be moved around Yeah dunno, but that's probably the issue
conscious-sapphire
conscious-sapphireOP3mo ago
yes, it does have ./share/vulkan/implicit_layer.d ./share/vulkan/implicit_layer.d/VkLayer_pyroveil_64.json ./lib64 ./lib64/libVkLayer_pyroveil_64.so theses files seems to be created after the cmake build finish
CommandMC
CommandMC3mo ago
You can try moving the layer manifest (the .json file) from .local/share/... into data/... You'll probably also have to set LD_LIBRARY_PATH to the lib64 folder to make it find that .so file Aaaand I recall a weird issue with Flatpak where you just couldn't set LD_LIBRARY_PATH
conscious-sapphire
conscious-sapphireOP3mo ago
it didn't work, I moved the pyroveil.json file to ~/.var/com.heroicgamelauncher.hgl/data/ and change the pyroveil config var to /home/danillom/.var/app/com.heroicgameslauncher.hgl/data/pyroveil.json Just an update, nvidia launched a pre release driver it seems so solves the issue, no need to use pyroveil. But as I use bazzite, I can’t install it system wide, but I can via flatpak. But after install heroic don’t seem to be using the pre release driver. Is there a way to force it?
CommandMC
CommandMC3mo ago
The Flatpak part of a Nvidia driver is just... a part. You still need the same driver version installed system-wide to be able to use it
conscious-sapphire
conscious-sapphireOP3mo ago
I see Thanks

Did you find this page helpful?