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 and 2560&1440p resolution.

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

DuckStation version 0.1-8773-ga1d69982f (dev)
22nd March 2025. (Download from the bottom of that page.)

In 2024 I was using DuckStation version 0.1-7371-gb2577ef8b (dev) and that was good. When I tried 0.1-8153-g31c1cfa65 (dev) from 19th December 2024 it was buggy for me. In 2025 I deep-dived my setup again and tried version 0.1-8773-ga1d69982f (dev) with improvements to resolution and aspect ratio control. It works better than ever!

I’ll try new versions from time to time, updating this section if they work better still for me.

My System & Configuration

Review the hardware I’m using and the various system settings I use for Windows and my nVidia 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
Fast Boot Ticked Skips some of the console boot animation, maybe? It’s a nice nostalgia trip every time so maybe untick this.
Fast Forward Boot Ticked Reduces startup time by applying Emulation > Fast Forward Speed automatically.
Fast Forward Memory Card Access Ticked Reduces gamesave load/save times by applying Emulation > Fast Forward Speed automatically!
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 left-overs.
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.
500% A lower value sometimes makes frame timing more consistent, even if they are late more often.
300% 2025 going back to a commonly given number that should be enough.
Async Readahead 32 sectors
(213kB / 64ms)
Maximum value to reduce lag during menu scene changes.
Read Speedup 10×
(20× Speed)
Fastest read speed.
Maximum 2025 even faster read speed?
Seek Speedup Infinite/
Instantaneous
With the game loaded into RAM (below) we can load everything straight away.
Seek Speedup Maximum 2025 value was renamed for clarity.
Preload Image To RAM Ticked Maximum performance. Menus are instant. Starting a race under a second on my 2017 gaming laptop.

Emulation

Value Reason
Emulation Speed 100% Make sure the game is timing things correctly.
Turbo Speed 200% Achievable on my system.
Fast Forward Speed 200% Achievable on my system.
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.
Reduce Input Latency Unticked 2025 felt this setting was making frame pacing unstable, especially when recording.
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 as frame pacing is perfect.
Frame Time Buffer (Not available) 2025 stopped trying to reduce latency.
Enable Rewinding Unticked DuckStation says: Please note that enabling rewind may significantly increase system requirements.

Cheats

(More to follow.)

Graphics

Value Reason
Renderer Direct3D 11 Default choice and is the fastest.
Renderer Direct3D 12 Trying this in 2025 on my GTX1060 (driver 450-ish) and it works.
Renderer OpenGL About 10% slower but frame timings and latency feel better.
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 6× Native
(for 1440p)
Upscales menus far too much. Is very slightly below target resolution in races.
8× Native 2544×1792 pixels which is about right horizontally for 2560×1440 monitor. Downscales the vertical a bit. Heavy on GPU.
Automatic
(based on Window Size)
2025 improved a lot! Perfect horizontal size in races and most menus. Vertical overscan due to game engine.
Down-Sampling Unticked Gran Turismo is 3D during races.
Texture Filtering JINC2
(Slow)
2025. 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)
2025. 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 Disabled
(Flickering)
2025. Is ignored due to Diable Interlacing setting below.
Progressive
(Optimal)
Moves the Disable Interlacing tickbox into this drop-down list.
Crop Only Overscan Area Removes nearly all blank space down the sides. Aspect ratio was slightly stretched before 2025 DuckStation versions.
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.
(Moved) 2025 the setting was merged into Deinterlacing drop-down list as Progressive.
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.
(Refactored) 2025 seems to be handled by the Region area?

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.
Multi-Sampling MSAA Reduces jaggies on the outside edges of 3D objects. Colourful liveries in bright tracks are improved.
MSAA 2025. Very good edges on cars with shaped rears, such as Celica GT300. Makes the GPU work hard.
Disabled Jaggies around 3D objects are not really visible in a massively upscaled game which I record at half size.
Line Detection Disabled Isn’ needed for this game.
True Color Debanding Ticked Smoother gradients look better.
Threaded Rendering Ticked 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.
Unticked 2025. Seems to save a few fps.

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 16ms 2025. Tightening this as I have better frame times.
38ms Increased in 2025 as background tasks were delaying the audio.
Output Latency 9ms Might be ignored because I’m using Cubeb backend.
Output Latency Minimal Ticked this in 2025 when I increased Buffer Size.
Output Latency Unticked Was causing audio drift in Game Bar captures that corrupted sound after 10+ minutes.
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.25 2025. Re-calibrated with the in-game options. Makes small steering inputs bigger while keeping full stick range. Almost GT6/GTA5 style.
Steering Scaling 100% Default. Values below 100% reduce max steering.

1P Analog Settings

Options within Gran Turismo 2 to calibrate the controller!

  1. When you first enter these settings, you’ll get a bar with a line that tracks your steering position.
  2. Move the stick all the way left and press Start.
  3. Now move the stick all the way right and press Start.
  4. You’ll now see the calibration interface with the raw values – that you can change!
  5. Use the D-pad Up and Down to select a setting.
  6. Move the stick to where you want that setting then press Start.
  7. Or use D-Pad Left and Right to scroll the values.
  8. If you use my DuckStation mapping above, the Acceleration and Brake settings will use your right stick.
Value Reason
Steering > Center 3 My left stick drifts/rests a bit to the right so I move the midpoint to match.
Steering > Max 124 Move the steering all the way right then push Start.
Steering > Margin 2 2025. Controller deadzone fix! Choose the size of deadzone you want!
Acceleration > Max 255 Full range to feather accurately when hard on the gas.
Acceleration > Margin 16 Generous deadzone to make sure I’m not on throttle mid-corner.
Brake > Max 230 Set this less than full stick movement to make sure I get full braking.
Brake > Margin 25 Even bigger deadzone because my right stick drifts/rests a bit downward.

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:
Better performance (6& resolution)
Power mode:
Best performance (8& resolution)

Throttlestop

Speed Shift EPP:
0
Disable Turbo:
Unticked (when try-harding)
Disable Turbo:
Ticked (casual play)
Non Turbo Ratio:
27 (cannot edit)
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
Core Clock Curve:
8× Resolution in 2025: Flat-lined at 1202MHz

G-Sync

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

Global 3D Profile

Do these matter?

Image Sharpening:
Sharpening Off, Scaling disabled (registry tweak)
Low Latency Mode:
Ultra
Max Frame Rate:
60fps
Power management mode:
Optimal power
Preferred refresh rate:
Highest available
Texture filtering - Negative LOD bias:
Allow
Texture filtering - Trilinear optimisation:
Off (maybe should be on?)
Threaded optimisation:
On
Vertical sync:
Use the 3D application setting

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 called GPU Power)
Prefer maximum Performance
Preferred refresh rate:
Application-controlled
Texture filtering - Quality:
High Quality
Texture filtering - Trilinear optimisation:
Off (maybe should be on?)
Vertical sync:
Off

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.