Page 2 of 3

Re: Official Chasm on Linux Thread

Posted: Tue Apr 16, 2013 12:07 am
by James
flibitijibibo wrote:MonoGame upstream just uses OpenTK, which has approximately long.MaxValue problems on
A couple things worth noting, not sure if these are bugs or not:

- Music doesn't work. For MonoGame Linux, you're going to want to use Ogg Vorbis files. Don't worry about adding the file extension in your game code, we append ".ogg" by default.
- Exiting the game: any way to do it other than closing the window/Ctrl+C?
Sounds cool!

Music works for me in Ubuntu. I had to use uncompressed wav since there's no MP3 playback. We're going to be replacing the audio engine with an openAL/OGG one soon. Renaud Bedard posted about it here.

Also, it's just a tech demo so there's not anyway to exit it from inside.

Re: Official Chasm on Linux Thread

Posted: Tue Apr 16, 2013 11:47 am
by Xpander
Music worked for me also without any issues.

and exit is alt+f4 :D..its always been so :lol:

Re: Official Chasm on Linux Thread

Posted: Sat Apr 20, 2013 3:50 pm
by johnzo
I'm running the game in fullscreen and it's super fun! The only issue I see is that my xbox 360 gamepad isn't working, the game does not respond to its input.

I've verified that the gamepad device is correctly created as /dev/input/js0 and using jstest I see that it appears to be working at the device level.

I'm running Ubuntu 12.10-amd64 and using the ChasmDemo103-Linux.tar.gz linked on your kickstarter page. The only change I had to make to your install instructions was to install libopenal1 as libopenal0a isn't a thing in Ubuntu 12.10.

Happy to provide any other information or try different things if that's useful to you.

Re: Official Chasm on Linux Thread

Posted: Sat Apr 20, 2013 3:53 pm
by flibitijibibo
Use this patch: http://www.flibitijibibo.com/chasmLinuxPatch.tar.bz2

Then use this config: http://pcgamingwiki.com/wiki/MonoGame#X ... 28wired.29

More info on the config file is on that PCGW page.

Re: Official Chasm on Linux Thread

Posted: Sat Apr 20, 2013 4:04 pm
by flibitijibibo
Oh, by the way, here's a Music/ folder that's closer to the XNA content, and uses Ogg rather than mp3:

http://www.flibitijibibo.com/chasmMGMusic.tar.bz2

Extract this from the Chasm root directory via `tar` and it should go in the right spot. You can also delete the mp3/wav files in there as well.

Since this is a patch of content (unauthorized, as well...), I'll keep this separate from the other patch.

For Discord, here's how to make the Music content:

- From the wav masters, convert to Ogg Vorbis. Obvious.
- From the original XNA Content build, take all the XNB files and put them alongside the Ogg Vorbis files.
- With a hex editor (I use GHex), search for the filename in the XNB file. These files are tiny, so it'll probably be in the first screen. Replace the '.wma' extension with '.ogg'.

MonoGame will pick up the XNB file, read it, then open up the Vorbis file as a Song, which will be played back by SDL_mixer. It's more consistent than the mp3 playback, and doesn't have the patent concern. For my MG branch, this works for the Mac version as well.

Re: Official Chasm on Linux Thread

Posted: Sat Apr 20, 2013 6:03 pm
by James
Damn sweet! We've got a new version of the demo in the works, so I will take all this into account for it. What exactly did your patch do to get the 360 gamepad working?

Re: Official Chasm on Linux Thread

Posted: Sat Apr 20, 2013 6:19 pm
by flibitijibibo
The current GamePad in upstream MonoGame hardcodes all of the controller input values. My branch allows you to configure it, so anyone with a non-standard controller can bind their SDL joystick values to a virtual 360 controller, which MonoGame then interprets. I think the original hardcoded values are to someone's 360 controller on Windows, so it probably doesn't line up on Linux (may depend on the 360 controller driver too).

I wrote a quick SDL joystick value detector as well: http://www.flibitijibibo.com/files/Mono ... Detector.c

Eventually it'll also do the configuration automatically (via SDL2# GameController and Steam), but the SDL2# backend is still pending.

Re: Official Chasm on Linux Thread

Posted: Tue Apr 23, 2013 5:49 am
by flibitijibibo
chasmLinuxPatch was updated just now. Only noticeable change for Chasm is a crash for MediaPlayer when a Song queue loops.

Re: Official Chasm on Linux Thread

Posted: Fri Apr 26, 2013 10:53 pm
by bendmorris
Trying to run on Arch Linux 64 bit, here's the stack trace after I run "bash chasm":

Code: Select all

Unhandled Exception: Microsoft.Xna.Framework.Graphics.MonoGameGLException: GL.GetError() returned InvalidEnum
  at Microsoft.Xna.Framework.Graphics.GraphicsExtensions.CheckGLError () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Graphics.Texture2D+<Texture2D>c__AnonStoreyB.<>m__23 () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Threading.BlockOnUIThread (System.Action action) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Graphics.Texture2D..ctor (Microsoft.Xna.Framework.Graphics.GraphicsDevice graphicsDevice, Int32 width, Int32 height, Boolean mipmap, SurfaceFormat format, Boolean renderTarget) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Graphics.Texture2D..ctor (Microsoft.Xna.Framework.Graphics.GraphicsDevice graphicsDevice, Int32 width, Int32 height, Boolean mipmap, SurfaceFormat format) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.Texture2DReader.Read (Microsoft.Xna.Framework.Content.ContentReader reader, Microsoft.Xna.Framework.Graphics.Texture2D existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentTypeReader`1[Microsoft.Xna.Framework.Graphics.Texture2D].Read (Microsoft.Xna.Framework.Content.ContentReader input, System.Object existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[Texture2D] () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.SpriteFontReader.Read (Microsoft.Xna.Framework.Content.ContentReader input, Microsoft.Xna.Framework.Graphics.SpriteFont existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentTypeReader`1[Microsoft.Xna.Framework.Graphics.SpriteFont].Read (Microsoft.Xna.Framework.Content.ContentReader input, System.Object existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[SpriteFont] () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[SpriteFont] () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[SpriteFont] (System.String assetName, System.Action`1 recordDisposableObject) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentManager.Load[SpriteFont] (System.String assetName) [0x00000] in <filename unknown>:0 
  at Chasm.ChasmGame.Initialize () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Game.DoInitialize () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Game.Run (GameRunBehavior runBehavior) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00000] in <filename unknown>:0 
  at TestChamber.Program.Main () [0x00000] in <filename unknown>:0 
ALSA lib pcm.c:7820:(snd_pcm_recover) underrun occurred
[ERROR] FATAL UNHANDLED EXCEPTION: Microsoft.Xna.Framework.Graphics.MonoGameGLException: GL.GetError() returned InvalidEnum
  at Microsoft.Xna.Framework.Graphics.GraphicsExtensions.CheckGLError () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Graphics.Texture2D+<Texture2D>c__AnonStoreyB.<>m__23 () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Threading.BlockOnUIThread (System.Action action) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Graphics.Texture2D..ctor (Microsoft.Xna.Framework.Graphics.GraphicsDevice graphicsDevice, Int32 width, Int32 height, Boolean mipmap, SurfaceFormat format, Boolean renderTarget) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Graphics.Texture2D..ctor (Microsoft.Xna.Framework.Graphics.GraphicsDevice graphicsDevice, Int32 width, Int32 height, Boolean mipmap, SurfaceFormat format) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.Texture2DReader.Read (Microsoft.Xna.Framework.Content.ContentReader reader, Microsoft.Xna.Framework.Graphics.Texture2D existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentTypeReader`1[Microsoft.Xna.Framework.Graphics.Texture2D].Read (Microsoft.Xna.Framework.Content.ContentReader input, System.Object existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[Texture2D] () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.SpriteFontReader.Read (Microsoft.Xna.Framework.Content.ContentReader input, Microsoft.Xna.Framework.Graphics.SpriteFont existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentTypeReader`1[Microsoft.Xna.Framework.Graphics.SpriteFont].Read (Microsoft.Xna.Framework.Content.ContentReader input, System.Object existingInstance) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[SpriteFont] () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[SpriteFont] () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[SpriteFont] (System.String assetName, System.Action`1 recordDisposableObject) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.ContentManager.Load[SpriteFont] (System.String assetName) [0x00000] in <filename unknown>:0 
  at Chasm.ChasmGame.Initialize () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Game.DoInitialize () [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Game.Run (GameRunBehavior runBehavior) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00000] in <filename unknown>:0 
  at TestChamber.Program.Main () [0x00000] in <filename unknown>:0 
AL lib: (EE) alc_cleanup: 1 device not closed

Any pointers?

Re: Official Chasm on Linux Thread

Posted: Sat Apr 27, 2013 12:26 am
by James
Do you know if your video card supports Pixel Shader 2.0+? That's the only hardware requirement I know of on the graphics side. I'll take a look though.