Recently I "installed" Avatar the Game 2009 (abandonware) using Bottles. I downloaded a pre-installed version from the MyAbandonware website.
The only specific configurations I did were that I made the bottle 32bit, I used Windows XP as a desktop environment, and I used Soda 9.0.1. (I think this is the version) as the runner.
Everything worked so well, aside from a very few dialogues that were skipped without me skipping them, I could live with that. But when I got to a certain "level", a destination named Swotulu I was meant to travel to, it just hung on the loading screen. I could travel using the same method to every other available location except there. I also tried travelling to Swotulu from these different locations, with no luck.
I tried changing the runner, but when I do that others don't load my progress and I'd need to start over (presumably because they don't keep save files in same directories). I'm asking for help here to see if anyone has some knowledge about this and can point me in the right direction instead of me doing it by trial-and-error, testing out different runners. If more info is needed I will provide it shortly as soon as I boot my PC.
Help me out here guys, playing this game is the most fun I've had with computer gaming in a loong time and I'd like to finish it and explore its world 
Seems like the entries I can find regarding this game relate to very old versions of Wine compared to what we're using now:
WineHQ - James Cameron's Avatar: The Game Retail DVD
Might be worth trying to use the oldest runner possible and see if that gives you better options compared to a newer runner. I would assume a game this old there might be incompatibilities with newer versions of wine.
I did some troubleshooting. Tried every latest runner in Bottles, and Wine 10.0. All had the same issue. I found online save files with 100% completion, swapped mine for those and started the game. I was able to travel to Swotulu using these save files.
Now I'm trying to figure out what went wrong. Were my save files corrupted, if so, why? Does this have to do anything with the runner I am using (soda 9.0-1)?
It sounds like your save files might have been corrupted, but without conclusive evidence, I couldn't say for certain. What I will say is, I've never had great luck with Wine, and I refuse to use it. There is only one game I needed to use Lutris, and that was to run an early 90's game called, Alien Trilogy.
For 99.9% of my gaming experience, I use Steam. Steam alone makes most games run, especially 90's games. With the inclusion of PROTON compatibility packs, I am able to run most games on Steam made for Windows. (Not anti-cheat games obviously)
So thats my recommendation, if the game can be found on Steam, just buy it again, old games cost peanuts. Also, it would be a good idea to double check PROTONDB website for current game compatibility here.
https://www.protondb.com/
It's not available on Steam anymore, I searched for it. Though I think I can try to run it with one of their runners inside Steam.
I kinda solved the issue using a workaround.
Bottom line:
- Save files were not corrupted, as another player managed to enter Swotulu without any issues
- Installation was also not corrupted, I tested with two games installed from different sources and the result was the same
Workaround:
I tranferred the first pre-installed version of the game I used on Linux to my Windows machine. I also transferred the save files. Opened the game in Windows and entered Swotulu there successfully. After that progress was saved, I transferred the newly updated save files back to Linux. Since that was done, Swotulu loaded on the Linux machine as well.
If anyone has the slightest clue what went wrong on Linux, I'd be very happy to find out.
Sounds like the typical case, where gaming developers hate Linux, (cause there is no marketshare in it) and only coded their game for Windows. Which means, its likely using some code through Windows, to handshake login credentials.
Another reason why I refuse to use Windows, I won't give up my life for the corporate greedy devil to play games. Linux may not be perfect, but Linux for life!
1 Like
I do not know if this is a slightest clue - but it is a possible suggestion.
The game is made for Windows. Playing it on GnuLinux, it is run through Wine - which is a compatibility layer.
In this case, it is a version : Proton.
The important thing about WINE is that it is not Windows. It is not a full and complete install of Windows, with all of the .dll files...
It only includes what is needed.
Proton is quite good at including the needed files, but in this case, there may have been one thing missing in Proton that is present on Windows. I would encourage you to report the issue to the Proton developer.
1 Like
The game is quite old (released in 2009). Even nowadays developers mostly overlook Linux when it comes to games as far as I can tell, and I imagine 16 years ago it didn't even cross their minds.
I'd be happy if I could get rid of Windows for good as well. But unfortunately I can't. I started a job and Windows is used there. And I kept one personal Windows device precisely for situations like these, where I cannot solve or use something on Linux.
1 Like
I was thinking the same thing, but cannot pinpoint the exact problem. It's also interesting to note that when I transferred the game on Windows, 3 .dll files were also missing from the installation and Windows notified me of it. They were:
- d3dx9_41.dll
- xinput1_3.dll
- X3DAudio1_6.dll
I had to download them and then the game worked, although half of the sound wasn't working, while it did work on Linux. I guess these are some hurdles you go through when playing old games.
I wonder if the runner I used in Bottles included all of these .dll files, I need to check somehow.
Edit:
I just checked, my Bottle configuration had all of these mentioned .dll files. So the issue is somewhere else.
If you still have saves that can reproduce the problem, do this:
Launch the game with the circled button in my screenshot, then reproduce the issue. You'll have a terminal window in addition to the game window, with all of Proton's output. any errors shown there may help pin this down. Or may not, but it's worth a try.
1 Like
I think I do still have them, I will give it a try.
Edit:
Oh I just realized what this is. I already tried it. The only errors (if any, I don't remember) and warnings showed up only during launch, never during the game (or specifically during the loading of Swotulu). I don't know if those have an effect.
I will do this again anyways and post the output here.
2 Likes
Here is the output:
15:43:26 (INFO) Forcing offline mode
wineserver: using server-side synchronization.
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
0054:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\atksgt": c0000142
0084:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\lirsgt": c0000142
00cc:err:hid:udev_bus_init UDEV monitor creation failed
00b8:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\winebth": c0000135
MESA-INTEL: warning: Haswell Vulkan support is incomplete
MESA-INTEL: warning: Haswell Vulkan support is incomplete
MESA-INTEL: warning: Haswell Vulkan support is incomplete
MESA-INTEL: warning: Haswell Vulkan support is incomplete
MESA-INTEL: warning: Haswell Vulkan support is incomplete
MESA-INTEL: warning: Haswell Vulkan support is incomplete
(wine:30): GStreamer-WARNING **: 15:43:29.913: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcdg.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcdg.so: wrong ELF class: ELFCLASS64
and then it just keep repeating the warning about elfclass64 many times. When it starts there are no more outputs, and I don't get any output when trying to enter Swotulu.
That was the best guess I had. Sorry, and I hope the rest of the game doesn't repeat this stuff. >_<
1 Like
Hopefully it doesn't happen again, but if it does at least I have some sort of fix 