Author Topic: AGS engine Linux port  (Read 88395 times)

Re: AGS engine Linux port
« Reply #640 on: 01 Oct 2017, 18:51 »
... it's excruciatingly slow ...

Have you tried windowed mode? It has completely solved slowness for me and I have no problem playing adventure games this way until fix.


Re: AGS engine Linux port
« Reply #641 on: 01 Oct 2017, 20:28 »
Information for linux gamers interested and absolutely new and unexperienced to this like me. Sorry for spaming if it's too obvious for someone. Launching games windowed could make bottom lines of text in game unreadable and unclickable. So I have to launch ags with gfxfilter option:

ags --gfxfilter stdscale 4 --windowed

You can set the different number from 1 to 4 to best fit to your monitor.

If launching ags without any gfxfilter it runs fine even fullscreen but it's too tiny:
ags --gfxfilter none --fullscreen
or
ags --gfxfilter stdscale 1 --fullscreen

Radiant

  • AGS Baker
  • Mittens Knight
  • Return once more to the Two Kingdoms!
    • I can help with publishing
    •  
    • I can help with story design
    •  
  • Radiant worked on a game that was nominated for an AGS Award!Radiant worked on a game that won an AGS Award!
Re: AGS engine Linux port
« Reply #642 on: 24 Oct 2017, 20:14 »
My Linux build gives the following error,

ERROR: ld.so: object '/home/gamer/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ALSA lib rawmidi_hw.c:233:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 failed: No such file or directory

Does this look familiar? The second line appears to be Steam initializing a 32-bit library for a 64-bit game, and the second line appears to be AGS trying to initialize MIDI on a system that doesn't have MIDI drivers installed. Any suggestions on how to fix this please? The engine is timestamped 5-11-2016, I think that's the latest 3.3 release.

Crimson Wizard

  • Local Moderator
  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • Lifetime Achievement Award Winner
    •  
Re: AGS engine Linux port
« Reply #643 on: 25 Oct 2017, 10:11 »
My Linux build gives the following error,

ERROR: ld.so: object '/home/gamer/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ALSA lib rawmidi_hw.c:233:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 failed: No such file or directory

For MIDI problem, there was this issue and potential workaround posted:
https://github.com/adventuregamestudio/ags/issues/367

Radiant

  • AGS Baker
  • Mittens Knight
  • Return once more to the Two Kingdoms!
    • I can help with publishing
    •  
    • I can help with story design
    •  
  • Radiant worked on a game that was nominated for an AGS Award!Radiant worked on a game that won an AGS Award!
Re: AGS engine Linux port
« Reply #644 on: 25 Oct 2017, 11:00 »
Thanks, I'll add that. That leaves the 32bit / 64bit conflict... maybe my shellscript that detects this doesn't work properly on all versions of Linux?

(edit) wait, that workaround is for setting MIDI to device 2 in the specific case that device 0 doesn't exist but device 2 does; but we can't just assume that everybody's going to have Timidity installed, either. Is there an Allegro config line for omitting Midi entirely?
« Last Edit: 25 Oct 2017, 11:02 by Radiant »

Crimson Wizard

  • Local Moderator
  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • Lifetime Achievement Award Winner
    •  
Re: AGS engine Linux port
« Reply #645 on: 25 Oct 2017, 11:13 »
(edit) wait, that workaround is for setting MIDI to device 2 in the specific case that device 0 doesn't exist but device 2 does; but we can't just assume that everybody's going to have Timidity installed, either. Is there an Allegro config line for omitting Midi entirely?

Did you try setting "midiid = 0" in the acsetup.cfg? That will make AGS initialize allegro with MIDI_NONE parameter. But I do not know exactly under which condition Allegro attempts to open that device.
Also, is this ALSA message a fatal error or just warning? Earlier I got an impression that it may be ignored if having MIDI sound is not necessary.
« Last Edit: 25 Oct 2017, 11:15 by Crimson Wizard »

Radiant

  • AGS Baker
  • Mittens Knight
  • Return once more to the Two Kingdoms!
    • I can help with publishing
    •  
    • I can help with story design
    •  
  • Radiant worked on a game that was nominated for an AGS Award!Radiant worked on a game that won an AGS Award!
Re: AGS engine Linux port
« Reply #646 on: 25 Oct 2017, 13:16 »
Did you try setting "midiid = 0" in the acsetup.cfg?
Ah, that should work, thakns. I'm currently using midiid = -1, which I assume means "pick the default".

(edit) Wait again, per this bug report, if you use the ACSetup tool to set MIDI to off, then AGS will play no music at all. Was this fixed at some point? Your fix in that ticket suggests the opposite (it fixes MIDIs not playing when DIGIs are disabled, but my issue is DIGI music not playing when MIDI is disabled...)

Quote
Also, is this ALSA message a fatal error or just warning?
I think this is a warning and the other message (about 32bit vs 64bit) is the fatal error.
« Last Edit: 25 Oct 2017, 13:20 by Radiant »

Crimson Wizard

  • Local Moderator
  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    •  
    • Lifetime Achievement Award Winner
    •  
Re: AGS engine Linux port
« Reply #647 on: 25 Oct 2017, 13:36 »
(edit) Wait again, per this bug report, if you use the ACSetup tool to set MIDI to off, then AGS will play no music at all. Was this fixed at some point? Your fix in that ticket suggests the opposite (it fixes MIDIs not playing when DIGIs are disabled, but my issue is DIGI music not playing when MIDI is disabled...)

There were two contrary issues, supposedly fixed in two sequential patches, according to changelog:

- Fixed MIDI music refuses to start if digital sound is disabled. (in AGS 3.3.4, July 2015)
- Fixed legacy audio functions did not start digital music playback if MIDI driver failed to initialize. (in AGS 3.3.5, March 2016)

Is it still not working?

Also, in regards to general issue with MIDI, I will repost my answer from another thread, since its more relevant here -
I've mentioned this before, that it is not AGS that insists on initializing MIDI anymore. There is one Allegro API function that initializes all sounds, and all AGS can do is to try it with different parameters (MIDI/DIGI, no MIDI/DIGI MIDI/ no DIGI, etc) until it returns positive answer.
That's a good point, but it may be that the first function call (for MIDI+DIGI both, if I understand correctly) is causing problems in Allegro.

Yes, it could be; I think this may be tested out by disabling MIDI in setup file ("midiid = 0"), then sound init will be called with DIGI/ no MIDI at the first try. If that works, unlike other attempts, then adding a MIDI-disabling switch will have an actual meaning.
« Last Edit: 25 Oct 2017, 13:44 by Crimson Wizard »

Radiant

  • AGS Baker
  • Mittens Knight
  • Return once more to the Two Kingdoms!
    • I can help with publishing
    •  
    • I can help with story design
    •  
  • Radiant worked on a game that was nominated for an AGS Award!Radiant worked on a game that won an AGS Award!
Re: AGS engine Linux port
« Reply #648 on: 30 Oct 2017, 09:42 »
I'm curious what the default folder is for running a Linux game? What my game does is check for .TRA files in the game's folder to show an in-game language selection window. This works fine in Windows, but in Linux it appears to be unable to find any of these files?


(the MIDI issue was not on my system, I'm still waiting to hear back from that particular player)

Re: AGS engine Linux port
« Reply #649 on: 04 Jan 2018, 20:47 »
Were you using the tag that expands to get the actual game directory?

Quote from: the manual
When specifying file path you may use special location tags:
$INSTALLDIR$, which allows you to explicitly read files in the game installation directory.