Steam for Linux

Steam for Linux

Debian + AMD fglrx
Hello Everybody,

I recently changed from a nvidia card to an amd one.

my nvidia steam setup was working fine but now, with debian provided fglrx drivers, the steam launcher segfault at launch
(from a fresh install with ~/.steam & ~/.local/shared/Steam purged completely).

Info:
$cat /etc/debian_version
7.4

Repos:
stable main contrib non-free
testing main contrib non-free
sid main contrib non-free

Triple screen (without xinerama)

---

example mdmp :
file ''/tmp/dumps/assert_20150227234411_1.dmp'', upload yes: ''CrashID=bp-04747723-4c5b-4c5d-97c8-2f90d2150227''

---
sudo dpkg -l | grep fglrx | tr -s ' ' | cut -d' ' -f2,3,4|tr ' ' ';'
fglrx-atieventsd;1:14.9+ga14.201-2;amd64
fglrx-control;1:14.9+ga14.201-2;amd64
fglrx-driver;1:14.9+ga14.201-2;amd64
fglrx-modules-dkms;1:14.9+ga14.201-2;amd64
fglrx-source;1:14.9+ga14.201-2;amd64
glx-alternative-fglrx;0.5.1;amd64
libfglrx:amd64;1:14.9+ga14.201-2;amd64
libfglrx:i386;1:14.9+ga14.201-2;i386
libfglrx-amdxvba1:amd64;1:14.9+ga14.201-2;amd64
libfglrx-amdxvba1:i386;1:14.9+ga14.201-2;i386
libfglrx-legacy:amd64;8.97.100.7-5;amd64
libfglrx-legacy-amdxvba1:amd64;8.97.100.7-5;amd64
libgl1-fglrx-glx:amd64;1:14.9+ga14.201-2;amd64
libgl1-fglrx-glx:i386;1:14.9+ga14.201-2;i386
libgl1-fglrx-glx-i386;1:14.9+ga14.201-2;i386
libgl1-fglrx-legacy-glx:amd64;8.97.100.7-5;amd64
xvba-va-driver;0.8.0-9;amd64

---
glxinfo (removed details, can provide)
display: :0 screen: [0-2]
direct rendering: Yes
server glx vendor string: ATI
server glx version string: 1.4
---
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon R9 200 Series
OpenGL core profile version string: 4.3.12968 Core Profile Context 14.201.1006.1002
OpenGL core profile shading language version string: 4.40
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
---
OpenGL version string: 4.4.12968 Compatibility Profile Context 14.201.1006.1002
OpenGL shading language version string: 4.40
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile


Card : Saphire 290X 8G
(from lspci -v)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT [Radeon R9 290X] (prog-if 00 [VGA controller])
Subsystem: PC Partner Limited / Sapphire Technology Device e282
Flags: bus master, fast devsel, latency 0, IRQ 55
Memory at a0000000 (64-bit, prefetchable) [size=256M]
Memory at b0000000 (64-bit, prefetchable) [size=8M]
I/O ports at e000 [size=256]
Memory at f7b00000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at f7b40000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: fglrx_pci

CPU :
processor : [0-7]
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
stepping : 9
microcode : 0x17
cpu MHz : 1614.101
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips : 6999.56
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
---
Ram : 32Gb


-----
gdb ./.local/share/Steam/ubuntu12_32/steam
GNU gdb (GDB) 7.6.1 (Debian 7.6.1-1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from ~/.local/share/Steam/ubuntu12_32/steam...(no debugging symbols found)...done.
(gdb) r
Starting program: ~/.local/share/Steam/ubuntu12_32/steam
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[2015-02-27 23:40:03] Startup - updater built Feb 18 2015 15:31:44
Installing breakpad exception handler for appid(steam)/version(1424305157)
[New Thread 0xf45f3b40 (LWP 27191)]
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[New Thread 0xf3a7db40 (LWP 27192)]
Installing breakpad exception handler for appid(steam)/version(1424305157)
[2015-02-27 23:40:04] Checking for update on startup
[2015-02-27 23:40:04] Checking for available updates...
[New Thread 0xf37ffb40 (LWP 27193)]
Installing breakpad exception handler for appid(steam)/version(1424305157)
[2015-02-27 23:40:04] Download skipped: /client/steam_client_ubuntu12 version 1424305157, installed version 1424305157
[2015-02-27 23:40:04] Nothing to do
[2015-02-27 23:40:04] Verifying installation...
[2015-02-27 23:40:04] Performing checksum verification of executable files
[2015-02-27 23:40:05] Verification complete
[Thread 0xf45f3b40 (LWP 27191) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xf4ef700c in ?? () from /usr/lib/i386-linux-gnu/libatiadlxx.so
#2 0xf7e84393 in XCloseDisplay () from /usr/lib/i386-linux-gnu/libX11.so.6
#3 0xf6e747fc in ?? () from /usr/lib/i386-linux-gnu/dri/fglrx_dri.so
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) q

---

any idea what's wrong ?
< >
Showing 1-5 of 5 comments
Did you try the mesa drivers for gaming? http://www.phoronix.com/scan.php?page=news_item&px=MTc2MTQ I use mesa (gallium3D) on an apu system and am surprised how well they work for my steam linux library on Ubuntu 14.10

To try and get proprietary drivers and steam working the main complaint from gdb is
warning: Could not load shared library symbols for linux-gate.so.1.
You could try advice/suggestion given in this wiki. https://wiki.archlinux.org/index.php/steam#Steam_runtime_issues
Which is basicaly remove the steamrt opengl libraries to force system libraries to be used. Do not worry about breaking steam as if no usable library is found steam will verify install and redownload the libraries you removed.

How did you install steam; from Steam website or using debian repos? You will have better luck using installer from debian repos. Do not use the steam websites .deb! - unless you are running the only officialy supported Ubuntu 12.04 *WHICH IS THE ISSUE* i.e. steamrt is packaged and built for Ubuntu 12.04
https://support.steampowered.com/kb_article.php?ref=1504-QHXN-8366
Originally posted by 40-1PvtBalderick:
Did you try the mesa drivers for gaming? http://www.phoronix.com/scan.php?page=news_item&px=MTc2MTQ I use mesa (gallium3D) on an apu system and am surprised how well they work for my steam linux library on Ubuntu 14.10

will give it a try

Originally posted by 40-1PvtBalderick:
How did you install steam; from Steam website or using debian repos? You will have better luck using installer from debian repos. Do not use the steam websites .deb! - unless you are running the only officialy supported Ubuntu 12.04 *WHICH IS THE ISSUE* i.e. steamrt is packaged and built for Ubuntu 12.04
https://support.steampowered.com/kb_article.php?ref=1504-QHXN-8366

was running the website one, removed it and replaced with the debian provided one.

it updates and dl the packages but something screws up anyway :
[2015-02-28 00:39:04] Downloading update (207,392 of 207,392 KB)...
[2015-02-28 00:39:04] Download Complete.
[2015-02-28 00:39:04] uninstalled manifest found in /home/jg/.steam/package/steam_client_ubuntu12 (1).
[2015-02-28 00:39:04] Extracting package...
[2015-02-28 00:39:12] Installing update...
[2015-02-28 00:39:13] Cleaning up...
[2015-02-28 00:39:13] Update complete, launching...
[2015-02-28 00:39:13] Shutdown
=>Segmentation fault
Running Steam on debian 7 64-bit
STEAM_RUNTIME is enabled automatically
[2015-02-28 00:39:19] Startup - updater built Feb 18 2015 15:31:44
[2015-02-28 00:39:19] Verifying installation...
[2015-02-28 00:39:19] Verification complete

if i run it afterwards the laucher kinda "launches" and ... nothing, just says

Running Steam on debian 7 64-bit
STEAM_RUNTIME is enabled automatically
[2015-02-28 00:39:53] Startup - updater built Feb 18 2015 15:31:44
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2015-02-28 00:39:53] Checking for update on startup
[2015-02-28 00:39:53] Checking for available updates...
[2015-02-28 00:39:54] Download skipped: /client/steam_client_ubuntu12 version 1424305157, installed version 1424305157
[2015-02-28 00:39:54] Nothing to do
[2015-02-28 00:39:54] Verifying installation...
[2015-02-28 00:39:54] Performing checksum verification of executable files
[2015-02-28 00:39:54] Verification complete

and does nothing... no steam launched
so... after a little exploration :

the debian shell script was hiding stderr:

# launch the Valve run script
test -x $config/steam.sh && $config/steam.sh "$@" &2> tee $config/error.log

became
# launch the Valve run script
test -x $config/steam.sh && $config/steam.sh "$@" 3>&1 1>&2 2>&3 |tee $config/error.log

and it segfaults like the install from website
(you can see the difference in the fact that the debian flavored launches from .steam while the website ones does from .local):

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xf4ef700c in ?? () from /usr/lib/i386-linux-gnu/libatiadlxx.so
#2 0xf7e84393 in XCloseDisplay () from /usr/lib/i386-linux-gnu/libX11.so.6
#3 0xf6e747fc in ?? () from /usr/lib/i386-linux-gnu/dri/fglrx_dri.so
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


looks like https://github.com/ValveSoftware/steam-for-linux/issues/2517

can't remove all that is xinerama related... fglrx uses the lib...

You'll have better luck moving the base system to Jessie.

https://wiki.debian.org/Steam
so, after a full reinstall, a few days under radeon
(with steam launching, no display but working sound on dying light)

i'm at it again, patched the amd (not the packaged driver) to compile against kernel 3.19 (basically 2 functions that changed name in the kernel and a branch of old, non relevant after 3.17 ),
fglrx running on the box, acceleration available but still no dice, steam dies on launch

same old crash in gdb:

bt
#0 0x00000000 in ?? ()
#1 0xf4ecc58c in CloseAmdDisplay(_XDisplay*, XExtCodes*) () from /usr/lib/i386-linux-gnu/libatiadlxx.so
#2 0xf7e75591 in XCloseDisplay () from /usr/lib/i386-linux-gnu/libX11.so.6
#3 0xf6ebfce0 in ?? () from /usr/X11R6/lib/modules/dri/fglrx_dri.so
< >
Showing 1-5 of 5 comments
Per page: 1530 50