GeDoSaTo is a utility for modifying the rendering of games. Its primary purpose is allowing for downsampling without any limitations and with high quality filtering, but it can also be used to inject various effects, hide HuDs, or even add new capabilities with game-specific plugins.


First, unless you know for certain that it is already installed, download and install the Visual Studio 2015 redistributable package.

Second, if you are running Windows 8 or higher, check if your system is using UEFI secure boot. If so, disable the feature. It prevents the type of .dll injection GeDoSaTo uses to modify game behavior.

Finally, download this executable, run it and follow the instructions provided therein.

If you experience problems with missing .dlls, you might need to download and install Microsoft’s .NET Framework 4.5 and/or the Visual Studio 2013 redistributable package.

How to use

You can modify GeDoSaTo’s settings by clicking the “Edit Settings” button. This will show the settings editor:

Important: All settings in GeDoSaTo have 4 levels: the default setting, set in the GeDoSaTo.ini file, the default user settings, the per-game setting, and the per-game user setting. The latter always override the former. Therefore, it is crucial that you modify game-specific settings in each game’s profile. So, if, for example, you want to change the settings for Dark Souls 2, select that in the box next to “Profile: ” to the lower left, and then edit the settings there. For more information about this hierarchy and how to use the settings editor, read this post.

Keybindings can be edited similarly, and it is also possible to bind gamepad buttons. In-game, you can use the “showStatus” key (default: Numpad “+”) to report status information.

Advanced Usage

You can learn more about using GeDoSaTo – including how to add new games to the whitelist and how to create profiles – in this article.

Reporting Bugs and Feature Requests

In order to report bugs and request new features, please use the Github issues tracker.

Supporting GeDoSaTo

You can support GeDoSaTo by contributing code or profiles at Github, and/or by donating to its further development. All contributions are highly appreciated!

Recent Posts

SSDs die

One of my SSDs died yesterday. Working perfectly with no S.M.A.R.T. abnormalities in one second, completely gone in the next.

I didn’t lose anything crucial in that (because if it was crucial it wouldn’t be just on one drive), but it still stings. What’s gone (that I know about so far):

  • Unpublished local changes to both GeDoSaTo and PtBI. They weren’t great or done, otherwise I’d have merged them into master and pushed them to Github, but still quite a bit of work there.
  • A ton of game screenshots and some older save games without Steam cloud support.
  • A lot of smaller development projects I worked on in the timeframe from 2011 to around 2015.

The last point is the one that truly matters. It included the final project that I wanted to post about in my “Graveyard of Forgotten Projects” series. It was a tile-based dungeon crawler I developed for my Galaxy S2 phone a few months after I got that, so in mid- to late 2011. If I hadn’t procrastinated so much with writing that, at least something of that game would still exist now. Well, something more than these two very short youtube videos of amusing bugs I uploaded (because of the amusing bugs):

The working title was “Sorceressry” (as in Wizardry), and the most interesting things I lost were:

  • An engine written from scratch in OpenGL ES. Which is of course stupid to do, but was fun. Featured a custom occlusion and visibility culling system for tile-based dungeon crawlers that worked really well and which I was proud of.
  • An “optimized” Java codebase which really showed that, at least at that point, trying to reach solid 60 FPS meant that garbage collection was more of a curse than a help. Basically, I remember going from 50 FPS with sporadic drops to 20 to 60 FPS by never doing any dynamic heap allocations and putting everything in manually managed static re-use arrays.
  • A full level editor written in C#, which allowed putting together maps with tilesets including corridors, rooms, torches, clutter and decoration parts. You could then designate zones with encounter percentages, BGM choices and so on.
  • A ruby script which automatically generated LOD meshes for the corridors using a basic (and really slow, but easily sufficient) recursive polygon reduction algorithm.
  • All the assets I made for it, including a complete cave tileset and various icons and UI elements.
  • A stupidly complex stat system, with 3 physical damage types, 6 magical damage types, and complex interactions between those and various stats. That’s probably the reason why I dropped the project when it came to implementing the battle system.
  • It featured the “look around in-game by moving your phone and using it as a window” feature in 2011 before it got cool.

Well, this sucks even more after I wrote it down like that. At least I showed it to some co-workers who can confirm that it existed and had these things :/

Moral of the story: keep backups even of non-essential stuff, and don’t trust SSDs. Personally, what I’ll do in the future is push stuff to GitHub even more often and early, and when I have something local that isn’t ready but significant enough that I really wouldn’t want to redo it I’ll put it in a branch.

Also, procrastination can bite you.

  1. Little King’s Porting Story 5 Replies
  2. Anti-Aliasing comparison tool, MK2 1 Reply
  3. Article on “Optimization” for PC Gamer — Bonus Content 2 Replies
  4. Small Stranger of Sword City plugin update Leave a reply
  5. Stranger of Sword City plugin for GeDoSaTo 5 Replies
  6. Comparing the seated Vive and Rift CV1 experience in Radial-G 4 Replies
  7. HTC Vive mounting bracket measurements & early game impressions Leave a reply
  8. PC gamer article about UWP/UWAs Leave a reply
  9. Tales of Symphonia black character outlines 4 Replies