Open-source project
ShizCalev/MGSHDFix avatar
ShizCalev/MGSHDFix

MGSHDFix: making the Metal Gear Solid remasters look like the originals

A fix that restores broken visual effects, fixes vanilla game crashes, adds custom resolutions, and much more to the Metal Gear Solid Master Collection.

881 stars21 forksC++MIT

At a glance

What is it?
MGSHDFix is a fix for the Metal Gear Solid Master Collection that restores broken visual effects, corrects the games to their intended aspect ratios, adds ultrawide and custom resolution support, and offers a long list of options that undo the changes the remasters made. It is a restoration project, and its most interesting output is a list of what the ports got wrong.
Who is it for?
MGSHDFix fits a player who owns the Metal Gear Solid Master Collection and wants it to look and behave the way the originals did, particularly on a widescreen display, and it fits anyone curious about what a remaster changed. It is the wrong tool if you do not own the games, since it is a modification of a commercial product rather than a standalone program, and it is the wrong tool if you want a modern engine, because every option here works within the original engine.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the fix actually is

The project description is precise about the intent. It is a fix that restores broken visual effects, fixes vanilla game crashes, adds custom resolutions, and much more to the Metal Gear Solid Master Collection.

The README frames it the same way, calling it a fix that adds custom resolutions, ultrawide support and much more to the Master Collection. So this is not a reimplementation and not an engine replacement. It is a set of modifications applied on top of the released games, restoring what the original releases did and adding the display options the originals never needed.

Three games are supported. Metal Gear 1 and 2 in their MSX form, Metal Gear Solid 2, and Metal Gear Solid 3. The MSX originals are the interesting case, because the Master Collection shipped the MSX2 games with a raw output aspect ratio of 64:53, which is not a 4:3 ratio, and the fix includes an option to correct the game to 4:3 as well as an option to crop overscan borders on the top and bottom of the screen.

The distribution is via Nexus Mods, with separate pages for the MG1 and MG2 collection, MGS2 and MGS3, and the GitHub repository is where the code lives. There is also a GitLab mirror and a separate repository for media and screenshots, which is a sensible split for a project that ships a lot of images.

The primary language on the project record is C++, and the licence is MIT, which matters for a modification project: the patch code is open, even though the game it patches is not.

The shared engine options are mostly about undoing remaster decisions

The shared engine features list is long, and a pattern emerges once you read it: most entries are about putting back what the remaster changed, and a second group is about display options the originals did not need.

On the restoration side there is an option to disable the 2011 HD Collection gameplay camera angle and positioning changes, an option to skip the intro logos for MGS2 and MGS3, an option to restore PS2 memory card strings, messages and captions, and an option to adjust the scale and opacity of cutscene captions. There is also an option to disable the bilinear texture filtering, which gives the games a pixel art or retro appearance, and gamma correction for all games that corrects the colours to appear more vibrant and makes some lower blacks even deeper, as they would have appeared on an actual CRT screen.

The display options are the ultrawide story. Custom resolution and ultrawide support is the headline, with an experimental 16:9 HUD option that resizes the HUD and movies for MGS2 and MGS3, borderless and windowed mode, toggleable wireframe modes, and an option to force the highest level polygon models during gameplay and cutscenes. Texture size limits are increased for MG1, MG2 and MGS3, custom PS2 controller glyphs can be added without overwriting existing textures, and adjustable anisotropic filtering and SMAA support apply to MGS2 and MGS3.

Then there are the options that are clearly for a specific audience. Turning off Steam Achievement recording is marked for speedrunners, and so is a speedrunner in-game timer and statistics overlay, along with the option to restore the Sons of Liberty elevator glitch that was patched out, for practising old strategies.

MGS2 gets the most attention, and the most cancellations

The Metal Gear Solid 2 section is the longest, and it has a character the other lists do not: it is full of features that existed in the original and were cut.

Two of them are cameras. An option enables Bluepoint's cancelled Subsistence style third person view camera, and another enables Bluepoint's cancelled first person shooter camera. For a game whose original camera design was a deliberate constraint, having the option to restore the cut alternatives is a genuine restoration rather than a setting.

Then there is a run of smaller corrections, each with a reason attached. The 2001 Japanese Sons of Liberty phone ringtone can be restored. Solidus choking durations, health loss and regain speed, and health reduction can be restored to the values in the original release. Grenade cooking can be restored, meaning the detonation timer starts while the grenade is still held. The original 2001 Sons of Liberty radar rotation can be restored. Cut Metal Gear 2 Solid Snake Colonel sprites can be enabled during some late-game codec calls. The radar can be enabled in Snake Tales. Punches can count as non-lethal damage against Vamp. A custom lifebar name can be set, or the lifebar can reflect the current player character's name as in MGS3 and MGS4. Shell casings can be rendered at all distances, and shadow resolution, hard-coded on the PS2 to 256 by 256, can increase dynamically with the game's resolution. The High Frequency blade can be used anywhere.

There are also additions rather than restorations. A BP_Asset and manifest file modloader is supported, thermal goggle colour palettes can be swapped in real time using Numpad 7, and the developer menu level select screens can be started for MGS2 and MGS3.

For Metal Gear 1 and 2 the specific features are smaller: cropping overscan borders, the 4:3 aspect correction, and audio replacement support for .flac, .wav, .mp3 and .ogg files.

The build system is three scripts and a Visual Studio solution

The repository listing describes the shape of a project that is built on Windows and distributed as a binary.

There are three build command files, build_sdl3.cmd, build_wx.cmd and build_zydis.cmd, which correspond to the three things being compiled: the SDL3 runtime, the wxWidgets based configuration tool, and Zydis, which is a disassembler library and therefore the natural tool for a project that rewrites code in the game's executable. There is a get_asi_loader_version.ps1 PowerShell script, an ASI loader version check, and an update_local_game_files.py script for pulling the local game files. There is a nightly_build_body.txt, so nightly builds are a thing the project does.

The Visual Studio side is an MGSHDFix.sln with a MGSHDFix.vcxproj, its filters file, a MGSHDFix.sln.DotSettings for the ReSharper settings, and a MGSHDFix.Shared.props file that carries the properties shared across the projects.

The other directories explain the rest. The ConfigTool directory is the separate wxWidgets application that provides the settings interface, the launcher skipping option and the various internal tabs. The src directory holds the code that goes into the game. The features directory holds one document per feature, and you can see that from the documentation, because the MG1 and MG2 audio replacement entry links to features/audio_replacements.md for setup information. The external directory holds the third-party dependencies, and there is a .gitmodules file, so some of them arrive as submodules.

The primary language is C++, and the build is a Visual Studio solution with per-component command scripts. That is a sensible shape for a project whose output is a patch against a specific executable, since the toolchain that builds the game is the toolchain you want to build the fix with.

A family of fixes rather than one project

One of the most useful things in the README is the list of other Metal Gear fix projects, because it shows the approach applied across the franchise.

For the Master Collection, Metal Gear Solid 1 and the bonus content in their NES forms have a separate project called MGSM2Fix, and for Metal Gear Solid 4 and Peace Walker there is MGSPatriotFix, both hosted by the same author. Metal Gear Solid V: The Phantom Pain is handled by MGSVFix and Metal Gear Solid Delta: Snake Eater by MGSDeltaFix, and those two live on Codeberg rather than GitHub, hosted by a different author.

The fact that one of them sits on Codeberg is worth noting, since the platform choice for these projects has varied. It also suggests a working arrangement rather than a single maintainer's portfolio, which is a healthy sign for a community maintained project.

The project has been noticed outside the community, and the README lists the coverage with a Featured by line naming IGN with a video guide and a best mods list, Digital Foundry and Eurogamer, PC Gamer, Rock Paper Shotgun, Ocelot, GamingOnLinux and Dextero. The PC Gamer headline in particular is a description of the work rather than an endorsement of a product, and it tells you that the fix reached a general audience rather than only the speedrunning community.

There is also a Discord server under the Metal Gear Network with an HDFix channel, which is where the practical support for this project happens.

Where a mod fix is the wrong approach

Three situations rule it out, and the first one is a matter of law rather than engineering.

The first is if you do not own the games. A modification of a commercial game is distributed to people who have the game, and the project publishes Nexus Mods pages for it, which is the model that assumes a legitimate copy. Someone without the Master Collection has nothing to patch, and distributing the fix as a standalone program would be a different thing with different consequences.

The second is if you want the games to run better on modern hardware. Every option in this project works within the original engine. The custom resolutions and ultrawide support are new capabilities, but the rendering pipeline, the frame pacing and the input handling are the ones the game shipped with, and the fixes are corrections rather than improvements in that direction. There is no frame rate target, no modern input rewrite and no graphics overhaul beyond the display options and the texture limit changes.

The third is if you want a maintainable codebase. This is a patch, so it is coupled to specific game builds, and the CHANGELOG and the version numbers are how you find out whether a given fix applies to the copy you own. The Nexus Mods page is the authoritative distribution point for that reason, and the README's note that more features and fixes are added frequently and may be missing from the list is an admission that the feature list in the readme is not the current state.

The honest summary is that this is a well-known, well-maintained restoration of a specific commercial product, valuable to exactly the audience that owns it, and built by people who care enough about the originals to restore the bugs too.

Editorial conclusion

MGSHDFix fits a player who owns the Metal Gear Solid Master Collection and wants it to look and behave the way the originals did, particularly on a widescreen display, and it fits anyone curious about what a remaster changed. It is the wrong tool if you do not own the games, since it is a modification of a commercial product rather than a standalone program, and it is the wrong tool if you want a modern engine, because every option here works within the original engine. Before installing it, read the feature list for the specific game you care about, since the options differ between Metal Gear 1, 2, 3 and the MSX originals, and check the Nexus Mods page for the current version, because the GitHub repository and the mod page version separately and you want the pair that matches your collection.

Frequently asked questions

What does MGSHDFix do to the Metal Gear Solid Master Collection?

It restores broken visual effects, fixes vanilla game crashes, and adds custom resolutions and ultrawide support. It also offers options to undo remaster changes such as the 2011 HD Collection camera adjustments, and to restore original details like the 2001 Sons of Liberty radar rotation, grenade cooking and the Japanese phone ringtone.

Which Metal Gear games does MGSHDFix support?

Metal Gear 1 and 2 in their MSX form, Metal Gear Solid 2, and Metal Gear Solid 3. The MSX titles have their own specific options, including correcting the game to a 4:3 aspect ratio, since the MSX2 raw output aspect ratio was 64:53, plus cropping overscan borders and audio replacement support for .flac, .wav, .mp3 and .ogg files.

How is MGSHDFix distributed and how is it built?

It is distributed through separate Nexus Mods pages for the MG1 and MG2 collection, MGS2 and MGS3, with the source on GitHub and a GitLab mirror. The build is a Visual Studio solution with separate command scripts for SDL3, the wxWidgets config tool and Zydis, and the project also produces nightly builds.

What are the display related options in MGSHDFix?

Custom resolution and ultrawide support, an experimental 16:9 HUD option that resizes the HUD and movies for MGS2 and MGS3, borderless and windowed mode, increased texture size limits, adjustable anisotropic filtering, SMAA anti-aliasing support, an option to disable bilinear texture filtering for a retro look, and gamma correction calibrated to a CRT display.

Is MGSHDFix still being developed?

The last push to the repository was on 2026-10-11 and it is not archived, with releases 4.1.2 on 2026-09-18, 4.1.1 on 2026-09-01 and 4.1.0 on 2026-08-26. The project is MIT licensed and written in C++, and the documentation notes that features and fixes are added frequently and may be missing from the listed set.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. ShizCalev/MGSHDFix on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/shizcalev-mgshdfix.svg)](https://hysenlabs.com/projects/shizcalev-mgshdfix)

Was this useful?