Atari Vault (Steam) Linux/SteamOS: No Sound

Having an issue with one of our games? Browse this section for answers to common problems, or post your own questions to get support from us.
Post Reply
Nz17
Posts: 2
Joined: Mon Sep 19, 2016 10:50 am

Atari Vault (Steam) Linux/SteamOS: No Sound

Post by Nz17 »

I sincerely like the work you did on this game, Code Mystics. I think you probably have made the best Atari games compilation there is, even better than the Atari Flashback units and such due to the extra features and user friendliness.

This game-remake compilation runs great for me except for one thing: I have no sound from it when running it. There is no sound from the startup splash videos and logo screens, no sound from the menus, and no sound from the Atari games. Other computer games which I own written in the Unity engine work just fine with the audio (ones such as Tadpole Treble). While running Atari Vault, sound works for all other concurrently running programs, but no audio is emitted by Atari Vault.

I believe the problem lies with these error messages in the Player.log:
Error: Cannot create FMOD::Sound instance for resource sharedassets0.resource, (An invalid object handle was used. )

(Filename: Line: 858)

Function SoundHandle::Instance::~Instance() may only be called from main thread!

(Filename: Line: 25)

Error: Cannot create FMOD::Sound instance for resource sharedassets0.resource, (An invalid object handle was used. )
I have attached the complete "~/.config/unity3d/Atari+/Atari Vault/Player.log" file as a compressed PKZIP-formatted archive file attached to this post.

Here is my computer's information courtesy of Steam:
Computer Information:
Manufacturer: Unknown
Model: Unknown
Form Factor: Desktop
No Touch Input Detected

Processor Information:
CPU Vendor: GenuineIntel
CPU Family: 0x6
CPU Model: 0x17
CPU Stepping: 0xa
CPU Type: 0x0
Speed: 2500 Mhz
2 logical processors
2 physical processors
HyperThreading: Unsupported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Unsupported
SSE41: Unsupported
SSE42: Unsupported
AES: Unsupported
AVX: Unsupported
CMPXCHG16B: Supported
LAHF/SAHF: Supported
PrefetchW: Unsupported

Network Information:
Network Speed:

Operating System Version:
Debian GNU/Linux 8.5 (jessie) (64 bit)
Kernel Name: Linux
Kernel Version: 3.16.0-4-amd64
X Server Vendor: The X.Org Foundation
X Server Release: 11604000
X Window Manager: IceWM 1.3.7 (Linux 3.4.0-rc4+/x86_64)
Steam Runtime Version: steam-runtime-beta-release_2016-06-15

Video Card:
Driver: NVIDIA Corporation GeForce GT 240/PCIe/SSE2

Driver Version: 3.3.0 NVIDIA 340.96
OpenGL Version: 3.3
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 59 Hz
VendorID: 0x10de
DeviceID: 0xca3
Revision Not Detected
Number of Monitors: 1
Number of Logical Video Cards: 1
Primary Display Resolution: 1440 x 900
Desktop Resolution: 1440 x 900
Primary Display Size: 16.06" x 10.04" (18.94" diag)
40.8cm x 25.5cm (48.1cm diag)
Primary Bus: PCI Express 16x
Primary VRAM: 1024 MB
Supported MSAA Modes: 2x 4x 8x 16x

Sound card:
Audio device: VIA VT1708BCE

Memory:
RAM: 3965 Mb

Miscellaneous:
UI Language: English
LANG: en_US
Microphone: Not set
Total Hard Disk Space Available: 129392 Mb
Largest Free Hard Disk Block: 19197 Mb
VR Headset: None detected

Recent Failure Reports:
Mon Sep 19 18:14:46 2016 GMT: file ''/tmp/dumps/assert_20160919121442_17.dmp'', upload yes: ''CrashID=bp-b3946f77-e35a-4b6d-8151-e17e32160919''
Thank you for any help which you can provide! :-)
Attachments
Player.log.zip
(3.73 KiB) Downloaded 364 times

User avatar
CodeMystics
Posts: 330
Joined: Mon Oct 13, 2014 3:22 pm

Re: Atari Vault (Steam) Linux/SteamOS: No Sound

Post by CodeMystics »

Atari Vault is a 32-bit build. Is it possible the other Unity games that are working for you are built for 64-bit targets? Do you have the latest 32-bit drivers for your sound chipset? No driver appears to be reported.

Nz17
Posts: 2
Joined: Mon Sep 19, 2016 10:50 am

Re: Atari Vault (Steam) Linux/SteamOS: No Sound

Post by Nz17 »

Both 32-bit and 64-bit builds of these other games have working sound on my computer. While some provide both 32-bit and 64-bit executables such as moto RKD dash, Tadpole Treble, and Ziggurat, others only provide 32-bit executables such as Life of Pixel, Lovely Planet, and Race the Sun. All of these Unity-derived games have correctly working sound on my computer.

User avatar
CodeMystics
Posts: 330
Joined: Mon Oct 13, 2014 3:22 pm

Re: Atari Vault (Steam) Linux/SteamOS: No Sound

Post by CodeMystics »

We misspoke. It contains both a 32- and 64-bit build so you are probably running the 64-bit build.

Unity is managing our audio, so the problem would have to be there. Even though you have other Unity games, the engine changes dramatically from version to version (even minor versions).

You could try switching the package to launch the 32-bit version by editing the AtariVault script in the install location to change this:

Code: Select all

SUFFIX=_64
to this:

Code: Select all

#SUFFIX=_64
and see if it improves the situation.

hasues
Posts: 1
Joined: Thu Oct 15, 2020 6:11 pm

Re: Atari Vault (Steam) Linux/SteamOS: No Sound

Post by hasues »

I believe the issue is understood by examining the log file:

$HOME/.config/unity3d/Atari+/Atari Vault/Player.log
FMOD failed to get number of drivers ... An error occured that wasn't supposed to. Contact support.
and
Error: Cannot create FMOD::Sound instance for resource sharedassets0.resource, (An invalid object handle was used. )
These errors are present on Linux when Unity is attempting to utilize PulseAudio and it is not present. Unity does not require Pulse as it can use ALSA. PulseAudio requires ALSA for that matter. However, noting that the code is not performing any detection for Pulse, it can simply be fooled into thinking that a Pulse library is present (even if it isn't needed):

Code: Select all

ln -s /dev/null {path to Steam}/Steam/SteamApps/common/Atari Vault/AtariVault_Data/Plugins/{x86|x86_64|/libpulse-simple.so.0
This workaround should allow the game to work for non PulseAudio users.

However, until Code Mystics corrects their Pulse detection, this start up script could be used to replace the start up script in Atari Vault:

{path to Steam}/Steam/SteamApps/common/Atari Vault/AtariVault:

Code: Select all

#!/bin/sh
SUFFIX=""
LAUNCHDIR=$( pwd )
if expr `getconf LONG_BIT` = 64
then
	SUFFIX=_64
fi
# Attempt to detect if Pulse is not present and if a fake pulse library is installed.
if [ ! -x /usr/bin/pctl ] && [ ! -f "${LAUNCHDIR}/AtariVault_Data/Plugins/x86${SUFFIX}/libpulse-simple.so.0" ]
then
  ln -s /dev/null "${LAUNCHDIR}/AtariVault_Data/Plugins/x86${SUFFIX}/libpulse-simple.so.0"
fi
export LD_LIBRARY_PATH="`pwd`/AtariVault_Data/Plugins/x86$SUFFIX:$LD_LIBRARY_PATH"
./AtariVault.x86$SUFFIX $*
This is a guess in that most Linux operating systems have pctl (PulseAudio Control utility) installed in /usr/bin, and if this utility isn't present and our fake library isn't present, it puts it in place (feel free to come up with a better pulse detection routine :) ).

Hope this helps!

Fletch

Post Reply