DuckStation Settings for Gran Turismo 2 (PS1 Emulator)

My original PlayStation 1 (SCPH-7502) and physical copy of Gran Turismo 2 (711719723523) were still working in 2024. However, the emulated experience with DuckStation looks and feels amazing in 60fps 16:9 widescreen with functioning VRR at 144Hz.

The best way I’ve found to run this iconic and revolutionary racing game from 1999, specifically:

DuckStation version 0.1-7371-gb2577ef8b (dev)
19th August 2024. (Download from the bottom of that page.)

Why an old version? DuckStation version 0.1-8153-g31c1cfa65 (dev) from 19th December 2024 is buggy for me. I went back to 7371 and the game ran nicely again. I’ll try new versions from time to time, updating this section if they work better for me.

Review the hardware I’m using and the various system settings I use for Windows and my graphics driver.

Contact me if there are any settings you want to know.

My Settings for GT2 in DuckStation

  1. Summary
  2. BIOS
  3. Console
  4. Emulation
  5. Graphics
  6. Rendering
  7. Advanced
  8. PGXP
  9. OSD
  10. Audio
  11. Controllers
  12. Achievements

Summary

Value Reason
Image Path Gran_Turismo_2_-_Project_A-Spec_v1.2 A-Spec is the best way to experience the game in 2025.
Serial SCUS-94488 Just so you know the exact version I’m playing.
Region NTSC-U/C
(US, Canada)
30fps but with the GT Hi-Fi cheat code from Silent, unlocks true 60fps.
PAL (UK) only has 25fps/50fps.

Interface

Value Reason
Pause On Controller Disconnect Ticked Batteries always run out during bumpy mid-corner oversteer corrections.
Enable Discord Presence Ticked Playing games from the 1990s makes you look cool on the Internet.
Render To Separate Window Ticked Game is on my big gaming screen, with everything else on my office screen.

BIOS

Value Reason
NTSC-U/C
(US, Canada)
SCPH1001.bin It’s usually called this so I called mine the same.
Fast Boot Ticked Skips some of the console boot animation, maybe? It’s a nice nostalgia trip every time so maybe untick this.

Console

Value Reason
Enable 8MB RAM
(Dev Console)
Ticked A bigger help in GT2, it can still smooth out frame rates in GT.
Enable Cheats Enabled Native 60fps is unlocked by a cheat code using GT Hi-Fi mode.
Execution Mode Recompiler
(Fastest)
It says it’s the fastest.
Enable Clock Speed Control
(Overclocking/Underclocking)
1000% Helps complete all work every frame. Preventing late frames is nice at just 60fps.
Enable Clock Speed Control
(Overclocking/Underclocking)
500% A lower value sometimes makes frame timing more consistent, even if they are late more often.
Async Readahead 32 sectors
(213kB / 64ms)
Maximum value to reduce lag during menu scene changes.
Read Speedup 10×
(20× Speed)
Fastest read speed.
Seek Speedup Infinite/
Instantaneous
With the game loaded into RAM (below) we can load everything straight away.
Preload Image To RAM Ticked Maximum performance. Menus and even starting a race is almost instant on my 2017 laptop.

Emulation

Value Reason
Emulation Speed 100% Make sure the game is timing things correctly.
Vertical Sync
(Vsync)
Unticked The below setting optimises frame timings for G-Sync/Freesync monitors, like my Asus PG329Q.
Optimal Frame Pacing Ticked Game will run as close to 60fps as possible. My screen is at 144Hz. Slightly late frames will be displayed in the next 144Hz interval, instead of that frame being late/dropped/tearing.
Sync To Host Refresh Rate Unticked DuckStation says: Users with variable refresh displays should disable this option.
Reduce Input Latency Ticked With working VRR, the CPU can wait until the GPU is almost ready.
Frame Time Buffer 2.0ms Default value reduces risk of jitter with the latency change. (I use this when capturing.)
Frame Time Buffer 0ms Minimal latency when not recording as frame pacing is perfect.
Enable Rewinding Unticked DuckStation says: Please note that enabling rewind may significantly increase system requirements.

Graphics

Value Reason
Renderer Direct3D 12 Trying this in 2025 on my GTX1060 (driver 450-ish) and liking it.
Adapter NVIDIA GeForce GTX 1060 Make sure to select your actual GPU and not the CPU or APU graphics package.

Graphics > Rendering

Value Reason
Internal Resolution Automatic
(based on Window Size)
The suggested 6× is upscaled too much. Testing auto mode in 2025 and seems legit.
Down-Sampling Unticked Gran Turismo is 3D during races.
Texture Filtering JINC2
(Slow)
Textured 3D surfaces look slightly cleaner than Bilinear and it can still Turbo to 120fps.
Bilinear Sharp An efficient upscaling method without the blurry look of the simplest upscalers.
Sprite Texture Filtering JINC2
(Slow)
Mostly affects menus, especially the text. In-race HUD text and dials are also clean.
Nearest Neighbour Bad. Scenery looks like original hardware. Look at trackside trees in Rome before colliseum.
Aspect Ratio 16:9 Works brilliantly!
Deinterlacing Adaptive
(FastMAD)
Is ignored due to Diable Interlacing setting below.
Crop Only Overscan Area A good balance to remove dead space around the picture whilst keeping details near the edges. Aspect ratio is slightly stretched - newer DuckStation versions fix this.
Scaling Bilinear
(Sharp)
An efficient upscaling method without the blurry look of the simplest upscalers.
True Color Rendering Ticked Improves the smoothness of colour transitions, text, HUD and UI.
PGXP Geometry Correction Ticked Very important! Solves much of the wobbly geometry that makes PS1 games look so odd compared to 2000s titles.
Force 4:3 For FMVs Ticked Not sure if Gran Turismo actually needs this. There is an intro movie and credits movie, though.
Disable Interlacing Ticked This forces progressive mode at all times. Deinterlacing setting earlier might not be needed.
Widescreen Rendering Unticked Yes, really. Widescreen 2.0 cheat code and the Aspect Ratio setting work best.
FMV Chroma Smoothing Ticked Makes video look slightly better, maybe?
Force NTSC Timings Unticked Just in case there’s any issue with region selection. It would make the game run 17% faster.

Graphics > Advanced

Value Reason
Exclusive Fullscreen Borderless Fullscreen Lets the game fill my gaming monitor at the right picture size, even with DuckStation on a different screen.
Screen Position Center Balances out any hardcoded borders.
Threaded Presentation Ticked Cannot be switched off. This is simply how GPUs work with contemporary software.
Multi-Sampling MSAA Reduces jaggies on the outside edges of 3D objects. Colourful liveries in bright tracks are improved.
Disabled Jaggies around 3D objects are not that big a deal in such a massively upscaled situation. Can save some GPU performance.
Line Detection Unticked Isn’ needed for this game.
True Color Debanding Ticked Smoother gradients look better.
Threaded Rendering Ticked Cannot be switched off. It’s just how GPUs work with contemporary software.
Scaled Dithering Ticked Blends the dithering techniques across the much larger picture size. (~6× the game’s original size for 1440p.)
Software Rendered Readbacks Ticked Not sure this does anything on my hardware. Potentially, it makes these enhancements run faster.

Graphics > PGXP

Value Reason
Perspective Correct Textures Ticked Straightens out some wobble/warp/crooked effects across flat surfaces in PS1 games.
Culling Correction Ticked Improves the accuracy of selecting which things which do/don’t need to be drawn.
Perspective Correct Colours Ticked Not sure. Maybe to do with vertex pre-lighting effects at distance, where there’s often a fog or fade-out effect?
Preserve Projection Precision Ticked Improves the accurate placement of post-processing effects, maybe?

Graphics > OSD

Value Reason
Show Emulation Speed Ticked Verify and capture that in-game time is matching realtime.
Show Frame Times Ticked Excellent frametime graph. Makes late processing or lag spikes really visible as they happen.
Show FPS Ticked Verify the game is at 60fps.
Show Resolution Ticked Lets me monitor the effect of auto resolution/upscaling on target output.

Post-Processing

Although some pretty useful filters seem to be in here, I haven’t played with them yet.

Audio

Value Reason
Backend Cubeb Seems to be the most feature-rich implementation and lowest latency.
Expansion Mode Disabled
(Stereo)
I only use earphones (Koss KSC75x) or laptop speakers for DuckStation. No surrround sound.
Stretch Mode Time Stretch
(Tempo Change, Best Sound)
Makes sounds seem correct even if frame rates are varying a bit.
Buffer Size 20ms Seems to stop rare sound stutter on scene changes.
Output Latency 9ms Might be ignored because I’m using Cubeb backend.
Mute CD Audio Unticked The songs in Gran Turismo 2 are from commercial releases in the 1990s. I have this Ticked when recording.

The music can cause copyright checks if you share video — it happened to me on YouTube. There is a cheat code to enable/disable music on a button press. That will be good for streaming to make the menus more entertaining.

Controllers

Value Reason
Enable XInput Input Source Ticked XBox One wireless controller.

Controller Port 1:

Value Reason
Controller Type NeGcon 8% steering deadzone instead of 33% is huge upgrade for ovals and overtakes.

Bindings to achieve radio control car controls, where left stick steers and right stick is gas/brake:

Value Reason
Steering/Twist > Left XInput-0/-LeftX Push left stick left to steer left.
Steering/Twist > Right XInput-0/+LeftX Push left stick right to steer right.
II XInput-0/+RightY Push right stick forward to throttle up.
I XInput-0/-RightY Push right stick forward to slow down.
L XInput-0/+LeftShoulder Gear up
R XInput-0/+RightShoulder Gear down.

Settings:

Value Reason
Steering Axies Deadzone 0% Default. Uses the smallest deadzone built into the game.
Steering Axis Saturation 100% Default. Not sure what this does.
Steering Axis Linearity 0.40 Seems to make small steering inputs more useful whilst keeping near-max finesse.
Steering Scaling 100% Default. Values below 100% reduce max steering.

Achievements

Value Reason
Enable Achievements Ticked Gotta catch ’em all.
Show Achievement Notifications Ticked Gotta know when I catch ’em.
Show Leaderboard Notifications Ticked Doesn’t seem to do anything? (Probably a skill issue.)
Enable In-Game Overlays Ticked Shows progress on a challenge or preset achievement. Haven’t used this yet.

My System Specs

For context, here are the 2017 gaming laptop components I use the emulator on:

CPU:
Intel i7-7700HQ (4 cores, 8 threads)
RAM:
16GB DDR4 2400MT/s Kingston HyperX
GPU:
nVidia GeForce GTX 1060 Mobile (6GB)
GPU Driver Version:
451.67
GPU Driver Date:
July 2020 via Windows Update
OS Storage:
500GB Samsung 960 Evo-like (NVMe m.2)
Game Storage:
500GB Crucial MX100 (SATA SSD)

My System Tuning

Laptop Performance

Power mode:
Best performance

Throttlestop

Speed Shift EPP:
0
Disable Turbo:
Unticked (when try-harding)
Disable Turbo:
Unticked (casual play)
1 Core Turbo Ratio:
38
2 Cores Turbo Ratio:
36
3 Cores Turbo Ratio:
32
4 Cores Turbo Ratio:
30
CPU Core Offset Voltage:
-99.6mV (-0.0996V)
CPU Cache Offset Voltage:
-99.6mV (-0.0996V)

Afterburner

Core Clock Curve:
Flat-lined above 1050MHz

G-Sync

These settings can be found by right-clicking your desktop and clicking NVIDIA Control Panel:

  • From the left menu, Set Up G-SYNC:
    1. Apply the following changes:
      • Enable G-SYNC, G-SYNC Compatible
      • Enabled for windows and full screen mode
    2. Select each screen to apply this to them all.

Global 3D Profile

Do these matter?

Image Sharpening:
Sharpening Off, Scaling disabled (registry tweak)
Low Latency Mode:
Ultra
Max Frame Rate:
144 FPS

DuckStation profile

Firstly, how to create a profile for DuckStation:

  1. Start DuckStation and then close it.
  2. Return to nVidia Control Panel.
  3. From left menu Manage 3D settings.
  4. Tab Program Settings.
  5. Button Add – can take several seconds to respond.
  6. Window called Add appears
  7. Make sure Sort by is set to Recently used.
  8. Select DuckStation PS1 Emulator.
  9. Button Add Selected Program.

Now, settings which seem to matter. Latency gains are very nice with such a low frame rate:

Low Latency Mode:
Ultra (started in 2025; previous was 1)
Max Frame Rate:
60
Monitor Technology:
G-Sync (Global)
Power management mode: (previously: GPU Power)
Prefer maximum Performance
Preferred refresh rate:
Application-controlled
Vertical sync:
Fast (maybe better as Application-controlled?)

Remember that my monitor is running at 144Hz in Windows and in the nVidia panel and in its hardware OSD. The game runs at 60Hz with slower frame pacing at times. Sending all the frames the game renders and letting the screen display them all in its shorter intervals is achieved with these settings. It’s a unique advantage to having VRR support in a low-refresh game with a high-refresh monitor. Made possible by DuckStation. It really is a fast and modern emulator.