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!
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.
Note the OpenGL Version 2.1, game requires OpenGL Version 3.3. One can only think at this:
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
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
You can download them from here:
Theoretically the PGO version should ran faster, but without a benchmark one cannot know for sure
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!
As it turns out, the game has a built-in switch to the Original rendering mode, without the need of the
- Start the game, press
Esckey to go through the cut-scenes
- Wait for the tube mail box animation to complete (the mail box flag will go up). This will take a few minutes
Backspaceto switch to the Original rendering mode