Cannot be upstreamed.
Put data.zip in ~/.local/share/VVVVVV

Index: desktop_version/src/FileSystemUtils.cpp
--- desktop_version/src/FileSystemUtils.cpp.orig
+++ desktop_version/src/FileSystemUtils.cpp
@@ -45,6 +45,7 @@ static bool isInit = false;
 
 static const char* pathSep = NULL;
 static char* basePath = NULL;
+static char osDir[MAX_PATH - 8];	// "data.zip" has length of 8
 static char writeDir[MAX_PATH] = {'\0'};
 static char saveDir[MAX_PATH] = {'\0'};
 static char levelDir[MAX_PATH] = {'\0'};
@@ -284,6 +285,7 @@ int FILESYSTEM_init(char *argvZero, char* baseDir, cha
     }
 
     basePath = SDL_GetBasePath();
+    PLATFORM_getOSDirectory(osDir, sizeof(osDir));
 
     if (basePath == NULL)
     {
@@ -322,7 +324,7 @@ int FILESYSTEM_init(char *argvZero, char* baseDir, cha
     else
     {
         SDL_snprintf(output, sizeof(output), "%s%s",
-            basePath,
+            osDir,
             "data.zip"
         );
     }
