# Vulkan rFactor2 HUD This project is an attempt to render custom HUD elements for rFactor2 by being a Vulkan layer. # Current state I would consider the following elements as working: * Leader Board (enabled on in race) * Radar * Pedals # How to enable ### Archlinux based Simply use the PKGBUILD from the pkgbuild directory ([How to use it](https://wiki.archlinux.org/title/Makepkg)) ### Manual installation 1) Build this repository `cargo build --release` 2) Change the path where the `libvk_layer_rs.so` is located (`library_path` parameter in the rFactorOverlay.json file) 3) Put the rFactorOverlay.json into a layer directory ([layer directories](https://vulkan.lunarg.com/doc/view/1.3.216.0/mac/loader_and_layer_interface.html#user-content-linux-layer-discovery)) --- * Add `RFACTOR_HUD=1` to steam launch command (example: `RFACTOR_HUD=1 %command%`) A config file is generated the first time you start it at: `$HOME/.config/rFactorHUD/config.json` ### Requirement You need to have rFactor2 memory plugin shared file enabled ([rF2SharedMemoryMapPlugin_Wine](https://github.com/schlegp/rF2SharedMemoryMapPlugin_Wine)) # Resources ## Vulkan Layer * [Sample Layer](https://github.com/baldurk/sample_layer) * [Brief guide to Vulkan layers (Renderdoc)](https://renderdoc.org/vulkan-layer-guide.html) * [Mangohud](https://github.com/flightlessmango/MangoHud) * [Lunarg Guide](https://vulkan.lunarg.com/doc/view/1.3.216.0/mac/loader_and_layer_interface.html#user-content-layer-manifest-file-format) ## rFactor2 Shared Memory * [rFactor 2 Modding Resources](https://www.studio-397.com/modding-resources/) * [rF2SharedMemoryMapPlugin](https://github.com/TheIronWolfModding/rF2SharedMemoryMapPlugin) * [rF2SharedMemoryMapPlugin_Wine](https://github.com/schlegp/rF2SharedMemoryMapPlugin_Wine) * [CrewChief](https://gitlab.com/mr_belowski/CrewChiefV4/-/tree/master/CrewChiefV4) * [OpenSimHud](https://github.com/schlegp/OpenSimHud)