Join us on our own very special Reddit: /r/Linuxers
Butcher (GOG): Wrong Audio Device and Input Lag
iskaputt 10 Dec, 2016

For some reason, Butcher uses /dev/snd/pcmC2D0 for audio instead of /dev/snd/pcmC0D0. My headphones are connected to the latter and every other program (of the ones I use) uses this for output.

Now Butcher is a Unity game, but doesn't have an option for audio device selection in game. Is there a general Unity option for the playerprefs file?

Second issue I have is input lag. Super annoying. I know that the game is locked at 60 fps, but not sure if via VSYNC or otherwise. Starting with `vblank_mode=0` doesn't help. Again, is there a general Unity option that I can put into the playerprefs file for this?

stan 10 Dec, 2016
  • Supporter

I’ve had success unlocking the frame rate on Tulpa, a Unity3D game which is by default locked to 30 FPS, using a modified version of libstrangle.

iskaputt 12 Dec, 2016

Thanks, finally tried it this evening but I had trouble compiling it properly.

symbol lookup error: /home/c/source/libstrangle/libstrangle64.so: undefined symbol: glXSwapIntervalEXT

I put `-lGL` for gcc, but the thing is, `glXSwapIntervalEXT` is not defined in my `/usr/include/GL/glext.h`. According to some quick searching, I need the EXT_swap_control extension. Didn't look much further yet, will check this tomorrow.

stan 13 Dec, 2016
  • Supporter

Ah, I assumed the glXSwapIntervalEXT() function would be standard… I use the nvidia blob. No idea how to make it work for other drivers.

stan 13 Dec, 2016
  • Supporter

There’s apparently a bug on Ubuntu that may cause glXSwapIntervalEXT() not to be found: https://github.com/nvpro-samples/gl_vk_chopper/issues/6#issuecomment-188694594

iskaputt 13 Dec, 2016

Ok, my fault, I actually looked in the wrong header file. `/usr/include/GL/glext.h` instead of `glxext.h`. It is there.

Now how to include this beast. Did you change anything in the makefile? I grepped /usr/include/ for `#include <GL/glxext.h>` and it was present in `cairo-gl.h`, so I did `pkg-config --libs cairo-gl` which yielded `-lcairo -lGL`.

My gcc looks like this:

gcc -rdynamic -fPIC -D_GNU_SOURCE -shared -Wall -std=c99 -Wl,-z,relro,-z,now -m64 -lcairo -lGL -o libstrangle64.so libstrangle.c

Still undefined :( There gotta be something I'm doing wrong.

stan 13 Dec, 2016
  • Supporter

No, I didn’t change anything in the makefile. Just "make" should do the job, although the person who first mentionned libstrangle here said they had to add "-ldl".

stan 13 Dec, 2016
  • Supporter

Maybe -lGLX?

iskaputt 13 Dec, 2016

Sadly, neither did work. I think that I don't have a vendor specific glx library.

Did a bit more looking around, found that my machine loads the xorg `libglx.so`. From Xorg.0.log:

[ 14500.792] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so

So I looked at the included symbols

`nm -D /usr/lib/xorg/modules/extensions/libglx.so`

but there was no `glXSwapIntervalEXT`.

For the record, I'm using radeonsi. Did another quick 'libglx.so radeonsi' search but haven't found anything yet. Will look into it some more tomorrow, if I have the time.

wolfyrion 14 Dec, 2016

About any audio issues I have I just use Pavucontrol..

This amazing tool it gives you the option for every single audio stream to make it stream to your preferred device and it keeps your preferred option forever unless you change it again.
You have to use Pulseaudio for that.


Most of the unity games save their configuration preferences on this path for example
/home/<your username>/.config/unity3d/<company name>/<game name>

I dont own the game yet so I cant help you much...

While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.

Livestreams & Videos
Community Livestreams
Latest Forum Posts