github OverkillLabs3/driveclub-recomp v0.3.2
DriveClub Recomp 0.3.2

latest releases: v0.4.1, v0.4.0
11 days ago

DriveClub Recomp 0.3.2

DriveClub for PS4 (version 1.28), running natively on Windows.

The source code is in this repository.

Highlights of 0.3.2

Join the community

We have just opened a Discord server for this project, and everyone who plays is welcome, whether you have raced it for years or only just got it running. Come and say hello, get a hand getting it running, show off your pictures and replays, swap mods, and tell us what you would like next. New versions are announced there too. It is brand new, so you will be among the first to join: https://discord.gg/62b8jceumR. The launcher has a new Discord button that opens it.

Highlights of 0.3.1

Updates from the launcher

The launcher asks the Releases page when it starts. When a newer version exists, an Update button downloads it, checks it against the published checksums, unpacks it and installs it over your program files once the launcher closes. Your settings, saves, mods, logs and launcher.ini are not touched. Check for new versions in the Gameplay tab turns the check off.

Highlights of 0.3.0

DLSS and FSR upscaling

DLSS (GeForce RTX) and FSR 3.1 (any graphics card) now upscale, not only smooth edges. Pick the Output size and a mode from Quality to Ultra Performance: the game renders at a smaller size and the upscaler brings it to the output, with a Sharpness slider. Shadows and the road mirage no longer flicker while upscaling, and the upscaler now works in car selection and the pre-race camera flyovers too. Contributed by @red1ty and @HeyOkay.

HDR10 output

The game can output HDR10 on an HDR display: the game's own picture at paper white, with the highlights of the 3D scene taken from its linear scene. The HDR card in the launcher sets it up and Page Up / Page Down change the brightness. Contributed by @red1ty.

Steering wheels, rewritten

  • Force feedback from a physics model of the car's front tyres, or a software steering model, with vibration controls and live tuning in the FFB Tuner (presets for belt, gear and direct drive wheels).
  • Pedals on their own USB device, wheels that show up as two controllers (Fanatec), and a handbrake on its own USB or on a button. WheelSetup walks through all of it.
  • The forces stop when the game ends, crashes or stops reading the wheel.
  • A new Driving tab with assists and view options, and a field of view you can change while playing with F5 / F6.

Contributed by @red1ty and @igorexa225.

Faster

A two-thread draw path is on by default, with much less processor work per draw, a smarter texture cache budget and fewer stalls. Cars also load faster in car selection (the blur and spinner animations are shortened), and menus no longer hitch on game files that are not on disk. Contributed by @MoonFuji.

Better picture

  • Graphics detail and Effects: the quality settings the PS4 version keeps low (view quality, car level of detail) and the game's own camera effects, as launcher options. Contributed by @MoonFuji.
  • Less pop-in: barriers, trees, signs and their shadows are drawn down to a quarter of the game's screen-size limit.
  • TV gamma by default: the picture looks on a PC display as the game was graded for TVs.
  • Fixed tunnel lighting on all tracks, and dark checkerboard patches on terrain.

Smoother on VRR displays

Unlocked (VRR) presents in a way G-Sync and FreeSync follow, with a Frame cap slider just below the refresh rate. Contributed by @red1ty.

Changelog

0.3.2

  • Changed: rain on the windshield and the camera lens on AMD (#184, #212, #233). A shader's writes to the GDS buffer are now noted for barriers, so the copy of the drop count waits for the shader that wrote it. Found and verified on a Radeon RX 7900 XTX by @renancsilva and @fulalas. Please say whether the rain is back on your card.
  • New: faster frames (#220, #221). Per-draw work on the command thread, memory copies, readbacks, barriers and the GPU command thread's core are reworked; the picture is unchanged. Each part has its own switch for finding a problem; the log has new Cores: lines. Our matched benchmark against 0.3.1 (Japan Road Circuit, Ferrari 458, overcast with heavy rain, 4K with DLAA, 120 seconds of AI driving, RTX 5070 Ti and Ryzen 7 5800X3D) went from 51.3 to 57.5 FPS on average (+12%), with the 1% low from 30.7 to 50.7 FPS, the 0.1% low from 27.5 to 41.0 FPS and the load time from 26.9 to 15.1 seconds. The authors measured +8.8% where the processor is the limit and +28% to +36% where the graphics card is, on one RTX 3070 laptop; another tester measured +4.3% with DLAA on an i5-14600K and RTX 5070 Ti. Results depend on your PC. Contributed by @MoonFuji, tested by @HeyOkay.
  • New: high-FPS camera and replay workaround (#187), on by default, switch in Patches. Contributed by @HeyOkay.
  • New: Slow and Fast motion blur exposure (#216) and seamless native cube-map filtering for wet-road reflections (#213). Contributed by @HeyOkay.
  • Changed: the car select freeze while scrolling through cars (#185, #201). A cleanup that starts as the car loader enters made both wait for each other; the entry now waits out the cleanup. BB_RESOURCE_ENTRY_FIX=0 turns it off. Contributed by @MoonFuji; not confirmed by the reporter yet.
  • Fixed: a wheel whose gain stayed at 0 after the game (#207, #210). The device gain is no longer changed. Contributed by @igorexa225.
  • Fixed: the launcher's update never deletes a player's update folder (#196, #199). Contributed by @MoonFuji.
  • Fixed: soft, smeared cars with DLSS (#211). The upscaler was never told how the cars move, so their badges, lettering, lights and glass details blurred (seen at 4K with the Performance mode). The motion of the cars and the camera now reaches it, the jitter is applied to the cars, and the scene pass is handled as DLSS expects. Contributed by @sniperspy69.
  • New: a Discord button in the launcher.
  • Changed: the launcher's updater installs the update itself (unpack with miniz, copy inside the launcher) instead of tar.exe, robocopy and cmd.exe, which do not exist under Wine and Proton. Settings, saves, mods and logs are left alone as before. A player on 0.3.1 under Wine or Proton extracts this version by hand once.
  • Changed: the launcher under Wine and Proton. Text is drawn with another font when Segoe UI is missing, and the Discord link is copied to the clipboard because the prefix has no browser to open it.
  • Changed: the overlay's Render size shows the scene's own pass when it is as large as the output.
  • Changed: a buffer that does not fit in a full card goes to system memory instead of ending the game, with a warning in the log.
  • Changed: diagnostics are a build option (#222, BB_DIAGNOSTICS, off by default). The extra instrumentation is no longer in normal builds. Contributed by @HeyOkay.
  • Changed: building from source with the current MSYS2 (#237). The package is robin-map now, and <cstdlib> is included in gpu_check.cpp; the FidelityFX and sirit sources build with the current clang and libc++, runtime_services.c no longer stops the build on an unused variable, and build.sh prints the compiler errors when a build fails. Checked by building and packaging from a fresh clone in a fresh MSYS2.

0.3.1

  • New: the launcher checks for new versions and installs them from the Releases page (an Update button; the zip is checked against SHA256SUMS.txt). Settings, saves, mods and logs stay. Turn it off with Check for new versions in the Gameplay tab.
  • Changed: the grid of white squares on AMD graphics cards (#190, #107, #99, #121, #140, #172). The game shares workgroup memory between the lanes of a wave without barriers, and the barrier pass only ran on NVIDIA, so the AMD driver reordered those accesses. It now runs on every card. Found by @renancsilva in #107, who patched the same flag into 0.3.0 and confirmed the lattice was gone on an RX 7900 XTX. Please say whether the squares are gone on your card.
  • Changed: AMD "device lost" crashes. Memory the shaders read through its address is allocated with the device address flag, the resident offsets of a moved buffer arena are counted in blocks, and the list of large staging buffers is locked against the thread that frees them. When the device is lost, the log now names the draw or dispatch that was running and the work around it.
  • Changed: two-thread rendering starts off on AMD cards and under Wine or Proton (#186, it halved the frame rate and lost the device on some cards). The saved choice is now draw_threads=: AMD players who never chose it move to off.
  • Changed: the game's multisampled depth is copied into the colour image it is also read as (screen-space lighting, ambient occlusion and soft particles read it). The copy was left undone, so the colour image kept old contents.
  • Changed: 11/11/10 floating-point render targets store negative values and NaN as 0 and large values as 65024, as on the console. Vulkan leaves this open, and a NaN could spread through the post-processing as black patches.
  • Changed: the compression mask of a colour target is answered as uncompressed. The game reads it, the read got old memory, and the warning came up thousands of times a session.
  • Changed: crash reports for abort(), a C runtime check and a pure virtual call now carry the registers and the call stack. These end the process without a message any handler sees.

0.3.0

  • Fixed: the freeze after finishing a race, restarting an event or leaving to the menu (infinite loading at the DriveClub screen, engine sound gone, #112, #114, #119, #132, #134, #135, #159, #164, #170). The directory listing added in 0.2.5 wrote entries in a layout the game does not read, so the game's scan of the replay folder never advanced once a replay or save existed. It now uses the layout the game reads. Found in the hang reports of #164 and #170.
  • Changed: AMD "device lost" crashes (#16, #94, #100, #101, #104, #105, #106, #108, #111, #113, #115, #118, #124, #136, #148, #168, #171). Every block of a buffer arena now starts bound to a zeroed block, so a shader that reads memory the game never loaded gets zeros, as it does on NVIDIA, instead of a page fault that loses the device. AMD and Intel also compile shaders on demand instead of preloading them from the cache, which matches the reports of crashes that start on the second launch (deleting data\user\cache cured them). This could not be tested on AMD hardware here; please report if it still happens, with the newest log and crash_*.dmp. When the device is lost the log now names the arena, the game address and whether that memory was loaded.
  • Fixed: the grid of white squares on AMD graphics cards (#99, #107, #121, #140, #172). Reads of shared workgroup memory past its end give zero and writes there are dropped, as on the console. The host left them undefined, and AMD filled the tile borders of some compute passes with garbage.
  • Fixed: the game closing when a card with little memory (4 GB) is full (#116). An image is now placed in system memory when video memory has no room left.
  • Fixed: crash after a race when pressing Continue, a device lost caused by a copy between depth images of different formats. Contributed by @red1ty in #173.
  • Fixed: crash leaving a race with DLSS. A new DLSS feature is now made only after the GPU is done with the old one. Contributed by @red1ty in #174.
  • Fixed: dark checkerboard patches on terrain in the pre-race flyovers and races. Pending depth clears were not applied before a depth copy. Contributed by @HeyOkay in #160.
  • Fixed: the tunnel lighting (#34). Contributed by @HeyOkay in #145.
  • Fixed: DLAA and FSR waiting forever in car selection and some pre-race cameras (#166). Contributed by @HeyOkay in #154.
  • Fixed: shadows flickering while upscaling. The sub-pixel jitter is now scaled by the render and output sizes. Contributed by @red1ty in #152.
  • Fixed: menu navigation skipping items at higher frame rates (#109). The key repeat delay is now counted in time at the original 30 Hz rate. Contributed by @HeyOkay in #157.
  • Fixed: frame pacing on VRR displays (#97). Contributed by @red1ty in #149.
  • Fixed: endless "Downloading" on every track and car after the tutorial (#95). Contributed by @red1ty in #126.
  • Fixed: crashes at boot. The page file grows in steps when the game's memory is refused at the start, and the PS4 mutex fields the game's libc writes are now left room. Contributed by @MoonFuji in #122.
  • New: scene telemetry in the overlay. F12 cycles hidden, compact and expanded. The expanded view adds 1% and 0.1% lows, a frame-time graph and the track, time of day and weather. The overlay's Render size now shows the size the scene is drawn at, also with DLAA. Contributed by @HeyOkay in #165.
  • Changed: up to eight --mods folders (was four), so the benchmark, the detail options and car switching can all be on together.
  • New: a Detail tab in the launcher for the graphics detail and effects cards, so the Graphics tab stays short on small displays.
  • Changed: a hang report also lists blocked game waits and contended locks.

0.2.5

  • New: steering wheel support. Any wheel Windows lists as a game controller works: the game sees a PS4 wheel, with force feedback and an H-pattern shifter. Run WheelSetup.exe once next to DriveClub.exe: it asks you to turn the wheel, press each pedal and button and put the shifter in each gear, and writes default.ini. Set the rotation in the wheel's own software and give WheelSetup.exe the same number. wheel_ffb_gain and wheel_ffb_vibration make the forces and the road vibrations stronger or weaker (100 is as the game sends them, up to 2000; the game's steering forces are light on most wheels, so a few hundred is normal), wheel_ffb_invert = true turns them around if the wheel pulls the wrong way and wheel_ffb = off drops back to a wheel without forces. FfbTest.exe plays single forces on the wheel without the game, to check the directions. Contributed by @igorexa225 in #77, with the gain corrected for wheels set to inverted in #92.
  • New: a benchmark in the launcher. The Benchmark tab picks a circuit, a car, the time of day, the weather and the rain, boots straight into the event, lets the game's own AI drive and reports the average frame rate with the 1% and 0.1% lows, the worst frames and the load time. It ends by itself, and the last result stays on the card. Contributed by @MoonFuji in #87.
  • Fixed: the game closing when the graphics card runs out of memory ("vk::Result=ErrorOutOfDeviceMemory"; #80 on a 4 GB card, #83 on a 6 GB one, #86). Buffer data now moves to system memory when the card's own memory is full and the game keeps running at a lower frame rate instead of ending. The log says once: "the card's memory is full, buffer data goes to system memory".
  • Fixed: a crash when leaving a race (#88, stormy weather in Scotland). Two surfaces shared one address and the case none of the rules could handle stopped the port. The old image is now dropped and the game makes a new one, as it already did in the other address-reuse cases.
  • Fixed: a grid of tiles, and white specks that grew through a race (#61, #75). Some surfaces were switched between their depth and colour form and the pixels were never moved, so the new surface was shown unwritten. It is now filled from the game's own memory, and the game's own copy is no longer skipped.
  • Fixed: replays were never listed (#62). The files were on disk; the directory listing call the game uses was missing from the runtime, so it always answered "no entries".
  • Changed: AMD and Intel "device lost" crashes (#90, #93, #89, #84, #79, #74, #72, #66, #63, #60, #58, #65, #16). Every one of those logs ends the same way: the card reports reading a page-aligned GPU address that was never bound, in the same band of memory across twelve different machines, and the port then stops itself. The blocks just before and just after each buffer are now bound to one page of zeros, so a read that steps past the end of a buffer returns zeros the way it already does on NVIDIA. This is the largest group of crash reports and it cannot be tested on the hardware here, so the log now prints "GPU: guard page for buffers that are read past the end: on/off" and a report from an AMD player either way is worth having.
  • Changed: a surface that switches between its depth and colour form is switched in place instead of being destroyed and rebuilt each time, which is quicker and keeps the game's own description of it (tiling, mip layout, metadata). Contributed by @MoonFuji in #70.
  • Changed: frame pacing. Frames are released with a minimum spacing by default, which removes the alternating 16 and 33 ms frames that shook the camera in some setups. Contributed by @MoonFuji in #68.
  • New: the launcher keeps programs that add themselves to the game's graphics out of the game (Steam, Epic, Discord, OBS, tuning tools). Two of the crash reports had such a program loaded inside the game process. "Let overlay programs into the game" in the launcher puts them back if you want the in-game overlay.
  • Changed: the launcher is split into three tabs, Graphics, Gameplay and Benchmark, and the settings that belong to a page stay on it. Wider windows still reflow the cards into more columns, and the game folders card now takes a column of its own when there are three or four.
  • New: "Start the game without this window" in the launcher. Double-clicking DriveClub.exe goes straight to the game; when it cannot start, the window opens with the reason. (#82)
  • New: ultrawide 32:10 3440x1080 and 21:9 5120x2160 in the Widescreen choice, both already patchable and not offered before. (#30)
  • Changed: the resolution rows say what is scaled to what, and the game log writes one whole line at a time. Lines from different threads used to arrive spliced into each other, which made most reports impossible to read.
  • Fixed: a freeze at boot when the GPU profiler was on. It waited for the timing queries instead of the submission. Contributed by @MoonFuji in #69.

0.2.4

  • Fixed: the freeze when a career event starts (Cayoosh Trials and other time trials, #23, #24, #49, #53, and the same reports on Quiver). The game takes a read lock it already holds while another thread waits for the write lock. The system lock queues the second read behind the writer, so the two threads wait for each other forever and every other thread goes idle. The runtime now uses its own read-write lock that lets the second read through, as the PS4 does. The freeze was found in a live freeze report: both stuck threads were waiting on the same lock.
  • Fixed: random crash right after pressing Play or while a track loads ("read access to 0000000000000000 at guest offset 0x64db13"). The game function that crashed keeps values below the stack pointer, and on Windows a memory-tracking fault taken inside it overwrote them. It now gets a real stack frame. Found and patched by @Ianespaa, reported by @wormmayhem.
  • Fixed: coloured stripes, blocks and noisy edges on AMD graphics cards, and the very dark picture after the 0.2.3 fallback. The 0.2.3 change that made AMD run shaders at 32 lanes is undone: shaders run at 64 lanes again where the driver lets compute require it, and only the stages the driver allows are pinned. This includes the RADV fix by @ClaudioVarandas in #39.
  • Changed: the fallback that skipped the shaders running when the graphics device was lost is off. It left the picture dark and did not stop the crashes.
  • Fixed: quiet game and music on stereo outputs (TV over HDMI, headphones, laptop speakers). The 7.1 mix is now downmixed to stereo with a limiter instead of letting the system convert it at about -13 dB. Contributed by @MoonFuji in #52, reported in #47.
  • Fixed: replays could not be saved ("no free space" when saving a replay, #32). The game asks the save data how many blocks are free before it writes, and the runtime did not answer.
  • New: the launcher now refuses to start when a game file is cut short and names it (for example game961.dat). An incomplete copy of the game made the game read forever and show a black screen (#48). The log also warns when the game reads past the end of an archive file.
  • New: a freeze report lists what every game thread is waiting for, the locks that are contended and the program addresses of the other threads, for any future freeze.
  • Changed: AMD "device lost" crashes (#16, #46). The logs show the graphics card reading a GPU address that is no longer mapped, and most of them follow a "Migrating arena" line: a buffer arena that grew was bound to the same memory as the arena it replaced, which Vulkan only allows with aliased sparse binding. AMD cards now use it. This could not be tested on AMD hardware here; please report if the crash still happens, with the newest log.

0.2.3

  • New: Anisotropic filtering in the launcher (Anti-aliasing card). Automatic is 16x, or 4x on integrated graphics; Off, 2x, 4x, 8x and 16x are available. Roads and terrain stay sharp at a shallow angle. Thanks for asking, @MaNE-17.
  • New: the European release (CUSA00003) version 1.28 is accepted. It has been played less than the US release. Contributed by @ClaudioVarandas in #26.
  • Fixed: crash at boot with Output 4K and the Default render size. The memory patch is now sized from the output resolution as well as the render resolution. Contributed by @ClaudioVarandas in #25.
  • Fixed: texture memory kept growing in long sessions. Textures the game cannot release right now no longer use up the cleanup, so the texture cache stays within its budget.
  • Changed: freezes when an event starts. The lock that guards the game's memory map was replaced by one that cannot block a thread that already holds it. This may fix the freezes after "Start Event" reported on RTX 3060, RTX 3070 and GTX 1650 cards (#23, #24); please say whether it helped.
  • Changed: AMD graphics cards. The shader width the driver really allows is used, so shaders no longer run at another width than they were built for. This may fix the grid of white squares in the sky (#21) and "device lost" crashes (#16) on AMD cards. It could not be tested on AMD hardware here; please report.
  • New: the game heals itself after a lost graphics device ("SubmitExecution: Assertion Failed", "Device lost during submit"; #16 and others on Radeon RX 6000 cards). The shaders that were running when the card hung are written to data\user\gpu_quarantine.txt, and the next start skips them, so the game plays on without that one effect instead of crashing again. The log says which shaders are skipped. Delete the file to run them again. This cannot prevent the first crash; please report if it still repeats.
  • Changed: Intel graphics no longer use dynamic vertex input, which can draw black silhouettes with some Intel drivers.
  • Changed: NVIDIA and Intel graphics keep small per-draw data in cached system memory instead of video memory, which costs the processor less time. AMD keeps video memory.
  • Changed: running out of video memory no longer ends the game; the memory is allocated past the budget instead. A graphics pipeline the driver fails to build for a passing reason is built again.
  • Changed: faster in busy races. Several costs on the command thread were cut. In our test race at 4K the frame rate went from about 62 to 71 FPS; results depend on the scene and your processor.
  • Changed: more in the logs: the graphics driver and its shader width, which memory path is in use, and how many samplers got filtering. After a lost graphics device the log also holds the driver's own fault report (faulting address and code), the video memory in use, and the last 48 pieces of GPU work; the driver's crash data is saved as data\user\gpu_fault_vendor.bin.

0.2.2

  • New: the launcher checks your processor. The game's code needs AVX, BMI1, LZCNT and MOVBE (Intel Haswell from 2013, AMD Excavator or Ryzen, or newer). On older processors the game stopped right after the start with "exception 0xc000001d"; the launcher now says what is missing instead. "Skip the hardware check" (renamed from "Skip the graphics card check") turns it off.
  • Changed: "Unlock DLC content" is off by default, also for everyone who had it on: turn it on in the launcher if you want the add-on cars, bikes, tours and decals.
  • Changed: "Unlock DLC content" no longer makes the Nissan R34 GT-R V-Spec II customisable. The game archive has no livery template for it, which may have caused crashes when a race started. Cars are only made customisable when their template exists, and the unlock files rebuild by themselves on the next start.
  • Fixed: "The update folder must be DriveClub version 1.28" for merged or repacked dumps. The version is also accepted when eboot.bin is the very file of the 1.28 update, even if param.sfo has another version.
  • New: ultrawide 32:9 5120x1440 in the Widescreen choice.
  • New: an eboot.bin that is a plain ELF file (an already decrypted dump) is accepted, and the message for any other kind of file shows what the file starts with.
  • Changed: AMD graphics cards no longer read GPU results straight from host-visible memory by default. AMD cards showed "device lost" crashes and broken frames with it.
  • New: the launcher checks before starting that the program files are all there, that its folder can be written to and that the game folders hold every archive file (game*.dat), and says what is wrong instead of failing later. What it saw goes into logs\launcher.log.

0.2.1

  • Fixed: crash at boot with 1440p render resolution. The memory patch the 1440p choice needs was not being switched on. Thanks to everyone who reported it.
  • Fixed: "The update folder must be DriveClub version 1.28" after the launcher showed the folder as fine. The launcher and the preparation step now read the version the same way, accept it from either version field of the folder's param.sfo, and say what the file contains when it is rejected.
  • Changed: clearer message when eboot.bin is not a PS4 SELF file (a converted or renamed file).
  • Changed: crash reports in the log now list the return addresses found on the stack, so crashes in code without frame pointers can be traced.

0.2.0

  • New: runs on Intel processors. The game used an instruction set that only AMD processors have, so on Intel CPUs it stopped right after the start. It is now rewritten at load. Thanks to @Alexbeav. Intel players, please report whether it works for you.
  • New: launcher fits every screen. The window opens wide enough to show everything in up to four columns, and when the screen is still too small, the mouse wheel scrolls the settings while the Play button stays in view. Thanks to @Alexbeav for the scrolling.
  • Fixed: a crash in the middle of races. A use-after-free in the texture cache could crash the game with a memory fault once the cache grew, mostly in long events with many cars.
  • New: a dump that already is version 1.28 in one folder works. Choose it as the base game folder and leave the update field empty.
  • New: language choice in the launcher, with all 21 languages the game has. Click it to go to the next one. Japanese, Korean and Chinese may show missing characters.
  • New: anti-aliasing with FSR 3.1 or NVIDIA DLAA. Replaces the game's own anti-aliasing for a sharper, steadier picture. In the game the overlay shows what is active, F9 switches it off and on to compare, F10 switches between FSR and DLSS.
  • Changed: two experimental shader behaviours that were on in 0.1.1 are now off by default. Shaders rebuild on the first start after updating, so expect some stutter for a few minutes.
  • Changed: the download is larger (about 90 MB) because it now includes the NVIDIA DLSS libraries.

0.1.1

  • New: Unlock DLC content. A switch in the launcher (on by default) that unlocks the add-on cars, bikes, tours and livery decals. The launcher reads the vehicle list, the tour list and the livery list from your own game archive and builds changed copies for the game to use. Cars you earn by playing still unlock through normal progression. Your game folders are not modified, and the copies are rebuilt when your game files change.
  • New: mods folder. Files you put in the mods folder next to the launcher replace the game's own files of the same path, so loose-file mods work without touching your game folders. Your files take priority over everything else.
  • New: resizable launcher. Drag any edge or corner. Wider windows give the columns more room, taller ones give the rows more space. The text stays sharp and the window follows the display scale when you move it between monitors.
  • Changed: shaders rebuild on the first start after updating, so expect some stutter for a few minutes.
  • Performance will keep being worked on and improved in future versions.

0.1.0

  • First release.

Updating from an older version

On 0.3.1 under Wine or Proton: the 0.3.1 updater cannot install this version there, so extract the zip over your folder once; later updates install from the launcher. Do not keep a folder named update next to DriveClub.exe with 0.3.1: it deletes that folder at each start.

Extract the new zip over your existing folder, or copy the new DriveClub.exe, the runtime folder and the licenses folder into it. Your folder choices and settings are kept.

How to play

  1. Download driveclub-recomp-0.3.2-win64.zip and extract it anywhere you can write to.
  2. Have your own game dumps ready: the version 1.28 update folder (it contains eboot.bin) and the base game folder (it contains game000.dat).
  3. Double-click DriveClub.exe, press Browse next to each folder, check the settings and press Play.

Nothing to install. Your own files are never modified or copied.

Logs are in the logs folder.

Highlights

  • The game's own x86-64 code runs directly on your CPU, with no CPU emulation. The PS4 system libraries are reimplemented and the GPU commands are translated to Vulkan, similar to Wine and DXVK
  • Playable from the menus through races, photo mode and saves
  • About 60 FPS at 4K in the heaviest scenes on our test PC (RTX 5070 Ti, Ryzen 7 5800X3D), higher in lighter ones
  • Keyboard racing layout and any gamepad (Xbox, PlayStation, Switch Pro, 8BitDo)

Controls

Any gamepad works. Keyboard, mouse and gamepad can be used at the same time.

Action Keyboard
Accelerate W
Brake / reverse S
Steer A / D
Handbrake Space
Shift down / up Q / E
Change camera C
Touchpad left / right half R / T (R is Reset to Track)
Accept Enter / Z
Back Backspace
Pause Esc / P
D-pad Arrow keys
Look around I J K L or the mouse

F7 turns mouse look on or off.

Known issues

  • Some reflections are too bright, for example rain drops on the side window and the paint on cars on the vehicle select and paint job screens.
  • Static (faster) stops reflections and rain on the glass from updating.
  • The US version (CUSA00093) 1.28 is the tested one. The European version (CUSA00003) 1.28 is accepted but has been played less.
  • Anti-aliasing: fast cars can leave a faint trail. It does not work together with the patch "Disable motion blur and depth of field" (the game then keeps its own anti-aliasing).
  • The processor is the limit. Heavy scenes (many cars, trees and rain) drop frames first on slower CPUs.
  • First play builds shaders: short stutters in the first minutes until they are cached.
  • Online features do not work.
  • Mostly tested on NVIDIA. AMD and Intel are worked on from player reports, which is how most of the fixes in 0.2.5 were found: please include your GPU model, driver version and the newest file from the logs folder.
  • An event built around a car whose data is not in your dump can freeze when it starts (#85, #76, #81). The game waits for asset files that a disc dump does not hold.
  • A few PCs stop at a black screen right after the start (#64, #71, #54). The game reads a pointer that nothing ever fills; this is the next thing being worked on.

Notes

  • You must supply your own, legally obtained dump of the game. No game files are included.
  • Tested with: DriveClub, title ID CUSA00093, version 1.28 (the European CUSA00003 1.28 is accepted too). Other versions and repacked dumps have not been tested and may not work.
  • SmartScreen may warn (More info, then Run anyway). Verify with the checksum.
  • Requires Windows 10/11 64-bit and a graphics card with a Vulkan 1.3 driver. About 40 GB of free space is needed for the game dumps.

Checksums (SHA-256)

a4bdf0041e9bdf02457cd1cd028fe759eed8047a2a750c5a3cfca5375e6495e1 driveclub-recomp-0.3.2-win64.zip

Reporting problems

Please open an issue and attach the log files, because without them an issue usually cannot be solved. In the folder next to DriveClub.exe, open logs and drag these into the issue:

  • the newest driveclub_<date>_<time>.log (one per start: take the one from the run that went wrong)
  • launcher.log (it exists even when the game never started, for example when the launcher shows an error)
  • any crash_*.dmp (a small file written when the game crashes)

Also say what you were doing when it happened (menu, loading, which event and car).

DriveClub is a trademark and copyright of its respective owners; this project is not affiliated with or endorsed by them.

Don't miss a new driveclub-recomp release

NewReleases is sending notifications on new releases.