[OLD-1] AGS engine Linux port

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

Previous topic - Next topic

Crimson Wizard

#560
Quote from: Problem on Wed 26/08/2015 09:47:02
I just asked, and they say they outsourced the Linux build a couple of years ago, and that it doesn't work the same way anymore. So they are also trying to figure it out.
I'll take a look at the AGS sources, but I fear this is beyond my abilities. But it can't hurt to try.
Yes, their version is outdated, but it is possible to merge it with latest version we have. This is something I suggested them to do some time ago; I guess they just did not have enough time to try it yet.

I think this should be possible to do, because their changes were mostly to Linux and OSX specific stuff, not engine core logic.

The question is, if they have that sound problem fixed, that is - whether they experience it with their build. I think it should be clarified first before trying this.


E: I could probably try to do this, but there is one thing: I am unable to test things on Mac, at least not right away (I do not own one), so someone else will have to test and approve my work.
If this will be done, that may server as a temporary alternate Linux & Mac port for some time, until we get a properly constructed Mac port someday in future.

Problem

Well, their old Linux ports still seem to work. I just played The Shivah, and it doesn't have any sound issues at all.

Crimson Wizard

Quote from: Problem on Wed 26/08/2015 10:31:38
Well, their old Linux ports still seem to work. I just played The Shivah, and it doesn't have any sound issues at all.
To clarify, you are using Shivah version packed by Wadjet Eye (with their own port)?

Problem

I have it on Steam, so I guess it's their port.

JanetC

What bugs do we currently have on Wadjet Eye's Linux games and installers? I'm making a list for fixing. Have they been fixed in the latest version of the official engine?

Floob

For those of you with a Raspberry Pi, here is a method to get it running with AGS.

https://www.youtube.com/watch?v=cH_784XOsiM

Radiant

Well, I've tried running the latest Linux build from TeamCity in a virtual machine running Ubuntu, and it works pretty well albeit at a poor framerate.

That's because of the VM setup, of course. Has anyone had success in running AGS in a VM? Or should I really have a dedicated Linux machine?

Crimson Wizard

Quote from: Radiant on Tue 20/09/2016 23:44:04
Well, I've tried running the latest Linux build from TeamCity in a virtual machine running Ubuntu, and it works pretty well albeit at a poor framerate.

That's because of the VM setup, of course. Has anyone had success in running AGS in a VM? Or should I really have a dedicated Linux machine?
Except for VM being VM, Linux port does not support hardware acceleration at the moment, which means that all scaling is done by CPU.
Besides that, I experienced mouse issues on Ubuntu VM if mouse control is enabled in AGS (for mouse speed setting), but other people told me that they did not have similar issues on actual Linux machine.

Radiant

Quote from: Crimson Wizard on Wed 21/09/2016 00:00:04
Besides that, I experienced mouse issues on Ubuntu VM if mouse control is enabled in AGS (for mouse speed setting)
Thanks. What do you mean by this? I'd expect most AGS games to be mouse controlled.

Crimson Wizard

Quote from: Radiant on Wed 21/09/2016 07:14:35
Quote from: Crimson Wizard on Wed 21/09/2016 00:00:04
Besides that, I experienced mouse issues on Ubuntu VM if mouse control is enabled in AGS (for mouse speed setting)
Thanks. What do you mean by this? I'd expect most AGS games to be mouse controlled.
Sorry, I mean AGS directly controlling mouse position, instead of its position being read from the system and not adjusted. Since 3.3.5 AGS does that to implement cursor speed setting, but it is possible to disable by putting "control=never" string under "[mouse]" section in config. That also happens if mouse runs into screen border, and if you call Mouse.SetPosition from the script.
For some reason in all of those cases (simply running 3.3.5 engine fullscreen, for example) I got terrible mouse lag and weird behavior under virtual machine.

Radiant

#570
So by putting control=never in the config, it would act like 3.3.4 and before?

It also strikes me that having the game in a different color depth than the OS is a big slowdown. I'm not sure how well Linux deals with 320x200 fullscreen mode.

Radiant

Is it correct that the Linux version ignores the windowed=1 and scaling parameters from the acsetup?

Crimson Wizard

Quote from: Radiant on Fri 23/09/2016 14:31:53
Is it correct that the Linux version ignores the windowed=1 and scaling parameters from the acsetup?
No, it should read all the same parameters.

List of supported parameters for AGS 3.4.0: https://github.com/adventuregamestudio/ags/blob/master/OPTIONS.md
For 3.3.5: https://github.com/adventuregamestudio/ags/blob/release-3.3.5/OPTIONS.md

Radiant

Thank you.

Since the engine under Linux tends to show a lot of MIDI warnings (which confuses users) and sometimes doesn't give music at all if MIDI is not found, would it be possible to have a Linux build with its MIDI functionality disabled? Personally I haven't used MIDI music in years, it's all OGG/MP3 these days as far as I can see.

JanetC

I was pretty thrilled to see that the latest version of AGS has an option to build for Linux, but I'm not sure how it works. I tried to run the output on my CentOS installation, but no joy. I'm not all that knowledgeable about Linux. What's the status of the "Build for Linux" feature in AGS 3.4.0? What are the steps involved in getting it running?

Crimson Wizard

#575
Quote from: JanetC on Thu 29/09/2016 20:50:34
I was pretty thrilled to see that the latest version of AGS has an option to build for Linux, but I'm not sure how it works. I tried to run the output on my CentOS installation, but no joy. I'm not all that knowledgeable about Linux. What's the status of the "Build for Linux" feature in AGS 3.4.0? What are the steps involved in getting it running?
As far as I know it is guaranteed to work only on certain limited Linux systems, probably those derived from Debian. I know it should work on Debian and Ubuntu. But better consult with monkey0506 or BigMC about this.

For other systems you need to build Linux port from the repository source as usual. For that port you need to supply the contents of Compiled folder root (not subfolders) - that holds pure game data which may be deployed with any engine version (Windows, Linux etc).

NOTE: in the latest master branch state there is a distinct Compiled/Data subfolder that holds pure game data.

JanetC

Thanks Crimson Wizard! That's cleared it up!

Radiant

One user reports the following error/warning messages; is this something vital?

fixme:win:EnumDisplayDevicesW ((null),0,0x33f454,0x00000000), stub!
fixme:d3d:wined3d_device_decref Device released with resources still bound, acceptable but unexpected.
fixme:d3d:wined3d_device_decref Leftover resource 0x1903d8 with type WINED3D_RTYPE_SURFACE (0x1).
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:winediag:AUDDRV_GetAudioEndpoint Winepulse is not officially supported by the wine project
fixme:winediag:AUDDRV_GetAudioEndpoint For sound related feedback and support, please visit http://ubuntuforums.org/showthread.php960599
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:dsound:DSOUND_WaveFormat Limiting channels to 2 due to lack of multichannel support
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:win:EnumDisplayDevicesW ((null),0,0x33f864,0x00000000), stub!
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.

Crimson Wizard

Quote from: Radiant on Sat 01/10/2016 18:12:21
One user reports the following error/warning messages; is this something vital?

fixme:win:EnumDisplayDevicesW ((null),0,0x33f454,0x00000000), stub!
fixme:d3d:wined3d_device_decref Device released with resources still bound, acceptable but unexpected.
fixme:d3d:wined3d_device_decref Leftover resource 0x1903d8 with type WINED3D_RTYPE_SURFACE (0x1).
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:winediag:AUDDRV_GetAudioEndpoint Winepulse is not officially supported by the wine project
fixme:winediag:AUDDRV_GetAudioEndpoint For sound related feedback and support, please visit http://ubuntuforums.org/showthread.php960599
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:dsound:DSOUND_WaveFormat Limiting channels to 2 due to lack of multichannel support
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:win:EnumDisplayDevicesW ((null),0,0x33f864,0x00000000), stub!
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.

This is probably from running under WINE? Because D3D does not work on Linux for obvious reasons.
I cannot immediately tell if these errors come from AGS or from WINE implementation...

Radiant

Yes, turns out that was WINE output.

SMF spam blocked by CleanTalk