That's what I thought too: "Some steam stuff going wrong on a 64bit system" but I think I found a rather profane bug with openCL, as you assumed from the beginning. (again, I don't really know what's actually going on).
Workaround:
Place a softlink
ln -s /usr/lib/libOpenCL.so.1 '/home/<USERNAME>/.local/share/Steam/SteamApps/common/Universe Sandbox 2/Universe Sandbox_Data/Plugins/x86/liblibOpenCL.so.so'
After that the game starts.
Solution Process:
I traced what the Program was doing with strace
cd /home/michael/.local/share/Steam/SteamApps/common/Universe Sandbox 2/
strace -o ~/Downloads/strace_us2_2.txt ./"Universe Sandbox.x32"
the end of that log (attached) looked like this:
[...]
gettimeofday({1410389695, 561412}, NULL) = 0
gettimeofday({1410389695, 561555}, NULL) = 0
stat64("/home/michael/.local/share/Steam/SteamApps/common/Universe Sandbox 2/Universe Sandbox_Data/Plugins/x86", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/home/michael/.local/share/Steam/SteamApps/common/Universe Sandbox 2/Universe Sandbox_Data/Plugins/x86/liblibOpenCL.so.so", 0xffe8e080) = -1 ENOENT (No such file or directory)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1} ---
sigreturn() (mask []) = 1
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1} ---
sigreturn() (mask []) = 1
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1} ---
sigreturn() (mask []) = 1
[...]And so on, SIGSEGV galore.
Now
stat64("/home/michael/.local/share/Steam/SteamApps/common/Universe Sandbox 2/Universe Sandbox_Data/Plugins/x86/liblibOpenCL.so.so", 0xffe8e080) = -1 ENOENT (No such file or directory)looks like a typo, and libOpenCL.so isn't there anyways, so I linked it and that worked.
Now I have no text inside the running application, but that's for another day