Grand Theft Auto IV: Difference between revisions

From RPCS3 Wiki
(→‎Broken light sources on NVIDIA GPUs: Light sources are rendered correctly on NVIDIA GPUs using OpenGL.)
 
(35 intermediate revisions by 11 users not shown)
Line 1: Line 1:
<!-- please read the wiki conventions page and documentation for templates before creating a new game page -->{{vginfobox
<!-- please read the wiki conventions page and documentation for templates before creating a new game page -->{{vginfobox
|image    = [[File:{{#setmainimage:GTA4.jpg}}|300px]]
|developer = Rockstar Games
|developer = Rockstar Games
|publisher = Rockstar Games
|publisher = Rockstar Games
Line 7: Line 8:
|genre    = Action, Adventure
|genre    = Action, Adventure
|modes    = Single-player, Multiplayer
|modes    = Single-player, Multiplayer
|gameid    = {{gameid|id=BLES00229, BLUS30127, NPEB00882, NPUB30702|ird=Yes}}<br>'''''The Complete Edition'''''<br>{{gameid|id=BLES01128, BLUS30682|ird=Yes}}
|gameid    = {{gameid|id=BLES00229, BLUS30127, NPEB00882, NPUB30702|oid=BLES00258, BLJM60093|ird=Yes}}<br>'''''The Complete Edition'''''<br>{{gameid|id=BLES01128, BLUS30682|oid=BLJM60346|ird=Yes}}
|internal resolution = 1152x640
}}
}}


Line 15: Line 17:


==Configuration==
==Configuration==
<!-- Only enter mandatory non-default settings to be used. Delete parameters which are not applicable -->{{config
<!-- Enter mandatory non-default settings to be used. Recommendatory or default settings can be entered only on exceptional basis. -->{{config
<!-- CPU configuration -->
<!-- CPU configuration -->
|ppu decoder                          = <!-- Interpreter (precise), Interpreter (fast), Recompiler (LLVM) -->
|ppu decoder                          = <!-- Interpreter (static), Interpreter (dynamic), Recompiler (LLVM) -->
|ppu decoder notes                    =  
|ppu decoder notes                    =  
|spu decoder                          = <!-- Interpreter (precise), Interpreter (fast), Recompiler (ASMJIT), Recompiler (LLVM) -->
|spu decoder                          = <!-- Interpreter (static), Interpreter (dynamic), Recompiler (ASMJIT), Recompiler (LLVM) -->
|spu decoder notes                    =  
|spu decoder notes                    =  
|preferred spu threads                = <!-- Auto, Single digit between 1 to 6 (e.g. 3), Range between 1 to 6 (e.g. 1 - 3) -->
|preferred spu threads                = <!-- Auto, Single digit between 1 to 6 (e.g. 3), Range between 1 to 6 (e.g. 1 - 3) -->
|preferred spu threads notes          =  
|preferred spu threads notes          =  
|enable thread scheduler               = <!-- On, Off -->
|thread scheduler                     = <!-- Operating System, RPCS3 Scheduler, RPCS3 Alternative Scheduler -->
|enable thread scheduler notes         =
|thread scheduler notes               =  
|lower spu thread priority            = <!-- On, Off -->
|lower spu thread priority notes      =  
|enable spu loop detection            = <!-- On, Off -->
|enable spu loop detection            = <!-- On, Off -->
|enable spu loop detection notes      =  
|enable spu loop detection notes      =  
|spu cache                            = <!-- On, Off -->
|spu xfloat accuracy                  = Accurate<!-- Accurate, Approximate, Relaxed -->
|spu cache notes                      =
|spu xfloat accuracy notes             = Fixes missing collision. Requires SPU LLVM recompiler. Expect audio stutter.
|accurate xfloat                      = On <!-- On, Off -->
|accurate xfloat notes                 = Fixes missing collision. Requires SPU LLVM recompiler.
|spu block size                        = <!-- Safe, Mega, Giga -->
|spu block size                        = <!-- Safe, Mega, Giga -->
|spu block size notes                  =  
|spu block size notes                  =  
Line 38: Line 36:
|tsx instructions notes                =  
|tsx instructions notes                =  
<!-- GPU configuration -->
<!-- GPU configuration -->
|renderer                              = Vulkan <!-- OpenGL, Vulkan, Disabled -->
|renderer                              = <!-- OpenGL, Vulkan, Disabled -->
|renderer notes                        = Recommended to get the best performance.
|renderer notes                        =  
|aspect ratio                          = <!-- 4:3, 16:9 -->
|aspect ratio                          = <!-- 4:3, 16:9 -->
|aspect ratio notes                    =  
|aspect ratio notes                    =  
|framelimit                            = <!-- Off, 59.94, 50, 60, 30, Auto -->
|framelimit                            = <!-- Off, 50, 60, 30, Auto, PS3 Native, Infinite -->
|framelimit notes                      =  
|framelimit notes                      =  
|anisotropic filter                    = <!-- Auto, 2x, 4x, 8x, 16x -->
|anisotropic filter                    = <!-- Auto, 2x, 4x, 8x, 16x -->
Line 48: Line 46:
|anti-aliasing                        = <!-- Auto, Disabled -->
|anti-aliasing                        = <!-- Auto, Disabled -->
|anti-aliasing notes                  =  
|anti-aliasing notes                  =  
|zcull accuracy                        = Relaxed<!-- Precise, Approximate, Relaxed -->
|zcull accuracy notes                  = Improves performance without any noticeable issues.
|shader quality                        = <!-- High, Low, Auto -->
|shader quality notes                  =
|3d rendering mode                    = <!-- Disabled, Anaglyph, Side-by-side, Over-under -->
|3d rendering mode notes              =
|default resolution                    = <!-- 1920x1080, 1280x720, 720x480, 720x576, 1600x1080, 1440x1080, 1280x1080, 960x1080 -->
|default resolution                    = <!-- 1920x1080, 1280x720, 720x480, 720x576, 1600x1080, 1440x1080, 1280x1080, 960x1080 -->
|default resolution notes              =  
|default resolution notes              =  
Line 56: Line 60:
|shader mode                          = <!-- Legacy (singlethreaded), Async (multithreaded), Async with Shader Interpreter, Shader Interpreter only -->
|shader mode                          = <!-- Legacy (singlethreaded), Async (multithreaded), Async with Shader Interpreter, Shader Interpreter only -->
|shader mode notes                    =  
|shader mode notes                    =  
|write color buffers                  = On <!-- On, Off -->
|write color buffers                  = On<!-- On, Off -->
|write color buffers notes            = Fixes missing reflections.
|write color buffers notes            = Fixes missing reflections.
|strict rendering mode                = <!-- On, Off -->
|strict rendering mode                = <!-- On, Off -->
Line 64: Line 68:
|stretch to display area              = <!-- On, Off -->
|stretch to display area              = <!-- On, Off -->
|stretch to display area notes        =  
|stretch to display area notes        =  
|disable vertex cache                  = <!-- On, Off -->
|multithreaded rsx                    = On<!-- On, Off -->
|disable vertex cache notes           =  
|multithreaded rsx notes               = Improves performance.
|multithreaded rsx                    = <!-- On, Off -->
|asynchronous texture streaming        = On<!-- On, Off -->
|multithreaded rsx notes               =  
|asynchronous texture streaming notes = If you have a stronger GPU, this can give substantial performance boost.
<!-- Audio configuration -->
<!-- Audio configuration -->
|audio out windows                    = <!-- XAudio2, OpenAL, Disabled -->
|audio out windows                    = <!-- Cubeb, XAudio2, Disabled -->
|audio out windows notes              =  
|audio out windows notes              =  
|audio out linux                      = <!-- OpenAL, PulseAudio, ALSA, Disabled -->
|audio out linux                      = <!-- Cubeb, FAudio, Disabled -->
|audio out linux notes                =  
|audio out linux notes                =  
|audio format                          = <!-- Stereo, Surround 5.1, Surround 7.1, Automatic, Manual -->
|audio format notes                    =
|dump to file                          = <!-- On, Off -->
|dump to file                          = <!-- On, Off -->
|dump to file notes                    =  
|dump to file notes                    =  
|convert to 16-bit                    = <!-- On, Off -->
|convert to 16-bit                    = <!-- On, Off -->
|convert to 16-bit notes              =  
|convert to 16-bit notes              =  
|downmix to stereo                    = <!-- On, Off -->
|downmix to stereo notes              =
|volume                                = <!-- Value between 0% to 200% -->
|volume                                = <!-- Value between 0% to 200% -->
|volume notes                          =  
|volume notes                          =  
Line 98: Line 102:
|camera input                          = <!-- Unknown, EyeToy, PS Eye, UVC 1.1 -->
|camera input                          = <!-- Unknown, EyeToy, PS Eye, UVC 1.1 -->
|camera input notes                    =  
|camera input notes                    =  
|camera settings                      = <!-- Null, Fake -->
|camera settings                      = <!-- Null, Fake, Qt -->
|camera settings notes                =  
|camera settings notes                =  
|move handler                          = <!-- Null, Fake, Mouse -->
|move handler                          = <!-- Null, Fake, Mouse -->
|move handler notes                    =  
|move handler notes                    =  
<!-- Network configuration -->
|network status                        = <!-- Disconnected, Connected -->
|network status notes                  =
|psn status                            = <!-- Disconnected, Simulated, RPCN -->
|psn status notes                      =
<!-- Advanced configuration -->
<!-- Advanced configuration -->
|debug console mode                    = <!-- On, Off -->
|debug console mode                    = <!-- On, Off -->
Line 107: Line 116:
|accurate llvm dfma                    = <!-- On, Off -->
|accurate llvm dfma                    = <!-- On, Off -->
|accurate llvm dfma notes              =  
|accurate llvm dfma notes              =  
|accurate getllar                      = <!-- On, Off -->
|accurate getllar notes                =
|accurate rsx reservation access      = <!-- On, Off -->
|accurate rsx reservation access notes =
|accurate spu dma                      = <!-- On, Off -->
|accurate spu dma notes                =
|ppu llvm accurate vector nans        = <!-- On, Off -->
|ppu llvm accurate vector nans notes  =
|ppu llvm java mode handling          = <!-- On, Off -->
|ppu llvm java mode handling notes    =
|silence all logs                      = <!-- On, Off -->
|silence all logs                      = <!-- On, Off -->
|silence all logs notes                =  
|silence all logs notes                =  
|sleep timers accuracy                = <!-- As Host, Usleep Only, All Timers -->
|sleep timers accuracy                = As Host<!-- As Host, Usleep Only, All Timers -->
|sleep timers accuracy notes          =  
|sleep timers accuracy notes          = Slightly improves performance.
|maximum spurs threads                = <!-- Unlimited, Single digit between 0 to 5 (e.g. 3) -->
|maximum spurs threads                = <!-- Unlimited, Single digit between 0 to 5 (e.g. 3) -->
|maximum spurs threads notes          =  
|maximum spurs threads notes          =  
|firmware settings                    = <!-- Manually load selected libraries, Load automatic and manual selection, Load liblv2.sprx only, Load liblv2.sprx and manual selection, Load liblv2.sprx and strict selection -->
|firmware libraries                    = <!-- Switch to LLE, Switch to HLE -->
|firmware settings notes               = <!-- Where libraries are manually selected, mention the list of libraries to be selected here -->
|firmware libraries notes             = <!-- Mention the libraries to be manually selected here -->
|read depth buffers                    = <!-- On, Off -->
|read depth buffers                    = <!-- On, Off -->
|read depth buffers notes              =  
|read depth buffers notes              =  
Line 123: Line 142:
|disable on-disk shader cache          = <!-- On, Off -->
|disable on-disk shader cache          = <!-- On, Off -->
|disable on-disk shader cache notes    =  
|disable on-disk shader cache notes    =  
|relaxed zcull sync                    = <!-- On, Off -->
|disable vertex cache                  = <!-- On, Off -->
|relaxed zcull sync notes             =  
|disable vertex cache notes           =  
|rsx fifo accuracy                    = Atomic<!-- Fast, Atomic, Ordered & Atomic -->
|rsx fifo accuracy notes              = Helps to reduce crashes.
|driver wake-up delay                  = <!-- Value between 0 to 7000 -->
|driver wake-up delay                  = <!-- Value between 0 to 7000 -->
|driver wake-up delay notes            =  
|driver wake-up delay notes            =  
|vblank rate                          = <!-- Value between 1 to 500 -->
|vblank rate                          = <!-- Value between 1 to 500 -->
|vblank rate notes                    =  
|vblank rate notes                    =  
|vblank ntsc fixup                    = <!-- On, Off -->
|vblank ntsc fixup notes              =
|clocks scale                          = <!-- Value between 10 to 1000 -->
|clocks scale                          = <!-- Value between 10 to 1000 -->
|clocks scale notes                    =  
|clocks scale notes                    =  
<!-- Debug configuration -->
<!-- Debug configuration -->
|disable zcull occlusion queries      = <!-- On, Off -->
|disable zcull occlusion queries notes =
|force cpu blit emulation              = <!-- On, Off -->
|force cpu blit emulation              = <!-- On, Off -->
|force cpu blit emulation notes        =  
|force cpu blit emulation notes        =  
|use gpu texture scaling               = <!-- On, Off -->
|force gpu texture scaling             = <!-- On, Off -->
|use gpu texture scaling notes         =
|force gpu texture scaling notes      =  
|accurate getllar                      = <!-- On, Off -->
|accurate getllar notes                =
|accurate putlluc                      = <!-- On, Off -->
|accurate putlluc notes                =
|accurate rsx reservation access       = <!-- On, Off -->
|accurate rsx reservation access notes =  
|hook static functions                = <!-- On, Off -->
|hook static functions                = <!-- On, Off -->
|hook static functions notes          =  
|hook static functions notes          =  
|accurate ppu 128 reservations        = <!-- Always Enabled, Disabled, Value between 1 to 8 -->
|accurate ppu 128 reservations notes  =
|ppu thread count                      = <!-- Value between 1 to 8 -->
|ppu thread count notes                =
<!-- Recommended patches -->
|highly recommended patch              = <!-- Mention patch names -->
|highly recommended patch notes        =
|recommended patch                    = <!-- Mention patch names -->
|recommended patch notes              =
}}
}}


==Known Issues==
==Known Issues==
<!-- Mention any known issues relating to the game. Use the issue and PR template if necessary. If no notable issues are present, mention "There are no reported issues with this title." -->
<!-- Mention any known issues relating to the game. Use the issue and PR template if necessary. If no notable issues are present, mention "There are no reported issues with this title." -->
This game is currently not playable.
* {{issue|14194}}: The base game (v1.00) crashes during booting. The only way to fix it is by updating. It happens with the standard version (e.g. BLUS30127).
 
===Broken light sources with NVIDIA GPUs on Vulkan===
Light sources like lamps, streetlights or headlights on vehicles are broken when using Vulkan on NVIDIA GPUs. AMD doesn't have this issue.


==Special Notes==
==Special Notes==
<!-- Mention any additional notes if necessary. If no special notes are required, remove this section -->
<!-- Mention any additional notes if necessary. If no special notes are required, remove this section -->
{{netplay
|gamever        = 1.02
|rpcs3 version  = N/A
|connect        = Yes<!-- Yes, No, Partial, Untested, N/A -->
|lobbies        = Yes<!-- Yes, No, Partial, Untested, N/A -->
|match          = Yes<!-- Yes, No, Partial, Untested, N/A -->
|features      = Partial<!-- Yes, No, Partial, Untested, N/A -->
|custom servers = Not required<!-- Available, Not available, Not required, Untested -->
|notes          = Party mode and friends do not work but it's possible to join custom matches with the phone to play together.
}}
{{patch
{{patch
|type    = PPU
|type    = PPU
|version = 1.2
|version = 1.2
|content =  
|content =  
Anchors:
  gta4_fps_notes: &gta4_fps_notes
    "Set Framelimit to 60 FPS otherwise loading screen layers will go too fast."
PPU-d5041972c3464b734ed27f0b94b505a2a14471c8:
PPU-d5041972c3464b734ed27f0b94b505a2a14471c8:
   Unlock FPS:
   "Unlock FPS":
     Games:
     Games:
       "Grand Theft Auto IV (Grand Theft Auto 4)":
       "Grand Theft Auto IV (Grand Theft Auto 4)":
         BLUS30127: [ 01.08 ]
         BLUS30127: [ 01.08 ]
         NPUB30702: [ 01.08 ]
         NPUB30702: [ 01.08 ]
     Author: Zolika1351
     Author: "Zolika1351"
     Notes: Set Framelimit to 60FPS otherwise loading screen layers will go too fast.
     Notes: *gta4_fps_notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00f18830, 0x00000000 ]
 
PPU-a2c90aafce24744d5ac6da8ad009ce301458c8a7:
  "Unlock FPS":
    Games:
      "Grand Theft Auto IV (Grand Theft Auto 4)":
        BLES00229: [ 01.08 ]
        NPEB00882: [ 01.09 ]
    Author: "Zolika1351, illusion"
    Notes: *gta4_fps_notes
     Patch Version: 1.0
     Patch Version: 1.0
     Patch:
     Patch:
       - [ be32, 0xF18830, 0x00000000 ]
       - [ be32, 0x00f18840, 0x00000000 ]
}}
}}

Latest revision as of 20:14, 26 March 2024

Grand Theft Auto IV
GTA4.jpg
Developer(s) Rockstar Games
Publisher(s) Rockstar Games
Series Grand Theft Auto
Release date(s) April 29, 2008
Release type Multi-platform
Genre(s) Action, Adventure
Mode(s) Single-player, Multiplayer
GameID(s) BLES00229 (IRD), BLUS30127 (IRD), NPEB00882, NPUB30702, BLES00258 (IRD), BLJM60093 (IRD)
The Complete Edition
BLES01128 (IRD), BLUS30682 (IRD), BLJM60346 (IRD)
Internal resolution 1152x640
Quick links Check Compatibility
Open Issues
Search Google
Wikipedia Page

Grand Theft Auto IV was developed by Rockstar North and is the eleventh title in the Grand Theft Auto series, and the first main entry since 2004's Grand Theft Auto: San Andreas. Set within the fictional Liberty City (based on New York City), the single-player story follows a war veteran, Niko Bellic, and his attempts to escape his past while under pressure from loan sharks and mob bosses. The open world design lets players freely roam Liberty City, consisting of three main islands.

The game is played from a third-person perspective and its world is navigated on-foot or by vehicle. Throughout the single-player mode, players play as Niko Bellic. An online multiplayer mode is included with the game, allowing up to 32 players to engage in both co-operative and competitive gameplay in a recreation of the single-player setting. Two expansion packs were later released for the game, The Lost and Damned and The Ballad of Gay Tony, which both feature new plots that are interconnected with the main Grand Theft Auto IV storyline, and follow new protagonists.

Configuration

Options that deviate from RPCS3's default settings and provide the best experience with this title are listed below.

CPU configuration

Setting Option Notes
SPU xfloat accuracy Accurate Fixes missing collision. Requires SPU LLVM recompiler. Expect audio stutter.

GPU configuration

Setting Option Notes
ZCULL accuracy Relaxed Improves performance without any noticeable issues.
Write color buffers On Fixes missing reflections.
Multithreaded RSX On Improves performance.
Asynchronous texture streaming On If you have a stronger GPU, this can give substantial performance boost.

Advanced configuration

Setting Option Notes
Sleep timers accuracy As Host Slightly improves performance.
RSX FIFO accuracy Atomic Helps to reduce crashes.

Known Issues

  • Issue 14194: The base game (v1.00) crashes during booting. The only way to fix it is by updating. It happens with the standard version (e.g. BLUS30127).

Special Notes

Netplay testing

For the complete list of games tested with RPCN, please check the RPCN Compatibility List.

Game Version RPCS3 Version Connects? Create/Join lobbies? Match with others? Online features working? Requires custom servers? Notes
1.02 N/A Yes Yes Yes Partial Not required Party mode and friends do not work but it's possible to join custom matches with the phone to play together.

Patches

Anchors:
  gta4_fps_notes: &gta4_fps_notes
    "Set Framelimit to 60 FPS otherwise loading screen layers will go too fast."

PPU-d5041972c3464b734ed27f0b94b505a2a14471c8:
  "Unlock FPS":
    Games:
      "Grand Theft Auto IV (Grand Theft Auto 4)":
        BLUS30127: [ 01.08 ]
        NPUB30702: [ 01.08 ]
    Author: "Zolika1351"
    Notes: *gta4_fps_notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00f18830, 0x00000000 ]

PPU-a2c90aafce24744d5ac6da8ad009ce301458c8a7:
  "Unlock FPS":
    Games:
      "Grand Theft Auto IV (Grand Theft Auto 4)":
        BLES00229: [ 01.08 ]
        NPEB00882: [ 01.09 ]
    Author: "Zolika1351, illusion"
    Notes: *gta4_fps_notes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00f18840, 0x00000000 ]