Development:Renderdoc
Revision as of 22:45, 4 November 2022 by Sonicadvance1 (talk | contribs)
Getting a capture
Without Thunks
- Ensure Renderdoc is installed in the rootfs
OpenGL
- Set LD_PRELOAD=librenderdoc.so as an environment variable
- This can be done in FEXConfig or an application profile to limit its reach
Vulkan
- Ensure the renderdoc layer is installed
- Set ENABLE_VULKAN_RENDERDOC_CAPTURE=1 as an environment variable
- This can be done in FEXConfig or an application profile to limit its reach
Alternatively
You can use renderdoccmd to launch an application directly.
- renderdoccmd capture -w <program> <args...>
As long as this application is installed in your rootfs then it should work for both OpenGL and Vulkan applications.
Capture results
- Once you have captured a frame in an application running renderdoc (F12 typically)
- The results will be in /tmp/RenderDoc/ as *.rdc files
- Technically these are meant to be moved over to the qrenderdoc application but you can rip them directly
With Thunks
Likely to be the same as without thunks, but instead of adding environment variables inside of FEX. One needs to do it outside of FEX instead
Capturing Proton games
- pressure-vessel automatically pulls in vulkan layers from the rootfs
- If you have a new enough rootfs then both a 32-bit and 64-bit renderdoc library is installed for capturing both bitness
Steam launch arguments as follows will enable renderdoc for Vulkan/DXVK/VKD3D games
ENABLE_VULKAN_RENDERDOC_CAPTURE=1 %command%
OpenGL games
- TBD
Capturing Thunks + Pressure-Vessel/Proton
Not yet supported