Cristian Adam

Grim Fandango Remastered

Grim Fandango is one of my favorite adventure games and when last year it was announced that a remastered version will be available for PC, Mac, and Linux, it was too good to be true!

This year at the end of January I bought the Remastered (also available on Steam, and GOG stores) version. But as it turns out I was not able to play the game on PC!

The following message box popped up when I tried to play the game!

On the DoubleFine forum the only solution to this problem was to buy new hardware, which is due to the new features implemented in the remastered version.

The original specs were way below to my Lenovo X201 (Intel i5, 4GB Ram, SSD harddrive, Intel GPU). I have ran GPU Caps Viewer and the result is below:

Note the OpenGL Version 2.1, game requires OpenGL Version 3.3. One can only think at this:

Solution

Grim Fandango Remastered has an option to switch between the Remastered version and the Original version. Original version used to run on a Pentium at 133Mhz smile

What if we could run the Original version with a software OpenGL driver? Fortunately VMware Inc. has created LLVMPipe with Gallium3D which is used by VMware Workstation and VirtualBox to emulate OpenGL on CPU.

Speaking of Virtual Machines, one could simply play the Original version from 1998 in a Virtual Machine, but there are some points against it:

  • The 1998 version is hard to get, monolingual (I own a German copy) and it comes on CDs, which might cause problems on laptops without a DVD drive.
  • The new mouse navigation makes the game easier to play.
  • Ability to switch the language of the game. It’s nice to see how good your Spanish, German, French, Italian, or Portuguese is!
  • Audio developer commentary.
  • On Steam Grim Fandango Remastered has 47 achievements you can unlock!

Comming back at the LLVMPipe, by following the instructions from buildllvmpipe, and Mesa3D I was able to compile an opengl32.dll using Mesa 10.5.5 and LLVM 3.6. I had to patch Mesa 10.5.5 to work with LLVM 3.6 though, diff is here.

Grim Fandango starts by default in Remastered version, which is not playable with LLVMPipe (too slow and has rendering artefacts).

One needs to configure the game to start in Original version. You can get a registry.sav from here which you should copy in the Saves folder of Grim Fandango. Create the Saves folder if it doesn’t exist!

registry.sav is a binary file, the difference between Remastered and Original is below:

In order to use LLVMPipe one only needs to copy opengl32.dll in the same folder where GrimFandango.exe resides. GPU Caps Viewer shows that now I have OpenGL version 3.3!

I have used Visual C++ 2013 to compile LLVMPipe, the resulting opengl32.dll was ~20MB in size. Next I have compiled a profiled guided optimization (PGO) version which optimized only 21 functions for speed (0.02%) and the rest for size, and resulted in a ~15MB opengl32.dll file.

You can download them from here:

Theoretically the PGO version should ran faster, but without a benchmark one cannot know for sure smile

If you play the Steam version of Grim Fandango Remastered and audio is jerky please try again from Big Picture Mode.

Now everybody can play the original Grim Fandango on their PC! metal

P.S.

As it turns out, the game has a built-in switch to the Original rendering mode, without the need of the registry.sav file:

  1. Start the game, press Esc key to go through the cut-scenes
  2. Wait for the tube mail box animation to complete (the mail box flag will go up). This will take a few minutes
  3. Press Backspace to switch to the Original rendering mode

Comments