pauleve/docker-mtgo

Sound support

Closed this issue · 69 comments

According to https://bugs.winehq.org/show_bug.cgi?id=43729
installing wmp10 quartz and some codecs in allcodecs is sufficient to make sound working with wine.
Then, the gateway with local sound server has to be setup for the docker container, probably by mounting /run/user/1000/pulse/native and /dev/snd with potential uid issues.

its just wmp10 and quartz actually
allcodecs is unnecessary

Also, keep in mind that sound support might just not be worth it

I want to say that I'd like to see sound support, even if it's not a must. I've tinkering with mounting /dev/snd and other stuff, but I haven't accomplished anything yet. I'm still trying though.

@theli-ua it seems like allcodecs might be neccesary. Installing wmp10 and quartz with winetricks won't get me any sound.

In the other hand, I'm having issues by installing allcodecs. Winetricks will hang indefinetly when trying.

At least, I've got sound working in the container. (testing it with run-mtgo --shell and pacat /dev/urandom)

According to https://appdb.winehq.org/objectManager.php?sClass=version&iId=32007#notes you also need to use winecfg to enable "Enable VAAPI as backend for DXVA".

It was enabled already.

with 2.18 I only need wmp10 installed for sound to work. (and wine is compiled with gstreamer)

According to the .deb dependencies and packaging rules, the winehq distributed within the docker is also compiled with gstreamer..
You may try winetricks sound=pulse to ensure it is picking the right method ; moreover you may want to unset WINEDEBUG to have a bit more debugging output by wine.

So far I've been using my modified fork to do the testing. https://github.com/Kurolox/docker-mtgo

In a nutshell, I've applied most of the stuff mentioned in https://github.com/TheBiggerGuy/docker-pulseaudio-example to get the audio working (and it works, as I said before. Running pacat /dev/urandom will produce noise). However, I'm still not able to get sound working yet. I think it's fitting to list the steps I'm following right now.

  1. I'm building the image with docker image build --tag "mtgo-pulseaudio:latest" .
  2. Once the image is built, I'm launching it with run-mtgo --shell
  3. In the shell, I'm running winetricks wmp10 (I can't add it in the dockerfile because it seems like it hangs, so I have to do it manually without the -q flag) and winetricks sound=pulse
  4. I'm running winecfg and checking if Enable VAAPI as backend for DXVA2 GPU decoding is set properly, and setting the windows version to Windows 7 manually (winetricks will change it to Win2000 when installing wmp10)
  5. Finally, I'm running mtgo inside the shell. The game launches and it works properly, but there's no sound.

fwiw, I can't make sound work on OSX at all. (with or without quartz)
I works just fine for me on Linux without quartz, also iirc that VAAPI thing was only necessary for me when using native quartz

Just to be clear - I am not using docker and was testing without it

Well, I'm directly unable to get MTGO working outside of this container. winetricks will never work properly when installing dotnet462. Right now the only way I have to play the game is through this repository, so I'd like to see it getting audio support eventually.

@Kurolox it works with dotnet46 as well. For dotnet462, the workaround is given in Winetricks/winetricks#812 (comment)

@pauleve thanks! I'm still unable to get dotnet462 working (even when using the same version as the docker container, and applying that fix). However, dotnet46 worked.

Anyways, I'm still unable to get sound working. I've installed wmp10 and quartz again, set up VAAPI in winecfg, but I just can't get any sound output from MTGO.

@Kurolox is test sound working in winecfg?
Btw, when are we supposed to hear sound in MTGO? do we necessarily have to start a game?

It has sound on startup, on button/tab clicking, etc.
You can also just start watching a game in open play quque

But again, I find it crashing quite a lot when I have sound working. So personally I just disabled it

I can't really focus on a game without hearing its sounds. So this issue is kinda important to me. Btw test sound doesn't work for me in winecfg. Maybe I'll try to fix this for myself and then send a pr.

It just works for me with native wmp, however game crashes at some point somewhere within it.

I've created a wine bug for this not working with wine's WMP implementation.
You can track it here: https://bugs.winehq.org/show_bug.cgi?id=44343

though that one is a long shot - wpm in wine is a stub, there is no implementation whatsoever yet

Some progress update, I got wine's wmp implementation to a point when WPF/MTGO believe its alive and kicking and feed files to it. Now to actually get wine to play those sound is what remains.

https://github.com/theli-ua/wine/tree/wmp

Got a simple implementation working with sounds in mtgo without wmp/quartz/etc (assuming wine is built with gstreamer)
However for this to work in docker you'll need to make sure that test sound in winecfg works for you in docker.

I've built a docker image including your git branch of wine.
With

./run-mtgo --winecfg -v /run/user/1000/pulse:/run/user/1000/pulse panard/mtgo:sound

winecfg does make a sound on test, but nothing in MTGO. Which debug channel would be useful to watch?

Little progress (reset winecfg), now it crashes on startup in gstreamer. Let me know how I can provide more useful debug traces.
backtrace.txt
debug.txt

@pauleve I've provided a tiny .net app to reproduce the issue here https://bugs.winehq.org/show_bug.cgi?id=44343 as long as that app is able to play audio files - mtgo should work as well.
Also, make sure both wmp and quartz are set to builtin.
You can also just use gst-play within your container to try and play those *.wav files within mtgo directory

Ok, I simply forgot to include plugins for reading wav files... ;-)
Sound is now working using the latest run-mtgo script:

./run-mtgo --sound

@philip-bl @Kurolox could you give a try and feedback? If you pulled already the image panard/mtgo:sound you need to add --update to the above command line to upgrade it.

@pauleve keep in mind that wmp work is incomplete. It looks like I also need to implement media state notifications as it seems that MTGO will only play each sound once (missing playback finished notification?) so sound will disappear with time :D

Sure, I do not intend to make this image the default one until the implementation is complete and heavy testing ; but it also gives a way to try MTGO on wine 3.0.

@philip-bl what system are you testing this on?
Maybe @pauleve can help you with container sound issues

@philip-bl
I would need complete the output of the following command line to understand what happen:

./run-mtgo --update --sound --winecfg

@pauleve

Debian stretch with a few packages upgraded to Debian unstable:

$ ./run-mtgo --update --sound --winecfg
docker pull panard/mtgo:sound
sound: Pulling from panard/mtgo
Digest: sha256:90518c40d1d8bea6c96fb340924b0f00aa771e6f0695d5b5daaad6055615cfb8
Status: Image is up to date for panard/mtgo:sound
docker run --privileged --rm -e DISPLAY -v /home/shibbiry/.local/share/mtgo:/home/wine/.wine/host/ -v mtgo-data:/home/wine/.wine/drive_c/users/ -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v /home/shibbiry/.Xauthority:/home/wine/.Xauthority:ro -i -v /run/user/1000/pulse/native:/run/user/1000/pulse/native --net=host --ipc=host -e TZ=/usr/share/zoneinfo/Europe/Moscow --name mtgo_running panard/mtgo:sound mtgo --sound --winecfg
Using winetricks 20171222-next - sha256sum: 01ebb56d22f54467343700eedfe283d82a47e67bbb6c2d68b7da743f41bb78a3 with wine-3.0 and WINEARCH=win32
Executing w_do_call sound=pulse
Executing load_sound pulse
Setting sound driver to pulse
Executing wine regedit C:\windows\Temp\_sound=pulse\set-sound.reg
====== MTGO.exe has started.
====== shuting down
./run-mtgo: line 222:  3601 Terminated              tail -f ${URL_REQUESTS}
      3603                       | while read url; do
    run $WEBBROWSER "${url}";
done

I've updated the image, can you give another try to

./run-mtgo --update --sound --winecfg

and test in winecfg?

@pauleve gave it another try, still the same:

screenshot_20180127_202522

$ ./run-mtgo --update --sound --winecfg
docker pull panard/mtgo:sound
sound: Pulling from panard/mtgo
Digest: sha256:b3ccd1c53b6dcfff4a4eb681831a29ea8363f159154ab472b9fc4666ff90253c
Status: Image is up to date for panard/mtgo:sound
docker run --privileged --rm -e DISPLAY -v /home/shibbiry/.local/share/mtgo:/home/wine/.wine/host/ -v mtgo-data:/home/wine/.wine/drive_c/users/ -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v /home/shibbiry/.Xauthority:/home/wine/.Xauthority:ro -i -v /run/user/1000/pulse/native:/run/user/1000/pulse/native --net=host --ipc=host -e TZ=/usr/share/zoneinfo/Europe/Moscow --name mtgo_running panard/mtgo:sound mtgo --sound --winecfg
Using winetricks 20171222-next - sha256sum: 01ebb56d22f54467343700eedfe283d82a47e67bbb6c2d68b7da743f41bb78a3 with wine-3.0 and WINEARCH=win32
Executing w_do_call sound=pulse
Executing load_sound pulse
Setting sound driver to pulse
Executing wine regedit C:\windows\Temp\_sound=pulse\set-sound.reg
====== MTGO.exe has started.
====== shutting down
./run-mtgo: line 222:  2821 Terminated              tail -f ${URL_REQUESTS}
      2823                       | while read url; do
    run $WEBBROWSER "${url}";
done

That's strange that selected driver is none...
Maybe some debug will help:

./run-mtgo  --sound --winecfg -e WINEDEBUG=fixme-all,+pulse

Thanks. So the connection to pulse server is denied:

0009:warn:pulse:pulse_contextcallback Context failed: Connection refused

What are the permissions of your host /run/user/1000/pulse/native? Do you have any non-default configuration in /etc/pulse/daemon.conf?

You can try the following:

./run-mtgo --sound -u root --shell
# apt update && apt install pulseaudio-utils
# su - wine
$ pacat /dev/urandom

In the meanwhile I have implemented enough of WMP for MTGO to have fully functional sound here
https://github.com/theli-ua/wine/commits/wmp
(Everything including setting different volumes in settings should work)

@pauleve btw, I don't think anything outside of this patch https://github.com/wine-compholio/wine-staging/blob/master/patches/windowscodecs-JPEG_Decoder/0005-windowscodecs-Add-support-for-CMYK-to-BGR-conversion.patch is necessary for MTGO from staging patchset. So it might be easier to base image off of mainline wine and just pull that one in.
(there is multimonitor patchest but I think that is not required for running in docker)

pacat doesn't work for me. I did --sound --update before running this.

$ ./run-mtgo --sound -u root --shell
docker run --privileged --rm -e DISPLAY -u root -it -v /home/shibbiry/.local/share/mtgo:/home/wine/.wine/host/ -v mtgo-data:/home/wine/.wine/drive_c/users/ -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v /home/shibbiry/.Xauthority:/home/wine/.Xauthority:ro -i -v /run/user/1000/pulse/native:/run/user/1000/pulse/native --net=host --ipc=host -e TZ=/usr/share/zoneinfo/Europe/Moscow --name mtgo_running panard/mtgo:sound bash
root@smiles:/home/wine# apt update --quiet
Get:1 http://security.debian.org stretch/updates InRelease [63.0 kB]
Ign:2 http://cdn-fastly.deb.debian.org/debian stretch InRelease
Get:3 http://cdn-fastly.deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:4 http://cdn-fastly.deb.debian.org/debian stretch Release [118 kB]
Get:5 http://cdn-fastly.deb.debian.org/debian stretch-updates/main i386 Packages [8517 B]
Get:6 http://cdn-fastly.deb.debian.org/debian stretch Release.gpg [2434 B]
Get:7 http://security.debian.org stretch/updates/main i386 Packages [341 kB]
Get:8 http://cdn-fastly.deb.debian.org/debian stretch/main i386 Packages [9504 kB]
Fetched 10.1 MB in 2s (3434 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
1 package can be upgraded. Run 'apt list --upgradable' to see it.
root@smiles:/home/wine# apt install pulseaudio-utils -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
pulseaudio-utils is already the newest version (10.0-1+deb9u1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
root@smiles:/home/wine# pacat /dev/urandom
No protocol specified
xcb_connection_has_error() returned true
Connection failure: Access denied
root@smiles:/home/wine# su - wine
wine@smiles:~$ pacat /dev/urandom
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
wine@smiles:~$ stat /run/user/1000/pulse/native
  File: /run/user/1000/pulse/native
  Size: 0               Blocks: 0          IO Block: 4096   socket
Device: 28h/40d Inode: 20943       Links: 1
Access: (0777/srwxrwxrwx)  Uid: ( 1000/    wine)   Gid: ( 1000/    wine)
Access: 2018-02-06 12:11:57.759242341 +0000
Modify: 2018-02-06 12:11:57.727242341 +0000
Change: 2018-02-06 12:11:57.727242341 +0000
 Birth: -

Ok, so it is clear that the issue is that the pulseaudio client cannot connect to the server.
On the host, could you make a pulseaudio --check ; echo $? and if it does not show 0, do a pulseaudio --start and try again run-mtgo panard/mtgo:sound.
Otherwise, it would be necessary to have some debug info from the server to understand why the connection is refused.

pulseaudio --check returns status code 0 when run on the host system. I tried to see what's wrong with pacat in the container using strace but haven't figured anything out. Maybe you will be interested in its output:

execve("/usr/bin/pacat", ["pacat", "/dev/urandom"], [/* 16 vars */]) = 0
brk(NULL)                               = 0x58214000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf774f000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686/sse2/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686/sse2/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686/sse2", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls/i686", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/sse2/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls/sse2/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls/sse2", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/tls/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/tls", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/i686/sse2/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/i686/sse2/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/i686/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/i686/sse2", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/i686/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/i686/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/i686/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/i686", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/sse2/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/sse2/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/sse2/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/sse2", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/cmov/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio/cmov", 0xffe1c450) = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/pulseaudio/libpulse.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/pulseaudio", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=22679, ...}) = 0
mmap2(NULL, 22679, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7749000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libpulse.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\214\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=362612, ...}) = 0
mmap2(NULL, 364584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf76ef000
mmap2(0xf7747000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x57000) = 0xf7747000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-10.0.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\363\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=579012, ...}) = 0
mmap2(NULL, 582136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7660000
mprotect(0xf76ec000, 4096, PROT_NONE)   = 0
mmap2(0xf76ed000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8c000) = 0xf76ed000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libsndfile.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libsndfile.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\3208\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=563864, ...}) = 0
mmap2(NULL, 576320, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf75d3000
mmap2(0xf765b000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x87000) = 0xf765b000
mmap2(0xf765e000, 6976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf765e000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libcap.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\17\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=17896, ...}) = 0
mmap2(NULL, 20668, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf75cd000
mmap2(0xf75d1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xf75d1000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360O\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=132328, ...}) = 0
mmap2(NULL, 115296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf75b0000
mmap2(0xf75c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xf75c9000
mmap2(0xf75cb000, 4704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf75cb000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\30\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=30692, ...}) = 0
mmap2(NULL, 33304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf75a7000
mmap2(0xf75ae000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xf75ae000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=13860, ...}) = 0
mmap2(NULL, 16488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf75a2000
mmap2(0xf75a5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xf75a5000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340F\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=341556, ...}) = 0
mmap2(NULL, 344144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf754d000
mmap2(0xf75a0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x52000) = 0xf75a0000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\203\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1791908, ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf754b000
mmap2(NULL, 1800732, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7393000
mprotect(0xf7544000, 4096, PROT_NONE)   = 0
mmap2(0xf7545000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b1000) = 0xf7545000
mmap2(0xf7548000, 10780, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7548000
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/pulseaudio/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libdbus-1.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \235\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=370116, ...}) = 0
mmap2(NULL, 373096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7337000
mprotect(0xf7390000, 4096, PROT_NONE)   = 0
mmap2(0xf7391000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x59000) = 0xf7391000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libX11-xcb.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\3\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=5384, ...}) = 0
mmap2(NULL, 8212, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7334000
mmap2(0xf7335000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xf7335000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libX11.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240C\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1362860, ...}) = 0
mmap2(NULL, 1366828, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf71e6000
mprotect(0xf732f000, 4096, PROT_NONE)   = 0
mmap2(0xf7330000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x149000) = 0xf7330000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libxcb.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\233\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=173936, ...}) = 0
mmap2(NULL, 176676, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf71ba000
mmap2(0xf71e4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29000) = 0xf71e4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libICE.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\00006\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=104952, ...}) = 0
mmap2(NULL, 115024, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf719d000
mmap2(0xf71b6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xf71b6000
mmap2(0xf71b8000, 4432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf71b8000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libSM.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\24\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=34296, ...}) = 0
mmap2(NULL, 37044, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7193000
mmap2(0xf719b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0xf719b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libXtst.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \17\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=26216, ...}) = 0
mmap2(NULL, 28976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf718b000
mmap2(0xf7191000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0xf7191000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libsystemd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\0\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=592596, ...}) = 0
mmap2(NULL, 597412, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf70f9000
mmap2(0xf7188000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8e000) = 0xf7188000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libwrap.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\34\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=38800, ...}) = 0
mmap2(NULL, 43620, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf70ee000
mprotect(0xf70f6000, 4096, PROT_NONE)   = 0
mmap2(0xf70f7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0xf70f7000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libasyncns.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\r\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=21760, ...}) = 0
mmap2(NULL, 24584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf70e7000
mmap2(0xf70ec000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xf70ec000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libFLAC.so.8", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320g\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=382272, ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf70e5000
mmap2(NULL, 385044, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7086000
mmap2(0xf70e3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5c000) = 0xf70e3000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libogg.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\24\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=29920, ...}) = 0
mmap2(NULL, 32776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf707d000
mmap2(0xf7084000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xf7084000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libvorbis.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 %\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=173800, ...}) = 0
mmap2(NULL, 176480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf7051000
mmap2(0xf707b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29000) = 0xf707b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libvorbisenc.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0Pl\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=566744, ...}) = 0
mmap2(NULL, 569424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6fc5000
mmap2(0xf703f000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x79000) = 0xf703f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libXau.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\v\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9660, ...}) = 0
mmap2(NULL, 12440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6fc1000
mmap2(0xf6fc3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xf6fc3000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libXdmcp.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\16\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=21964, ...}) = 0
mmap2(NULL, 24696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6fba000
mmap2(0xf6fbf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xf6fbf000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libbsd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260$\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=108120, ...}) = 0
mmap2(NULL, 113900, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6f9e000
mprotect(0xf6fb7000, 4096, PROT_NONE)   = 0
mmap2(0xf6fb8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19000) = 0xf6fb8000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\17\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=18092, ...}) = 0
mmap2(NULL, 20688, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6f98000
mmap2(0xf6f9c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xf6f9c000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libXext.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p(\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=80252, ...}) = 0
mmap2(NULL, 83308, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6f83000
mmap2(0xf6f96000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0xf6f96000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/libXi.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\31\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=71288, ...}) = 0
mmap2(NULL, 74116, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6f70000
mmap2(0xf6f81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xf6f81000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0PQ\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=174352, ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6f6e000
mmap2(NULL, 183964, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6f41000
mmap2(0xf6f6b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29000) = 0xf6f6b000
mmap2(0xf6f6d000, 3740, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf6f6d000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200#\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=173832, ...}) = 0
mmap2(NULL, 176456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6f15000
mmap2(0xf6f3f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29000) = 0xf6f3f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i386-linux-gnu/liblz4.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\32\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=71184, ...}) = 0
mmap2(NULL, 73896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6f02000
mmap2(0xf6f13000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xf6f13000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libgcrypt.so.20", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pW\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=842884, ...}) = 0
mmap2(NULL, 846300, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6e33000
mprotect(0xf6efd000, 4096, PROT_NONE)   = 0
mmap2(0xf6efe000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xca000) = 0xf6efe000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240 \0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=116312, ...}) = 0
mmap2(NULL, 119380, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6e15000
mmap2(0xf6e31000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0xf6e31000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0201\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=96128, ...}) = 0
mmap2(NULL, 104392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6dfb000
mmap2(0xf6e11000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0xf6e11000
mmap2(0xf6e13000, 6088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf6e13000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220&\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=83808, ...}) = 0
mmap2(NULL, 96232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6de3000
mmap2(0xf6df7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0xf6df7000
mmap2(0xf6df9000, 6120, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf6df9000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\17\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=488756, ...}) = 0
mmap2(NULL, 491704, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6d6a000
mmap2(0xf6de1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x76000) = 0xf6de1000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i386-linux-gnu/libgpg-error.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \36\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=87432, ...}) = 0
mmap2(NULL, 90200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xf6d53000
mprotect(0xf6d67000, 4096, PROT_NONE)   = 0
mmap2(0xf6d68000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0xf6d68000
close(3)                                = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6d51000
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf6d4f000
set_thread_area({entry_number:-1, base_addr:0xf6d4fa40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 (entry_number:12)
mprotect(0xf7545000, 8192, PROT_READ)   = 0
mprotect(0xf6d68000, 4096, PROT_READ)   = 0
mprotect(0xf75c9000, 4096, PROT_READ)   = 0
mprotect(0xf6de1000, 4096, PROT_READ)   = 0
mprotect(0xf6df7000, 4096, PROT_READ)   = 0
mprotect(0xf6e11000, 4096, PROT_READ)   = 0
mprotect(0xf6e31000, 4096, PROT_READ)   = 0
mprotect(0xf6efe000, 4096, PROT_READ)   = 0
mprotect(0xf6f13000, 4096, PROT_READ)   = 0
mprotect(0xf75a5000, 4096, PROT_READ)   = 0
mprotect(0xf6f3f000, 4096, PROT_READ)   = 0
mprotect(0xf6f6b000, 4096, PROT_READ)   = 0
mprotect(0xf6fc3000, 4096, PROT_READ)   = 0
mprotect(0xf75ae000, 4096, PROT_READ)   = 0
mprotect(0xf6fb8000, 4096, PROT_READ)   = 0
mprotect(0xf6fbf000, 4096, PROT_READ)   = 0
mprotect(0xf71e4000, 4096, PROT_READ)   = 0
mprotect(0xf7330000, 4096, PROT_READ)   = 0
mprotect(0xf6f96000, 4096, PROT_READ)   = 0
mprotect(0xf6f81000, 4096, PROT_READ)   = 0
mprotect(0xf6f9c000, 4096, PROT_READ)   = 0
mprotect(0xf7084000, 4096, PROT_READ)   = 0
mprotect(0xf75a0000, 4096, PROT_READ)   = 0
mprotect(0xf707b000, 4096, PROT_READ)   = 0
mprotect(0xf703f000, 69632, PROT_READ)  = 0
mprotect(0xf70e3000, 4096, PROT_READ)   = 0
mprotect(0xf70ec000, 4096, PROT_READ)   = 0
mprotect(0xf70f7000, 4096, PROT_READ)   = 0
mprotect(0xf7188000, 8192, PROT_READ)   = 0
mprotect(0xf7191000, 4096, PROT_READ)   = 0
mprotect(0xf71b6000, 4096, PROT_READ)   = 0
mprotect(0xf719b000, 4096, PROT_READ)   = 0
mprotect(0xf7335000, 4096, PROT_READ)   = 0
mprotect(0xf7391000, 4096, PROT_READ)   = 0
mprotect(0xf75d1000, 4096, PROT_READ)   = 0
mprotect(0xf765b000, 8192, PROT_READ)   = 0
mprotect(0xf76ed000, 4096, PROT_READ)   = 0
mprotect(0xf7747000, 4096, PROT_READ)   = 0
mprotect(0x5656c000, 4096, PROT_READ)   = 0
mprotect(0xf7779000, 4096, PROT_READ)   = 0
munmap(0xf7749000, 22679)               = 0
set_tid_address(0xf6d4faa8)             = 637
set_robust_list(0xf6d4fab0, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xf75b4a10, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xf75b4aa0, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sysname="Linux", nodename="smiles", ...}) = 0
brk(NULL)                               = 0x58214000
brk(0x58235000)                         = 0x58235000
statfs("/sys/fs/selinux", 0xffe1d984)   = -1 ENOENT (No such file or directory)
statfs("/selinux", 0xffe1d984)          = -1 ENOENT (No such file or directory)
open("/proc/filesystems", O_RDONLY)     = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 380
read(3, "", 1024)                       = 0
close(3)                                = 0
access("/etc/selinux/config", F_OK)     = -1 ENOENT (No such file or directory)
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_LARGEFILE|O_CLOEXEC) = 3
fcntl64(3, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
dup2(3, 0)                              = 0
close(3)                                = 0
open("/usr/lib/i386-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26256, ...}) = 0
mmap2(NULL, 26256, PROT_READ, MAP_SHARED, 3, 0) = 0xf6d48000
close(3)                                = 0
futex(0xf7547fc4, FUTEX_WAKE_PRIVATE, 2147483647) = 0
pipe2([3, 4], O_CLOEXEC)                = 0
fcntl64(3, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
fcntl64(4, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
fcntl64(3, F_GETFL)                     = 0 (flags O_RDONLY)
fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl64(4, F_GETFL)                     = 0x1 (flags O_WRONLY)
fcntl64(4, F_SETFL, O_WRONLY|O_NONBLOCK) = 0
pipe2([5, 6], O_CLOEXEC)                = 0
fcntl64(5, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
fcntl64(6, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
fcntl64(5, F_GETFL)                     = 0 (flags O_RDONLY)
fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl64(6, F_GETFL)                     = 0x1 (flags O_WRONLY)
fcntl64(6, F_SETFL, O_WRONLY|O_NONBLOCK) = 0
send(4, "W", 1, MSG_NOSIGNAL)           = -1 ENOTSOCK (Socket operation on non-socket)
write(4, "W", 1)                        = 1
rt_sigaction(SIGINT, {sa_handler=0xf770ddd0, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0xf770ddd0, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=0xf770ddd0, sa_mask=[], sa_flags=SA_RESTART}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGPIPE, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, NULL, 8) = 0
write(4, "W", 1)                        = 1
getpid()                                = 637
getpid()                                = 637
open("/root/.pulse/client.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/root/.config/pulse/client.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/pulse/client.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 7
fcntl64(7, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
readlink("/proc/self/exe", "/usr/bin/pacat", 99) = 14
fstat64(7, {st_mode=S_IFREG|0644, st_size=252, ...}) = 0
read(7, "# Connect to the host's server u"..., 4096) = 252
read(7, "", 4096)                       = 0
open("/etc/pulse/client.conf.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
close(7)                                = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 7
connect(7, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
getpeername(7, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X0"}, [124->20]) = 0
uname({sysname="Linux", nodename="smiles", ...}) = 0
access("/root/.Xauthority", R_OK)       = -1 ENOENT (No such file or directory)
fcntl64(7, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(7, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{iov_base="l\0\v\0\0\0\0\0\0\0\0\0", iov_len=12}, {iov_base="", iov_len=0}], 2) = 12
recv(7, 0x582157e8, 8, 0)               = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=7, events=POLLIN}], 1, -1)    = 1 ([{fd=7, revents=POLLIN}])
recv(7, "\0\26\v\0\0\0\6\0", 8, 0)      = 8
recv(7, "No protocol specified\n\0\0", 24, 0) = 24
write(2, "No protocol specified\n", 22No protocol specified
) = 22
shutdown(7, SHUT_RDWR)                  = 0
close(7)                                = 0
write(2, "xcb_connection_has_error() retur"..., 41xcb_connection_has_error() returned true
) = 41
mmap2(NULL, 67108864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf2d48000
futex(0xffe1d74c, FUTEX_UNLOCK_PI)      = -1 EPERM (Operation not permitted)
getpid()                                = 637
getpid()                                = 637
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 7
fcntl64(7, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
setsockopt(7, SOL_SOCKET, SO_PRIORITY, [6], 4) = 0
fcntl64(7, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(7, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(7, {sa_family=AF_UNIX, sun_path="/run/user/1000/pulse/native"}, 110) = 0
write(4, "W", 1)                        = 1
write(4, "W", 1)                        = 1
read(3, "WWWW", 10)                     = 4
getsockopt(7, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
fcntl64(7, F_GETFL)                     = 0x802 (flags O_RDWR|O_NONBLOCK)
write(4, "W", 1)                        = 1
write(4, "W", 1)                        = 1
setsockopt(7, SOL_SOCKET, SO_RCVBUF, [65496], 4) = 0
setsockopt(7, SOL_SOCKET, SO_SNDBUF, [65496], 4) = 0
open("/root/.config/pulse/cookie", O_RDONLY|O_NOCTTY|O_LARGEFILE|O_CLOEXEC) = 8
fcntl64(8, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
fcntl64(8, F_SETLKW64, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = -1 EBADF (Bad file descriptor)
fcntl64(8, F_SETLKW64, {l_type=F_RDLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
read(8, "-\3471\21\243\t\33L%\276{&`F\22\177\10g\364\346\276\30\2248\325\n\354\303\6\355\253\227"..., 256) = 256
fcntl64(8, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
close(8)                                = 0
getsockname(7, {sa_family=AF_UNIX}, [256->2]) = 0
setsockopt(7, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
getuid32()                              = 0
getgid32()                              = 0
write(4, "W", 1)                        = 1
write(4, "W", 1)                        = 1
read(3, "WWWW", 10)                     = 4
read(3, 0xffe1d7e2, 10)                 = -1 EAGAIN (Resource temporarily unavailable)
ppoll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN|POLLOUT}, {fd=0, events=POLLIN}, {fd=5, events=POLLIN}], 4, {tv_sec=29, tv_nsec=999937000}, NULL, 8) = 2 ([{fd=7, revents=POLLOUT}, {fd=0, revents=POLLIN}], left {tv_sec=29, tv_nsec=999935973})
write(4, "W", 1)                        = 1
getpid()                                = 637
sendmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\0\1\24\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=20}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=637, uid=0, gid=0}}], msg_controllen=24, msg_flags=0}, MSG_NOSIGNAL) = 20
write(4, "W", 1)                        = 1
write(4, "W", 1)                        = 1
read(3, "WWW", 10)                      = 3
ppoll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN|POLLOUT}, {fd=0, events=0}, {fd=5, events=POLLIN}], 4, {tv_sec=29, tv_nsec=999789000}, NULL, 8) = 1 ([{fd=7, revents=POLLOUT}], left {tv_sec=29, tv_nsec=999788018})
write(4, "W", 1)                        = 1
send(7, "L\0\0\0\10L\0\0\0\0L@\0\0 x\0\0\1\0-\3471\21\243\t\33L%\276{&"..., 276, MSG_NOSIGNAL) = 276
read(3, "W", 10)                        = 1
ppoll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=0, events=0}, {fd=5, events=POLLIN}], 4, {tv_sec=29, tv_nsec=999676000}, NULL, 8) = 1 ([{fd=7, revents=POLLIN}], left {tv_sec=29, tv_nsec=999658359})
write(4, "W", 1)                        = 1
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\0\0\17\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=20}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=0, uid=1000, gid=1000}}], msg_controllen=24, msg_flags=0}, 0) = 20
write(4, "W", 1)                        = 1
read(3, "WW", 10)                       = 2
ppoll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=0, events=0}, {fd=5, events=POLLIN}], 4, {tv_sec=29, tv_nsec=999512000}, NULL, 8) = 1 ([{fd=7, revents=POLLIN}], left {tv_sec=29, tv_nsec=999511044})
write(4, "W", 1)                        = 1
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="L\0\0\0\0L\0\0\0\0L\0\0\0\1", iov_len=15}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=0, uid=1000, gid=1000}}], msg_controllen=24, msg_flags=0}, 0) = 15
write(4, "W", 1)                        = 1
write(2, "Connection failure: Access denie"..., 34Connection failure: Access denied
) = 34
write(4, "W", 1)                        = 1
write(4, "W", 1)                        = 1
close(7)                                = 0
munmap(0xf2d48000, 67108864)            = 0
write(4, "W", 1)                        = 1
rt_sigaction(SIGUSR1, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, NULL, 8) = 0
write(4, "W", 1)                        = 1
close(5)                                = 0
close(6)                                = 0
close(3)                                = 0
close(4)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++

The pulseaudio daemon is refusing the connection (strace witnesses communication between the container and the daemon).
On the host, before starting the docker, you can try doing:

pulseaudio -k && pulseaudio -vvvv

then start the docker in another terminal. You should see some debug happening in the former window; with hopefully some reason of the connection deny.

Here is what pulseaudio -vvvv prints when I run pacat /dev/urandom in the container:

I: [pulseaudio] client.c: Created 6 "Native client (UNIX socket client)"
D: [pulseaudio] protocol-native.c: Protocol version: remote 32, local 32
I: [pulseaudio] protocol-native.c: Got credentials: uid=0 gid=0 success=0
W: [pulseaudio] protocol-native.c: Denied access to client with invalid authentication data.
I: [pulseaudio] client.c: Freed 6 "Native client (UNIX socket client)"
I: [pulseaudio] protocol-native.c: Connection died.

Ok, it complains that the user is not the right one (root).
In the docker, try doing su - wine before doing the pacat command.

Alright, doing pacat as wine user actually works. Sorry for long delay.

Wait what? Now the test sound button in winecfg works. It used to not be working. HMMMMMMM

By default doing pacat from the container doesn't work. However if I do pulseaudio -k on the host system, pulseaudio gets restarted by something, and after it's restarted, pacat from the container works. Here is what gets printed in journalctl when pulseaudio is killed and restarted:

Feb 26 02:33:15 purrey rtkit-daemon[667]: Successfully made thread 2856 of process 2856 (n/a) owned by '1000' high priority at nice level -11.
Feb 26 02:33:15 purrey rtkit-daemon[667]: Supervising 1 threads of 1 processes of 1 users.
Feb 26 02:33:21 purrey rtkit-daemon[667]: Supervising 1 threads of 1 processes of 1 users.
Feb 26 02:33:21 purrey rtkit-daemon[667]: Successfully made thread 2859 of process 2856 (n/a) owned by '1000' RT at priority 5.
Feb 26 02:33:21 purrey rtkit-daemon[667]: Supervising 2 threads of 1 processes of 1 users.
Feb 26 02:33:21 purrey rtkit-daemon[667]: Supervising 2 threads of 1 processes of 1 users.
Feb 26 02:33:21 purrey rtkit-daemon[667]: Successfully made thread 2860 of process 2856 (n/a) owned by '1000' RT at priority 5.
Feb 26 02:33:21 purrey rtkit-daemon[667]: Supervising 3 threads of 1 processes of 1 users.
Feb 26 02:33:23 purrey pulseaudio[2856]: [pulseaudio] source.c: Default and alternate sample rates are the same.
Feb 26 02:33:23 purrey rtkit-daemon[667]: Supervising 3 threads of 1 processes of 1 users.
Feb 26 02:33:23 purrey rtkit-daemon[667]: Successfully made thread 2861 of process 2856 (n/a) owned by '1000' RT at priority 5.
Feb 26 02:33:23 purrey rtkit-daemon[667]: Supervising 4 threads of 1 processes of 1 users.

It took a bit longer than expected but as of today all patches necessary for MTGO to have sound have been accepted to WINE mainline and will be released with 3.7 release in a week.

Also, just to leave it here: since WMP implementation in wine is using internally wine's gstreamer wrapper for playback which is considered to have bugs here and there ... if you happen to have those please open a bug on WINE bugzilla and link those to MTGO's appdb entry so that I can take a look when possible.

Either case - it may be usefull to add a script to disable sound for MTGO. Setting wmp dll entry to disable should do it.

I've updated the panard/mtgo:sound docker image to give a try with sound.
Please try using

./run-mtgo --sound --update

(you may have to download again the run-mtgo script).

If no sounds outputs, try again doing pulseaudio -k before.

Let me know if that works...

I've tried running:

$ pulseaudio -k
$ sudo ./run-mtgo --sound --update
PulseAudio does not seem active (/run/user/0/pulse/native not found)

You should probably do pulseaudio --start just after the -k.

any plans to enable sound on MacOS?

Yes, see issue #29 ; I'll try to do it next weekend, but I will need testers as I have no mac.

I am also having an issue with no sound in mtgo.

I ran pulseaudio -k and --start and I do get sound when using winecfg sound test app.
However, there are no sounds in the client itself.
====== MTGO.exe has started. 005e:err:wgl:init_opengl Failed to load libGL: libGL.so.1: cannot open shared object file: No such file or directory 005e:err:wgl:init_opengl OpenGL support is disabled. 005d:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Foundation.Diagnostics.AsyncCausalityTracer" 005b:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733 005b:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733 005b:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733 005b:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733 0066:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733 0066:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733 006e:err:quartz:GetClassMediaFile Media class not found 006e:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably won't work. 007a:err:gstreamer:push_data Sending returned: -2 006a:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.

Indeed, sound stopped working for me as well in MTGO (but test sound in Wine works).
The errors seems related to 0065:err:quartz:GetClassMediaFile Media class not found...
@theli-ua is it still working out of docker with pulseaudio and wine 3.13?

@pauleve it did work last week afair. I currently don't can't test but should be able to in couple days

it still works for me with wine-3.13

you may also try and see if it behaves better for you with (a combination of) native wmp, quartz. xact

note: I've tested with my mtgo specific prefix, with nothing but
winetricks dotnet462 corefonts
windows 7
and the only overriden library is mscoree (from dotnet)

tested with both vanilla and staging 3.13

Got it working again (try ./run-mtgo --sound --update to get latest image) ; for some reason the volume was very low..
@johnmain @poppa-f let me know if it improved things on your side.
Also notice that from time to time wine will crash at startup with a message

gstreamer ERROR: Caught a segmentation fault while loading plugin file:
(random gst plugin file)

Re-trying usually does the job..

@pauleve
I am still getting no sound.
get the following Error in the console
0063:err:ole:CoGetClassObject no class object {6bf52a52-394a-11d3-b153-00c04f79faa6} could be created for context 0x1
0063:err:ole:COMPOBJ_DllList_Add couldn't load in-process dll L"C:\windows\system32\wmp.dll"

I have wiped out my Docker images and downloading completely fresh.
See if that helps.

yes that worked.
Thanks

Great. I'm closing this issue for Linux, please open a new one in case of trouble with the full output of run-mtgo command.