CW3 Linux Native Version

Started by knucracker, January 08, 2014, 08:58:06 PM

Previous topic - Next topic

Salmelu

#30
Thanks a lot for the Linux Native version. It finally made me register here to thank you.

About the functionality, everything seems fine yet, I've just played the first 2 missions and noticed no problems. I'm running Ubuntu 12.04, having integrated graphics card (Intel HD 3000) and using default driver installed automatically by my distribution. I will see, how well will the game continue working (I had finished missions + few dozens of alpha missions under wine, but I'm lazy to recopy my save and I want to enjoy the game again).

As for the only problem I encountered, I started the game from the terminal and upon exiting, I noticed an error there. It probably got there after I close the game, but I cannot be sure. However, all the options I set were kept, so I don't think the problem is that grave.
Specifically, I got this:
*** glibc detected *** ./CW3.x86: munmap_chunk(): invalid pointer: 0x0b98cbf0 ***
After that, there is a short backtrace (containing references to CW3 binary and c++ a c standard libraries, and a memory map, with the last entry containing SIGABRT.

I will be glad if that helps resolving any bug.
Thanks again for a good port.
Salmelu

P.S. I forgot to mention I am using version 1.61, so there should be the least bugs.

EDIT: I've finished the main story and started playing alpha sector maps. The game is still working without a problem for me, I haven't encountered anything unusual.

rayj


Greetings,

First and most important, thank you for the native Linux version!

Here is my system:

Laptop: System76 - Kudo
OS: Ubuntu 13.10 64-bit
GNOME Flashback (NOT unity)
Memory: 7.7 GiB
Processor: Intel® Core™ i7-4700MQ CPU @ 2.40GHz × 8
Graphics: Intel® Haswell Mobile

I had to install these three libraries to get the game to run and the sound to work:

libglu1-mesa:i386 libasound2:i386 libasound2-plugins:i386

Tests:

Try full screen and various window sizes. 
  Maximize/Restore or Full Screen (via settings) works.

Try re-sizing the window by dragging the bottom right corner.
  Works

Try to load a mission using the Load File functionality from the main menu.
  Works

Try posting scores, loading CS, DMD, etc.  Anything that uses network functionality.
  I just checked Online Scores for one mission: works

Try remapping input controls in the settings.
  Works
 
Also, make sure the scroll wheel is working for zooming by defaul
  Works

However, I have two small issues.

1) Since I use the GNOME Flashback desktop, the gnome-panel crashes when run the game. Also, if I try to restart the gnome-panel is crashes. It will restart fine once the game is closed down

and

2) Any way to move the game data directory (it is in ~/Documents/CreeperWorld3).


Thanks!

--RayJ

knucracker

Thanks for the detailed feedback... it will no doubt come in handy for some other folks.
How did you determine which libs you needed to install.  Most of my testing was done with Ubuntu 12.04 desktop full install.  On that distribution everything seemed to work pretty much out of the 'box'.

For you data dir look here:
~/.config/CreeperWorld3/GameSettings.xml

Edit that and look for these entries:

<UseCustomDataPath>True</UseCustomDataPath>
<CustomDataPath>
some_path
</CustomDataPath>

You must change UseCustomDataPath to True and then you can enter a path in the CustomDataPath tag.  Make these edits while the game is not running.

rayj

Thanks for the info on the path change. I previously scanned the GameSettings.xml file but missed the "CustomDataPath"  settings.

As for the libs, when I first ran the game (via the terminal) it grumbled about the libglu.

A little Google searching and I found the answer: libglu1-mesa:i386 (the i386 for 32-bit version of the lib).

As I am using a 64-bit version of Ubuntu, the game wants the 32-bit libraries.

I installed libglu1-mesa:i386 and the game would run, but no sound.

I install PlayOnLinux to test CW1 and CW2 (worked fine), and then when I played CW3 it had sound.

I remove PlayOnLinux and cleaned the debris (via apt-get autoremove) but kept the list of files.

I played CW3 and the sound was gone again.

I checked the list and guessed the libasound2:i386 and libasound2-plugins:i386 were responsible, and re-installed them.

--

I still have not worked out why the gnome-panel goes away, but that is minor compared to the joy of play CW3 on Linux!! :D

--RayJ

knucracker

Welp, if you or anyone else are game I'll post a universal 32/64 build for linux in tonight's beta.  That should run in 64 bit on 64 bit OS's.

rayj

Yes! I would be happy to test it.


steelwing

Quote from: virgilw on January 18, 2014, 03:44:36 PM
Welp, if you or anyone else are game I'll post a universal 32/64 build for linux in tonight's beta.  That should run in 64 bit on 64 bit OS's.
Testing out the new Linux build right now.
Slackware 64-bit, Mesa 9.2.5, radeon graphics driver
Resizing the window makes the screen go black for a while, but it eventually returns.
Clicking Exit Game causes the sound to shut off, but the game never actually quits, even when I click the X button.

knucracker

And I assume 32bit is fine on your system?

steelwing

So far, yes.  In fact, both versions are fine as long as I just open and don't try to play.  Might be a memory issue or something, or maybe just a one-time glitch.

stdout

How exciting! I've gotten so much enjoyment by playing CW and CW2 in my Windows XP VirtualBox emulator but never was able to get CW3 working through that system. Now with this native Linux build, I can finally play CW3 for the first time. I'm pretty excited to enjoy this game.

Fedora 19 on x86_64 here and it ran perfectly without any difficulties of any sort. Played the first map no problem.

Thank you Virgil! This is great!

(Now I'm off to keep playing.)

stdout

The only issue I've run into so far is this: if you press (and release) the Alt key, then none of the keys work any more. Then if you press (and release) Alt again, then the key bindings all work once again.

I use Alt-1 through Alt-9 to switch to different workspaces on my desktop, so when I switch away from the game and switch back, I have to press Alt to get the keys to work again.

This game is great. You are a talented designer and story teller.

steelwing

Quote from: stdout on February 14, 2014, 03:20:42 PM
The only issue I've run into so far is this: if you press (and release) the Alt key, then none of the keys work any more. Then if you press (and release) Alt again, then the key bindings all work once again.

I use Alt-1 through Alt-9 to switch to different workspaces on my desktop, so when I switch away from the game and switch back, I have to press Alt to get the keys to work again.

This game is great. You are a talented designer and story teller.
By default, in the Windows world, Alt is the key that most applications use to activate menus on their menu bars.  Dunno if that's something that applies in Linux, and I don't think CW3 has a menu bar to activate, but it might have something to do with the freeze.

timotimo

I was about to report that the steam version won't run on my linux desktop, but then i turned off the steam overlay and instead of crashing immediately after popping open a big black window, it now runs.

Thanks! :)

knucracker

Interesting... I'll keep this in my bag of tricks and recommend people try it who experience problems.  The steam overlay uses some tricks to show up in front of the game so it may use some things in the graphics driver that could expose problems...

steelwing

Quote from: virgilw on April 01, 2014, 10:42:30 AM
Interesting... I'll keep this in my bag of tricks and recommend people try it who experience problems.  The steam overlay uses some tricks to show up in front of the game so it may use some things in the graphics driver that could expose problems...
Another trick that may work (if you use Mesa for your 3D libraries):  Run Steam with force_s3tc_enable=true.  I have to do this on my Linux machine.  It doesn't crash if I leave this off, but most games will have black screens, including CW3.  I wonder if just turning off the overlay would fix that for me as well...