- Status
- Offline
- Joined
- Mar 3, 2026
- Messages
- 271
- Reaction score
- 7
Finally finished porting the internal build for Linux. If you're tired of Windows and its constant AC headaches, this is a clean alternative, provided your setup isn't a mess. This is a Vulkan-based injection layer that hooks into the render pipeline. It works only on Linux, and I've built it specifically for the latest dependencies.
Technical Architecture
This is split into three core modules, though I'm only dropping the Vulkan layer for now:
Installation Guide
Deploy the .so file and register the layer via the implicit layer path:
(Press Ctrl+D to finish, then set your Steam launch parameters to initialize the layer).
Requirements & Compatibility
Do not expect this to run on archaic distros. I developed this on Arch (x86_64, kernel 6.18.20, GCC 15.2, glibc 2.43). If your `ldd` version is lower than 2.43, expect symbol errors.
Troubleshooting
If you aren't getting visual overlays, check `ptrace_scope` and verify that your Vulkan ICD is passing the layer correctly. `gamebase` being zero is usually a sign of memory read failure due to distro-specific ABI mismatches.
While others are struggling with broken Windows injectors and kernel anti-cheats, those of us on Linux get to deal with the joy of custom dependency hell. If you manage to port this to a different distro or resolve the ABI conflict for older glibc versions, feel free to contribute the fix.
Has anyone else managed to get this running on a non-Arch distro yet?
Technical Architecture
This is split into three core modules, though I'm only dropping the Vulkan layer for now:
- ow2esp_inject: The main Vulkan layer, handles the automatic hook.
- ow2esp_kmod: Kernel-level module for memory read/write operations.
- ow2esp_linux: Secondary overlay/external window (internalized for now).
You cant view this link please login.
Installation Guide
Deploy the .so file and register the layer via the implicit layer path:
Code:
cd ~/.local/share/vulkan
mkdir implicit_layer.d
cd implicit_layer.d
cat > ow2_esp_layer.json
{
"file_format_version": "1.0.0",
"layer": {
"name": "VK_LAYER_OW2_ESP",
"type": "GLOBAL",
"library_path": "/path/to/your/jawsnow.so",
"api_version": "1.3.0",
"implementation_version": "1",
"functions": {
"vkGetInstanceProcAddr": "esp_vkGetInstanceProcAddr",
"vkGetDeviceProcAddr": "esp_vkGetDeviceProcAddr"
}
}
}
Requirements & Compatibility
Do not expect this to run on archaic distros. I developed this on Arch (x86_64, kernel 6.18.20, GCC 15.2, glibc 2.43). If your `ldd` version is lower than 2.43, expect symbol errors.
- Compatible: Arch, Manjaro, Endeavour, Void (check glibc).
- Display: X11/XWayland. Pure Wayland is not supported.
- Graphics: Any Vulkan 1.0+ ICD (AMD/Intel/NVIDIA).
- Proton: Verified on 6.0 and 7.0+.
Troubleshooting
If you aren't getting visual overlays, check `ptrace_scope` and verify that your Vulkan ICD is passing the layer correctly. `gamebase` being zero is usually a sign of memory read failure due to distro-specific ABI mismatches.
While others are struggling with broken Windows injectors and kernel anti-cheats, those of us on Linux get to deal with the joy of custom dependency hell. If you manage to port this to a different distro or resolve the ABI conflict for older glibc versions, feel free to contribute the fix.
Has anyone else managed to get this running on a non-Arch distro yet?
Last edited by a moderator: