[OLD-1] AGS engine Linux port

Started by BigMc, Sun 03/06/2012 19:04:20

Previous topic - Next topic

BigMc

Quote from: s_d on Mon 06/05/2013 07:52:39
Thusly, I would be ever so grateful if you would give these a test-drive on Wheezy for me (we don't support Squeeze, right?).

I'll do that next week. The only reason this might not work on Squeezy is the lower libc version 2.11 vs. 2.13.

Cheeseness

Quote from: s_d on Mon 06/05/2013 08:24:56
Hey, Cheese, what's up?  :)
Small world, hey? :D

Quote from: s_d on Mon 06/05/2013 08:24:56
Quote from: Cheeseness on Thu 02/05/2013 09:13:42
I'm packaging an AGS title for Linux for a friend of mine
Ooh, exciting!  Another title!
If all goes well, it'll be two titles :)

Quote from: s_d on Mon 06/05/2013 08:24:56What are you running?  What is the nature of your Pulse glitches?

I'm currently running Fedora 17 32 bit on my main desktop and building stuff from a 64 bit Wheezy VM.

The issue I've been encountering can best be described as crackly audio (I'll see if I can get a recording of an example during the week). I had previously encountered sped up audio, but I haven't seen that for a while (and can't recall what I did to trigger it). I've had similar crackly audio issues with a number of titles in Wine which normally go away with a pulseaudio -k, and of course in the Gemini Rue beta.

Quote from: s_d on Mon 06/05/2013 08:24:56We have no reason to think that A5 will do anything to help this whatsoever, as it doesn't seem like an A4/Pulseaudio problem specifically (nobody is reporting this issue on other A4 Linux games)... Recently, I've had some personal challenges, and frustratingly, my work there has not progressed as I've wanted.  I am committed to working on it, though.
Yeah, OK. I'd gotten the wrong impression from your post in the second Gemini Rue beta thread. I can see now that what you were saying about the issue was unrelated to the A5 migration.

Totally with you on the frustration front. We'd first started talking about packaging the project I'm helping out with on back in December, but due to a number of unforseen and unrelated circumstances, we had a number of false starts and it's taken till now to actually move forward with it. Don't feel bad - we do what we can.

Quote from: s_d on Mon 06/05/2013 08:24:56
Quote from: Cheeseness on Thu 02/05/2013 09:13:42
I also read a few pages back that people had been working on config generation scripts (and trying to get ahold of source for a UI?). I had planned to make something quick and dirty using Zenity, but if there's other stuff in the works, I might be able to throw a little time at helping things move forward.

Well, Electroshokker built this:  http://www.adventuregamestudio.co.uk/forums/index.php?topic=37968.msg501047#msg501047

...which apparently worked really well, and properly configured DIGIMID for ALSA (one bug report came from a Slackware user who was Pulse-free... setting up the proper DIGIMID index in the acsetup.cfg fixed his wagon).  I'm fairly content to continue porting forward the util, once code appears.

Ah, so that's what was being discussed. Already sounds a lot more sophisticated than the quick hack I was looking at putting together.

Quote from: s_d on Mon 06/05/2013 08:24:56scottchiefbaker has a simple generator script in-place for the Gemini Rue beta which may be sufficient until we have a GUI.  Perhaps he'll share it with you?
Could be worth taking a peek at. If you're keen, get in touch, scottchiefbaker :)


Quote from: s_d on Mon 06/05/2013 07:52:39Thusly, I would be ever so grateful if you would give these a test-drive on Wheezy for me (we don't support Squeeze, right?).

Runs nicely on my F17 install. 0.5 sec worth of crackly sound when starting the title I'm packaging, but it comes right every time. It also seems to recover happily from switching focus after a second or so of crackly audio.

On my Wheezy VM, I get crackly audio no matter what I try (the same issues I'd been experiencing with my own build). I don't have a proper install to test on at the moment though.

scottchiefbaker

For what it's worth I run AGS on Fedora 17 and Fedora 18 both 64 bit, three different machines, and haven't had any audio crackling. Some users HAVE reported it though, I suspect a driver issue incompatibility with AGS/Allegro, but I'm not 100% sure. I haven't seen it enough to test.

What type of audio do you have? Any other audio issues on your system?

s_d

Quote from: Cheeseness on Tue 07/05/2013 13:17:42
The issue I've been encountering can best be described as crackly audio (I'll see if I can get a recording of an example during the week).

I got around to uploading to YouTube my instances of it:

http://youtu.be/NrdhuNOOuO8
http://youtu.be/9Y7r5Xxh0X8

Quote from: Cheeseness on Tue 07/05/2013 13:17:42
I had previously encountered sped up audio, but I haven't seen that for a while (and can't recall what I did to trigger it). I've had similar crackly audio issues with a number of titles in Wine which normally go away with a pulseaudio -k, and of course in the Gemini Rue beta.

Am I to understand, then, that restarting Pulse no longer eliminates the current incarnation of your audio corruption?

Quote from: Cheeseness on Tue 07/05/2013 13:17:42
Runs nicely on my F17 install. 0.5 sec worth of crackly sound when starting the title I'm packaging, but it comes right every time. It also seems to recover happily from switching focus after a second or so of crackly audio.

On my Wheezy VM, I get crackly audio no matter what I try (the same issues I'd been experiencing with my own build). I don't have a proper install to test on at the moment though.

This is good info, thanks.  It's probably fairly instructive that the glitch traverses distros, but follows Pulseaudio.  I can reproduce this at will on my test setup.  All that's left is the hard part :P (figuring out how to properly debug the problem).

s_d

Quote from: scottchiefbaker on Thu 09/05/2013 00:07:42
For what it's worth I run AGS on Fedora 17 and Fedora 18 both 64 bit, three different machines, and haven't had any audio crackling. Some users HAVE reported it though, I suspect a driver issue incompatibility with AGS/Allegro

Great!  Thanks for testing it.  I really want a good level of confidence in that new build I posted.

Since it's so intermittent, and Cheese has stated that he observes it in F17, and you do not, I'm thinking that it's a race-condition of some sort, perturbed by the usual suspects (CPU speed & other concurrent userspace activity).  That would be consistent with our other test reports (who either experience it, or never do, on Ubuntu 12.04LTS as well).

Cheeseness

Quote from: scottchiefbaker on Thu 09/05/2013 00:07:42What type of audio do you have? Any other audio issues on your system?
I'm running a Creative Audigy 2 Platinum Ex. Never really had any issues beyond a couple of Wine games (like Rage and Orcs Must Die 2) having this crackly audio thing from time to time (quitting and running pulseaudio -k has always sorted it out). My partner encounters it when playing Dead Island as well. I think she's running onboard audio (looks to be an intel chipset).

Quote from: s_d on Thu 09/05/2013 05:48:17
Quote from: Cheeseness on Tue 07/05/2013 13:17:42
The issue I've been encountering can best be described as crackly audio (I'll see if I can get a recording of an example during the week).
I got around to uploading to YouTube my instances of it:
Yep, that's it.

Quote from: s_d on Thu 09/05/2013 05:48:17Am I to understand, then, that restarting Pulse no longer eliminates the current incarnation of your audio corruption?
With your build, pulseaudio -k doesn't fix it on my Wheezy VM. With my build, it doesn't fix it on my desktop :D
In all other cases a pulseaudio -k dies help (until it happens again).

This makes me wonder whether there's something I could be doing during my build process (I'm pretty much just using the ags+libraries script), or whether the bundled deps themselves are causing issues.

Quote from: s_d on Thu 09/05/2013 05:48:17
Quote from: Cheeseness on Tue 07/05/2013 13:17:42
Runs nicely on my F17 install. 0.5 sec worth of crackly sound when starting the title I'm packaging, but it comes right every time. It also seems to recover happily from switching focus after a second or so of crackly audio.

On my Wheezy VM, I get crackly audio no matter what I try (the same issues I'd been experiencing with my own build). I don't have a proper install to test on at the moment though.

This is good info, thanks.  It's probably fairly instructive that the glitch traverses distros, but follows Pulseaudio.  I can reproduce this at will on my test setup.  All that's left is the hard part :P (figuring out how to properly debug the problem).
It's also interesting to note that my Wheezy VM is running from a MacBook Air rather than my F17 desktop.

SKYY

I have a galaxy note, and for some reason every build has an issue with cursor placement being about 80 to 100 pixels lower than the actual stylus press. Is there any way to fix this?

BigMc

Which Linux distribution?

s_d

Galaxy Note is an Android phone/tablet... maybe they need the Android porting thread instead?

Cheeseness;  thank you for the valuable input!  I'm working on all of this, and will report back when I have more information.

JanetC

Hi all,

Wadjet Eye has now got a programmer (not me) working on porting the Mac and Linux AGS engine so that we can commercially release Gemini Rue on those platforms. I know that the Linux build is in pretty good shape, but what needs doing at the moment apart from the crackly audio issues?

Thanks!

Snarky

Hey, nice to see Wadjet Eye expanding, but honestly, I think your kid is too young to start programming Mac/Linux ports.  :)

Crimson Wizard

Quote from: Snarky on Tue 04/06/2013 22:56:10
Hey, nice to see Wadjet Eye expanding, but honestly, I think your kid is too young to start programming Mac/Linux ports.  :)
He may approve the code by tasting it though  :P

s_d

Quote from: JanetC on Tue 04/06/2013 21:56:11
Wadjet Eye has now got a programmer (not me) working on porting the Mac and Linux AGS engine so that we can commercially release Gemini Rue on those platforms. I know that the Linux build is in pretty good shape, but what needs doing at the moment apart from the crackly audio issues?

Congratulations on the great new addition to your team!!  The programmer, of course  ;)

Ah.  Sorry I've been unable to resolve these issues quickly enough for you.

There, is, as mentioned the audio corruption issue.  It has only been reported on systems with the PulseAudio audio server (present on most installs);  however, those not using it do need to have audio settings configured properly in the config file ("acsetup.cfg").  If these settings are not present (DIGIMID index), then beyond sound not working, we also have seen instances of the engine crashing to the command line.  Solving it directly is, of course, desirable, but having functional audio is a very nice workaround, in that the user has audio and no crashing.  The previous closed AGS version, 2.72, had quite a nice GUI setup utility written by Tom Vandepoele (Electroshokker) which did do this, as well as other config settings, such as full-screen or windowed mode.  I've asked for, and received, permission from he and CJ to have access to, port, and publish, those sources with the current AGS sources, and under the same license.  It would permit a user to properly configure DIGIMID in the config file!  I'm waiting on he (or CJ) to provide these sources.

So, long story short, if audio is not properly initialized, there can be crashes (bug).  It can be bewildering for new users to adjust the (partially undocumented) config files by hand.  The setup GUI works-around the first and solves the second.

Next, some testers have reported performance issues.  I've not spent any time profiling, as I considered the audio corruption a higher priority.

Lastly, I began work on an installer (using Mojosetup) and got it sort of working for 64-bit Linux, but not for 32-bit.  I also dropped installer work for the same reason.

I'm curious;  how will you have your programmer work on the engine, in terms of availability of sources?  Will fixes and improvements be worked on in the open (for example, in coordination with CW and JJS using the public Github), or retained internally to Wadjet Eye?  I'm working with other teams to do this same work (on a volunteer basis), and it would be ludicrous to run separate parallel development, though I fully understand the commercial need to not wait on volunteers :P

Crimson Wizard

Quote from: s_d on Tue 04/06/2013 23:42:52
Next, some testers have reported performance issues.  I've not spent any time profiling, as I considered the audio corruption a higher priority.
I made few optimizations in "develop" branch, mostly simplifying new class hierarchies and inlining functions. They did not increase perfomance really much, but were enough to fix desynchronization between animation and sound/music during cutscenes in particular games. I think it would be possible to partially merge (or cherry-pick) that to master.
(merging whole develop branch right before the release would be risky, because it has significant change in internal data structures).

JanetC

Quote from: s_d on Tue 04/06/2013 23:42:52
I'm curious;  how will you have your programmer work on the engine, in terms of availability of sources?  Will fixes and improvements be worked on in the open (for example, in coordination with CW and JJS using the public Github), or retained internally to Wadjet Eye?  I'm working with other teams to do this same work (on a volunteer basis), and it would be ludicrous to run separate parallel development, though I fully understand the commercial need to not wait on volunteers :P

We want to keep everything that he (Edward) does open source so that everyone can benefit (including us!) I want to make sure what we do is compatible with the community's plans for AGS.

s_d

Quote from: JanetC on Wed 05/06/2013 12:17:31
We want to keep everything that he (Edward) does open source so that everyone can benefit (including us!) I want to make sure what we do is compatible with the community's plans for AGS.

Awesome, I thought so.  You folks are the best  :)

s_d

Quote from: Crimson Wizard on Wed 05/06/2013 08:33:17
I made few optimizations in "develop" branch, mostly simplifying new class hierarchies and inlining functions. They did not increase perfomance really much, but were enough to fix desynchronization between animation and sound/music during cutscenes in particular games. I think it would be possible to partially merge (or cherry-pick) that to master.
(merging whole develop branch right before the release would be risky, because it has significant change in internal data structures).

I agree with your merge strategy;  would that be something you'd like me to cherry-pick and test, or would you prefer to?

Keep in mind, these performance issues were not reported on the Windows version.  Improving performance over-all is, of course, fantastic, but this particular issue may very well be a Linux thing (or an Allegro on Linux thing, or a "way the Linux AGS port uses Allegro" thing).  Or it may simply not exist;  I haven't attempted to verify those reports yet.


Calin Leafshade

How does the midi setup work in the linux version?
How do I tell AGS which alsa port to use? I run timidity which works fine in everything else but I can't seem to get any midi signals from AGS at all.

BigMc

It uses Allegros built in midi player. You just need a file with patches, as described in the readme.

Calin Leafshade

I tried that (put the file in the dir and renamed it patches.dat) and it doesnt seem to do anything.

SMF spam blocked by CleanTalk