Repository navigation
Releases: spriteice/JSRF-PC
Release list
JSRF-PC beta 1.2
Thanks to JuMatt for the original port. You need your own, legally acquired copy of the game: the standalone USA (NTSC-U) disc. Setup is in the README.
This is a major performance release. The game runs smoother everywhere, and most of all in Game Mode on SteamOS. On the ROG Xbox Ally X, the frames shown late fell from 21 to 455 a test run to 2 to 7, plugged in, on battery, and in a window, and no frame took longer than 50 ms in play. Tested on Linux and Windows.
During testing, the game's main thread in The Garage went from 39–58% of a CPU core to 9–15%, and the GPU thread from 17–29% to 9–15%. In 99th Street, the main thread went from 21–40% to 19–26%, and the GPU thread from 36–59% to 25–44%.
Added
- Performance menu: Developer > Performance has what the engine does for speed, each on and ticked by default, to untick and compare: GPU queue, Sleep while waiting for the GPU, Compressed textures direct, and on Linux, Use P cores and Display pacing.
- Use P cores: On a processor with two kinds of cores, as the ROG Xbox Ally X has, the game's two busiest threads run on the fast ones. It leaves the clocks and the power profile as they are. (Linux)
- Sound logging: Developer > Logging > RECOMP_APU_CHANNELS logs when one side of the sound goes quiet, with what each voice was playing at the time, to help find the bug where sound comes from one side only.
- xemu's sound: Developer > Engine switches > RECOMP_APU_MIX=xemu plays the sound as xemu does, to compare when testing. The game's own sound stays the default.
Fixed
- Uneven frame pacing: The game's frames drifted against the display's refreshes, so sometimes one showed twice and the next not at all, which felt choppy and sluggish in Game Mode. Frames are now timed by the display's refreshes. (Linux)
- Stutter entering a level: Entering a level held one frame for up to a fifth of a second while its textures were made. Textures are now made several times faster, and entering a level takes under 30 ms.
- Slowdown during certain effects: The spray can's effect and the sewer's splashing water made new shaders as they faded, which slowed the game down. They make none now.
- Busy menus: In the menus and The Garage, the game spun while it waited for the graphics, using up to two thirds of a CPU core. It now sleeps while it waits, and the menus respond better.
- Missing scenery on Kibogaoka Hill and in the Fortified Residential Zone: Rails, rafters, walkways, and stacked houses weren't drawn. (JuMatt, upstream 0.5.7)
Changed
- GPU queue on: The game prepares its next frames while the last ones are drawn, as b1.1's experiment did, now by default. It moves from Developer > Experimental to Developer > Performance > GPU queue. If you turned the experiment off again in b1.1, the queue stays off: tick GPU queue to turn it on.
- CPU profile: Developer > Logging's RECOMP_CPU_PROFILE now works on Windows too.
- GPU profile: Developer > Logging's RECOMP_GL_PROFILE also logs the graphics card's own time for each frame.
- Timeline log: A diagnostic log that was always on is now off, which nearly halves a run's log. Developer > Logging > RECOMP_GL_TIMELINE turns it on.
- Shader cache: The shaders changed, so the first start after updating shows "Building shaders" for longer than usual, once. The cache is kept.
Known issues
- Jet boost in widescreen: In 16:9, the boost effect is stretched and not drawn correctly, with black bars around the picture.
- Half a pixel off: Some elements may appear half a pixel out of place, a side effect of the fix for graffiti on walls.
- Sound from one side: Between menus, sound sometimes comes from one side only. If it happens to you, a log from a run with Developer > Logging > RECOMP_APU_CHANNELS ticked helps find it.
- Music in the Graffiti picker: Sometimes the music stops in The Garage's Graffiti picker. It comes back in gameplay.
- Black screenshots: Snipping Tool captures the game as black in full screen. Playing in a window (F11) may get around it. (Windows)
- Graffiti menu icons on AMD: On some AMD graphics, the left and right icons in The Garage's Graffiti menu stop working when selected again. (Windows)
- Free camera in a scene: With the free camera on (F8), it still steers the view in the scene where other skaters head off, as Poison Jam do in Shibuya Terminal.
Reporting a bug
Open an issue and attach the log from the run where it happened. The latest run is last-run.log, and the five before it are kept as run-<date>.log:
- Linux:
~/.local/state/jsrf-pc/, and itslogsfolder (portable mode:portable/logs/) - Windows:
%LOCALAPPDATA%\JSRF-PC\, and itslogsfolder (portable mode:portable\logs\)
Starting the game again renames last-run.log, so if you've played since, attach the run-<date>.log from that time.
Downloads
| Platform | File |
|---|---|
Linux x86_64: SteamOS, Ubuntu 22.04+, and most modern distros. Extract it and run jsrf-pc. |
JSRF-PC-b1.2-linux-x86_64.tar.gz |
Windows 10 or 11, x86_64. Extract it and run JSRF-PC.exe. |
JSRF-PC-b1.2-windows-x86_64.zip |
SHA-256:
e3974376fe9d8bc111e633de53357ea2ef02c18400cc7032a34b8474478844a5 JSRF-PC-b1.2-linux-x86_64.tar.gz
8bb4dadeccf1cdf7c4876192aef8fefd654ee1c6b9b72ec7185abf8f9e0c69d9 JSRF-PC-b1.2-windows-x86_64.zip
JSRF-PC beta 1.1 hotfix
JSRF-PC b1.1-hotfix (beta) is based on upstream JSRF Unleashed 0.5.6. Tested on Linux and Windows.
Thanks to JuMatt for the original port. You need your own, legally acquired copy of the game: the standalone USA (NTSC-U) disc. Setup is in the README.
Hotfix
b1.1-hotfix takes the place of b1.1's downloads. It plays the opening logos as on the Xbox and draws the game's fades to black.
Added
- Skip intro: Display > Skip intro leaves out the logos and the graffiti notice at the start, and goes straight to the title screen. Off by default.
Fixed
- Opening logos: The logos and the graffiti notice at the start went by in a few seconds, and a press skipped them. They now play as on the Xbox: about 6 seconds a logo, and the graffiti notice stays up for at least 7 seconds.
- Fades to black: The logos, the title screen, and the changes between scenes cut to and from black instead of fading. They fade now, as on the Xbox, and Developer > Engine switches > RECOMP_GL_CURTAIN=skip leaves the fades out.
Changed
- Display menu: Fullscreen, Widescreen (16:9), and Render scale move from Graphics to a new Display menu, between File and Graphics.
b1.1
This is a large bug-fix release. It brings the game closer to how it looks on the Xbox, while still allowing clean visual enhancements. It also fixes some rendering bugs the game has on the original Xbox, such as flickering in various places.
Added
- Restart: File > Restart starts the game again, after asking, so the options marked (Restart) apply without closing it.
- Engine switches: Developer > Engine switches turns parts of the renderer off, or back to how they were, to compare one way with the other.
- Game runs ahead of the GPU: An experimental switch. With it on, the game prepares its next frames while the last ones are drawn, which made crowded places smoother in testing. (Developer > Experimental, off by default while it's still being tested)
- Camera log: Developer > Logging can log what the game's camera does, for bug reports about the camera.
- CPU profile: Developer > Logging can log where the game spends its time, for reports about slowdowns. (Linux only)
Fixed
- Slowdown in crowds: The game could fall to 30 fps where a sound restarts many times a second, as in Shibuya Terminal's crowds. Sounds now restart as quickly as on the Xbox.
- Stutter in busy places: Every draw waited for the graphics driver, which made busy places such as 99th Street stutter. That wait is gone.
- Flickering in the distance: Distant buildings and windows flickered as the camera moved. Depth is now precise into the distance.
- Graffiti on walls: Graffiti could flicker, slip behind the wall it was sprayed on, or disappear entirely.
- Graffiti menu icons: Some icons in the Graffiti menu went missing. They all show now. (Windows)
- Jet boost: Boosting drew a dark hexagon on the ground around the skater, other dark shapes, and a ghosted picture.
- Free camera: The view sometimes jumped up and looked down on the player, and talking to someone, as in The Garage, moved it. Neither happens now.
- Shadows: Characters, buildings, and bridges cast shadows. They were never drawn before. (JuMatt, upstream 0.5.6)
- Shimmering textures: Distant surfaces shimmered as the camera moved. They now use the game's own smaller copies of each texture. (JuMatt, upstream 0.5.5)
- Reflections: Reflective glass and panels, as on Dogenzaka Hill's footbridge, showed dark bars and odd stripes. They now reflect. (JuMatt, upstream 0.5.5)
- Characters' shading: Part of a character, such as an arm or the face, could take another material's shading. (JuMatt, upstream 0.5.5)
- Memory after a restart: Each restart, such as for a new render scale, kept the last run's memory until the game closed. (Linux only)
Changed
- Anti-aliasing: SMAA takes the place of FXAA. If you had FXAA on, turn on Graphics > Anti-aliasing (SMAA). The settings file's fxaa= line is no longer read, so it can be deleted. (JuMatt, upstream 0.5.5)
- Developer > Logging: Each row is now named by the variable it sets, as in RECOMP_GL_PROFILE.
- Shader cache: The cache saved by b1 is invalidated, because the reflections fix changed what each shader is made from. Its shaders are dropped at the first start, so the game may experience shader stutter the first time you play each area.
Known issues
- Jet boost in widescreen: In 16:9, the boost effect is stretched and not drawn correctly, with black bars around the picture.
- Half a pixel off: Some elements may appear half a pixel out of place, a side effect of the fix for graffiti on walls.
- Sound from one side: Between menus, sound now and then comes from one side only.
- Music in the Graffiti picker: Now and then the music stops in The Garage's Graffiti picker. It comes back in gameplay.
- Black screenshots: Snipping Tool captures the game as black in full screen. Playing in a window (F11) may get around it. (Windows only)
Reporting a bug
Open an issue and attach the log from the run where it happened. The latest run is last-run.log, and the five before it are kept as run-<date>.log:
- Linux:
~/.local/state/jsrf-pc/, and itslogsfolder (portable mode:portable/logs/) - Windows:
%LOCALAPPDATA%\JSRF-PC\, and itslogsfolder (portable mode:portable\logs\)
Starting the game again renames last-run.log, so if you've played since, attach the run-<date>.log from that time.
Downloads
| Platform | File |
|---|---|
Linux x86_64: SteamOS, Ubuntu 22.04+, and most modern distros. Extract it and run jsrf-pc. |
JSRF-PC-b1.1-hotfix-linux-x86_64.tar.gz |
Windows 10 or 11, x86_64. Extract it and run JSRF-PC.exe. |
JSRF-PC-b1.1-hotfix-windows-x86_64.zip |
SHA-256:
1bf561b7ab18bc0fd3f165a7da9ed3248d6a5c126dbc46b799246e84bbc716e9 JSRF-PC-b1.1-hotfix-linux-x86_64.tar.gz
8cf5a0197b0b4bf34907d6f6873c73a6e6de9da17cee6dd15fd8d37ad709b52c JSRF-PC-b1.1-hotfix-windows-x86_64.zip
JSRF-PC beta 1
JSRF-PC b1 (beta) is based on upstream JSRF Unleashed 0.5.4. Tested on Linux and Windows.
Thanks to JuMatt for the original port. You need your own, legally acquired copy of the game: the standalone USA (NTSC-U) disc. Setup is in the README.
Added
- Developer menu: In the in-game menu. Log to file turns the log on or off at once, Logging switches on the engine's diagnostic logs for bug reports, and Purge shaders restarts the game with an empty shader cache.
Fixed
- Shader cache after an update: Shaders saved by an older version were never used again, so after an update the game paused to build them again during gameplay. The cache now keeps what each shader was made from, and from b1 on rebuilds them for the new version at start-up.
Changed
- New name: With this fork focusing on PC builds, it is now renamed JSRF-PC.
- Menu behaviour: Adjusted to be more consistent, with the menus tidied up and put in a clearer order. A click outside the in-game menus now closes them, back to the bar, instead of opening the last menu again.
- Version numbers: Distinct from upstream, beta until 1.0
Moving from JSRF Unleashed or 0.5.3a
JSRF-PC keeps its settings, cache, and logs in new folders. The first start asks where the game is again, and the options are back to their defaults. The shader cache starts empty too, so the game may pause briefly the first time you play each area.
If you played from a disc image (.iso), your saves are in its unpacked copy, a folder named after the image. Before you first start b1, copy that folder into the new place, and b1 uses it, saves included, without unpacking the image again:
- Linux: from
~/.local/share/jsrf-unleashed/to~/.local/share/jsrf-pc/ - Windows: from
%LOCALAPPDATA%\JSRF Unleashed\to%LOCALAPPDATA%\JSRF-PC\
If b1 has already unpacked the image, copy the old folder's UDATA over the new one instead. Saves in a game folder's UDATA, and portable mode, need nothing.
Reporting a bug
Open an issue and attach the log from the run where it happened. The latest run is last-run.log, and the five before it are kept as run-<date>.log:
- Linux:
~/.local/state/jsrf-pc/, and itslogsfolder (portable mode:portable/logs/) - Windows:
%LOCALAPPDATA%\JSRF-PC\, and itslogsfolder (portable mode:portable\logs\)
Starting the game again renames last-run.log, so if you've played since, attach the run-<date>.log from that time.
Downloads
| File | Platform |
|---|---|
JSRF-PC-b1-linux-x86_64.tar.gz |
Linux x86_64: SteamOS, Ubuntu 22.04+, and most modern distros. Extract it and run jsrf-pc. |
JSRF-PC-b1-windows-x86_64.zip |
Windows 10 or 11, 64-bit. Extract it and run JSRF-PC.exe. |
SHA-256:
67ef537ff73afcd48a8771d330d8678ded360580b5e16016076debf4d56e03bc JSRF-PC-b1-linux-x86_64.tar.gz
ee27b63caf3b86923e80ba89a9332927674703aa766b1c6ea194279682823cc5 JSRF-PC-b1-windows-x86_64.zip
0.5.3a
This fork is JSRF Unleashed 0.5.3 plus the changes below. There are builds for Linux and Windows only. Linux is the main target and the most tested; the Windows build starts and plays but is largely untested. For Android, macOS and iOS, use upstream's 0.5.3.
Thanks to JuMatt for the original port, which this fork builds on.
You need your own copy of the game (USA). Setup is the same as upstream's: see the README.
Additions
- Portable mode: a folder named
portablenext to the launcher keeps the settings, saves, logs and cache inside it. (Linux, Windows) - In-game menu: F1, or Back on a controller. On Windows it replaces the Video menu bar above the window; F9 to F11 work as before. (Linux, Windows)
- Free camera: F8, or
freecam=1in the settings file, gives the right stick to the camera, which turns around the player. The L trigger puts it back behind the player. Sensitivity, inversion and deadzone are settings. (Linux, Windows) - Anti-aliasing: MSAA (2x, 4x or 8x, up to what your graphics card supports) and FXAA, in the in-game menu's Graphics menu. They can be on together, a change takes effect straight away, and both are off by default. MSAA is costly; FXAA is cheap but softens the HUD a little. (Linux, Windows)
- Anisotropic filtering: 2x to 16x, in the same menu, keeps textures sharp on surfaces seen at an angle. (Linux, Windows)
- Full screen is remembered: F11, Alt+Return or the menu's Full screen setting is kept for the next start, like widescreen and the scale. (Linux, Windows)
Bug fixes / Changes
-
Builds from source now boot, save and play. Built with the repository's own tools alone, the game had a black screen at boot, a hang at the save menu, audio stutter and two missing functions. Upstream's own downloads didn't have these problems. The tools also find one more of the game's methods than before. The README has step-by-step Linux build instructions. (all platforms; tested on Linux and Windows)
-
Shader cache: upstream's shader cache behavior has been modified; it now compiles every cached shader on each launch, behind a progress bar, and Graphics > Shader Cache turns it on or off (on by default). Cache files left by other drivers or versions are removed. (Linux, Windows)
-
Steadier frame pacing: the GPU thread's short waits last as long as asked, instead of up to 15 ms longer. (Windows)
-
Two kernel calls the game makes are now handled (NtProtectVirtualMemory and KeSetDisableBoostThread), and two others no longer leave the stack off by 4 bytes. (all platforms)
-
The game's threads hand over to each other straight away, instead of waiting a millisecond or more each time (up to 15.6 ms on Windows). (all platforms)
-
A clock the audio and graphics code read no longer overflows, which it did after 9 seconds of computer uptime on Linux and 15 minutes on Windows. (all platforms)
-
Freeing game memory no longer fails thousands of times a minute, each failure logged and reported to the game. (Windows)
-
Two threads reading the same file can no longer get each other's data. (all but Windows)
-
The graffiti cache's second release of the same memory on every scene change now fails quietly, as on the console. (all platforms)
-
Smaller, faster release builds with quieter logs: debugging checks at every function call are now only in debug builds. (all platforms)
Reporting a bug
Please open an issue and upload the log from the run where it happened. The latest run is last-run.log, and the five runs before it are kept as run-<date>.log:
- Linux:
~/.local/state/jsrf-unleashed/and itslogsfolder (portable mode:portable/logs/) - Windows:
%LOCALAPPDATA%\JSRF Unleashed\and itslogsfolder (portable mode:portable\logs\)
Starting the game again renames last-run.log, so if you played again after the bug, pick the run-<date>.log from that time.
Downloads
| File | For |
|---|---|
JSRF-0.5.3a-linux-x86_64.tar.gz |
Linux x86_64 with glibc 2.34 or newer, including SteamOS. Extract it and run jsrf-unleashed. |
JSRF-0.5.3a-windows-x86_64.zip |
Windows x86_64. Extract it and run JSRF Unleashed.exe. |
SHA-256:
21809a5c5e98fc30a4e4a89f166518e5002e65215d54ec1a1989497c55954f84 JSRF-0.5.3a-linux-x86_64.tar.gz
944ffe937e7f8913470534afb9b47374e142ee30eaa8d1072a4a8a4dfcb21f00 JSRF-0.5.3a-windows-x86_64.zip
0.5.3a RC (release candidate, needs testing)
Release candidate: this needs testing. It's a test build of the coming 0.5.3a beta, so expect bugs.
Thanks to JuMatt for the original port, which this fork builds on.
This fork is JSRF Unleashed 0.5.3 plus the changes below. There are builds for Linux and Windows only. Linux is the main target and the most tested; the Windows build starts and plays but is largely untested. For Android, macOS and iOS, use upstream's 0.5.3.
You need your own copy of the game (USA). Setup is the same as upstream's: see the README.
Additions
- Portable mode: a folder named
portablenext to the launcher keeps the settings, saves, logs and cache inside it. (Linux, Windows) - In-game menu: F1, or Back on a controller. (Linux, Windows)
- Free camera: F8, or
freecam=1in the settings file, gives the right stick to the camera, which turns around the player. The L trigger puts it back behind the player. Sensitivity, inversion and deadzone are settings. (Linux, Windows)
Bug fixes
- Builds from source now boot, save and play. Built with the repository's own tools alone, the game had a black screen at boot, a hang at the save menu, audio stutter and two missing functions. Upstream's own downloads didn't have these problems. The README has step-by-step Linux build instructions. (all platforms; tested on Linux and Windows)
- Two kernel calls the game makes are now handled (NtProtectVirtualMemory and KeSetDisableBoostThread), and two others no longer leave the stack off by 4 bytes. (all platforms)
Reporting a bug
Please open an issue and upload the log from the run where it happened. The latest run is last-run.log, and the five runs before it are kept as run-<date>.log:
- Linux:
~/.local/state/jsrf-unleashed/and itslogsfolder (portable mode:portable/logs/) - Windows:
%LOCALAPPDATA%\JSRF Unleashed\and itslogsfolder (portable mode:portable\logs\)
Starting the game again renames last-run.log, so if you played again after the bug, pick the run-<date>.log from that time.
Downloads
| File | For |
|---|---|
JSRF-0.5.3a-rc-linux-x86_64.tar.gz |
Linux x86_64 with glibc 2.34 or newer, including SteamOS. Extract it and run jsrf-unleashed. |
JSRF-0.5.3a-rc-windows-x86_64.zip |
Windows x86_64. Extract it and run JSRF Unleashed.exe. |
SHA-256:
ae4d1beaedc27b2d87f0c7e7ac756344ffff6747efba31b6bb573518e0c132c2 JSRF-0.5.3a-rc-linux-x86_64.tar.gz
670e7c6b48cd6fbad681e9ef0072043a2b8c6288df313b2576cbce2fc432de0b JSRF-0.5.3a-rc-windows-x86_64.zip