Steamuxulation redux

Now that it finally works again (the client works like a charm!) and I finally wanted to play CS:GO, I have the following issue with that:
The framerate is so low that it is unplayable, so googeling suggested to disable the multicore setting in the advanced video settings. I tried that and then suddenly the game was pretty fast. But the effect does not persist when the map is changed. After a map change it becomes very slow and unplayable again, although in the settings it is till on "disabled". The behaviour is like this:

When I play the map "Dust II" for the first time, the game (usually) runs normal/fast. After a match and a reload of the map, sometimes it remains fast, sometimes not. Most of the times after the third reload the framerate drops to unplayable again. I don't understand this phenomenon.

TF2: Secure servers still don't work. Any news on that?
 
When I play the map "Dust II" for the first time, the game (usually) runs normal/fast. After a match and a reload of the map, sometimes it remains fast, sometimes not. Most of the times after the third reload the framerate drops to unplayable again. I don't understand this phenomenon.
Odd. As far as I can tell, nobody else has complained about this.

TF2: Secure servers still don't work. Any news on that?
Is it crashing? I don't have desire/capacity to debug non-fatal issues.
 
Odd. As far as I can tell, nobody else has complained about this.
It is odd indeed. I don't believe it has something to do with the steam-client. It looks more like an issue of the game itself, I am just posting this in case someone has heard of that, too and knows a solution.

Is it crashing? I don't have desire/capacity to debug non-fatal issues.
Yes, it is. It crashes right before loading the map and you are back to the desktop. You stated yourself a long time ago that this has to do with Steam's secure servers and that it was "under investigation". It is strange that CS:GO does not have that problem, so is that game not using secure servers or are they different to those of TF2?
 
I would like to report new findings in relation to CS:GO: The Problem explained in my comment #401 could be solved by reducing some video settings like shaders and shadows. The game now runs fast and smooth even with the multicore setting enabled.
But unfortunately, the game and the whole steam client crash eventually after several minutes. Here is one output I could get from the terminal after a crash:

Code:
311ff000-31200000 rw-p 00b41000 00:00 0
31200000-31a47000 r-xp 00000000 00:00 62613488     /usr/home/steam2/.steam/steam/ubuntu12_32/friendsui.so
31a47000-31b03000 r--p 0108c000 00:00 62613488     /usr/home/steam2/.steam/steam/ubuntu12_32/friendsui.so
31b03000-31b08000 rw-p 01148000 00:00 62613488     /usr/home/steam2/.steam/steam/ubuntu12_32/friendsui.so
31b08000-31b1b000 rw-p 00000000 00:00 0
31c00000-31f3e000 r-xp 00000000 00:00 62613481     /usr/home/steam2/.steam/steam/ubuntu12_32/serverbrowser.so
31f3e000-31f92000 r--p 0067a000 00:00 62613481     /usr/home/steam2/.steam/steam/ubuntu12_32/serverbrowser.so
31f92000-31f93000 rw-p 006ce000 00:00 62613481     /usr/home/steam2/.steam/steam/ubuntu12_32/serverbrowser.so
31f93000-3239d000 rw-p 00000000 00:00 0
3239d000-3239e000 ---p 00000000 00:00 0
3239e000-3249e000 rw-p 0040b000 00:00 0
3249e000-32666000 rw-p 00000000 00:00 0
3269e000-32a9e000 rw-s 00000000 00:00 0
32a9e000-32a9f000 ---p 00000000 00:00 0
32a9f000-32b9f000 rw-p 00001000 00:00 0
32c00000-33151000 rw-s 00000000 00:00 15170
33151000-33551000 rw-s 00000000 00:00 0
33551000-33751000 rw-s 00000000 00:00 0
33800000-33d58000 rw-s 00000000 00:00 15500
33e00000-33e99000 rw-p 00000000 00:00 0
33e99000-33e9a000 rw-p 00000000 00:00 0
33e9a000-33ea2000 rw-p 00001000 00:00 0
33ea2000-33ea6000 rw-p 00009000 00:00 0
33ea6000-33ee6000 rw-p 0000d000 00:00 0
33ee6000-33eee000 rw-p 0004d000 00:00 0
33eee000-33efe000 rw-p 00055000 00:00 0
33efe000-33f01000 ---p 00065000 00:00 0
33f01000-34001000 rw-p 001a9000 00:00 0
34001000-34002000 ---p 00000000 00:00 0
34002000-34102000 rw-p 00001000 00:00 0
34102000-34103000 ---p 00000000 00:00 0
34103000-34203000 rw-p 00000000 00:00 0
34300000-34500000 rw-p 00000000 00:00 0
34500000-34501000 ---p 00000000 00:00 0
34501000-34601000 rw-p 00001000 00:00 0
34a00000-34b00000 rw-p 00000000 00:00 0
34e00000-34e6d000 rw-p 00000000 00:00 0
34e6d000-34f00000 ---p 00000000 00:00 0
34f00000-35100000 rw-p 00dfe000 00:00 0
fbffe000-fffde000 ---p 00000000 00:00 0
fffde000-ffffe000 rw-p 00000000 00:00 0           [stack]
ffffe000-fffff000 r-xs 00000000 00:00 0           [vdso]
Segmentation fault
$ CCrossProcessPipe::BWrite wrote too few bytes: 32 (Broken pipe).  Continuing.
src/common/pipes.cpp (852) : fatal stalled cross-thread pipe (pipe is disconnected).
src/common/pipes.cpp (852) : fatal stalled cross-thread pipe (pipe is disconnected).
src/common/pipes.cpp (852) : Fatal assert; application exiting
src/common/pipes.cpp (852) : Fatal assert; application exiting
ExceptionHandler::GenerateDump waitpid failed:No child processes
AL lib: (EE) ALCplaybackAlsa_mixerProc: mmap commit error: Broken pipe
No minidump written, nothing to upload.
_ExitOnFatalAssert

$
 
It seems there's something going on with webrender, I'm getting a black screen with any section in the main window, anyone aware of this? Maybe I'm missing something?
 
Hello,

Steam just updated itself, and doesn't want to start now. I tried pulling latest from git, recompiling and installing, but it still doesn't launch.

Here is the error that I'm getting:

Code:
$ /opt/steam-utils/bin/steam
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
Updating Steam runtime environment...
/opt/steam-utils/lxbin/zenity: line 5: /usr/local/bin/zenity: No such file or directory
Traceback (most recent call last):
        3: from /opt/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:12:in `<main>'
        2: from /opt/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:12:in `chdir'
        1: from /opt/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:45:in `block in <main>'
/opt/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:9:in `safe_system': Command failed: "/compat/linux/bin/env PATH=\\"/opt/steam-utils/lxbin:/compat/linux/bin\\" steam-runtime/setup.sh" (RuntimeError)
Traceback (most recent call last):
        1: from /opt/steam-utils/bin/steam:138:in `<main>'
/opt/steam-utils/bin/steam:36:in `safe_system': Command failed: "/opt/steam-utils/bin/../lxbin/upgrade-steam-runtime" (RuntimeError)


Please let me know if any more info is required, hope you can help.

Thank you
 
New game coming, Big Boy Boxing, and the demo is up on steam. Similar style to the NES Punch Out game. The demo works on FreeBSD! I had to use monofix; but it works great :)
 
I'm trying to enable wine-proton with linux-steam-utils (newest version from github) and Steam segfaults on the first run after lsu-register-proton registers the emulator.

Code:
Register dump:

 EAX: 00000003   EBX: 2ce75bcc   ECX: 2ec3efa0   EDX: 00000025
 ESI: 00000025   EDI: 30f00026   EBP: 2ec3efa0   ESP: 30effe30

 EIP: 2be9edde   EFLAGS: 00010202

 CS: 0033   DS: 003b   ES: 003b   FS: 0013   GS: 001b   SS: 003b

 Trap: 00000006   Error: 00000004   OldMask: 00010000
 ESP/signal: 30effe30   CR2: 00000025

Backtrace:
/home/steam/.steam/steam/ubuntu12_32/steamclient.so(+0xe9edde)[0x2be9edde]
/home/steam/.steam/steam/ubuntu12_32/steamclient.so(+0x2b00ff)[0x2b2b00ff]
/home/steam/.steam/steam/ubuntu12_32/steamclient.so(+0x2b02f1)[0x2b2b02f1]
/home/steam/.steam/steam/ubuntu12_32/steamclient.so(+0x11c58e5)[0x2c1c58e5]
/home/steam/.steam/steam/ubuntu12_32/steamclient.so(+0x1389079)[0x2c389079]
/home/steam/.steam/steam/ubuntu12_32/libtier0_s.so(_ZN16SteamThreadTools7CThread22ThreadExceptionWrapperEPv+0x10)[0x257604d0]
/home/steam/.steam/steam/ubuntu12_32/libtier0_s.so(+0x153db)[0x2575e3db]
/home/steam/.steam/steam/ubuntu12_32/libtier0_s.so(CatchAndWriteMiniDumpExForVoidPtrFn+0x4f)[0x2575e6df]
/home/steam/.steam/steam/ubuntu12_32/libtier0_s.so(CatchAndWriteMiniDumpForVoidPtrFn+0x31)[0x2575e731]
/home/steam/.steam/steam/ubuntu12_32/libtier0_s.so(_ZN16SteamThreadTools7CThread10ThreadProcEPv+0xec)[0x25762fec]
/lib/libpthread.so.0(+0x6bbc)[0x21717bbc]
/lib/libc.so.6(clone+0x5e)[0x219b21fe]

Linux-steam works normally, I've tried some big name games for Linux that I have and they work great.
 
It crashes all the time, e.g. Steam is not working anymore.

Code:
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.                                  
[2021-11-29 01:50:08] Startup - updater built Nov 22 2021 22:06:59                                              
/tmp/dumps is not owned by us - delete and recreate                                                              
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Looks like steam didn't shutdown cleanly, scheduling immediate update check                                      
[2021-11-29 01:50:08] Using the following download hosts for Public, Realm steamglobal                          
[2021-11-29 01:50:08] 1. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, s
ource = 'update_hosts_cached.vdf'                                                                                
[2021-11-29 01:50:08] 2. https://cdn.akamai.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, sourc
e = 'update_hosts_cached.vdf'                                                                                    
[2021-11-29 01:50:08] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'ba
ked in'                                                                                                          
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
[2021-11-29 01:50:08] Checking for update on startup                                                            
[2021-11-29 01:50:08] Checking for available updates...                                                          
[2021-11-29 01:50:08] Downloading manifest: https://cdn.cloudflare.steamstatic.com/client/steam_client_ubuntu12  
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
[2021-11-29 01:50:09] Download skipped: /client/steam_client_ubuntu12 version 1637624439, installed version 16376
24439, existing pending version 0                                                                                
[2021-11-29 01:50:09] Nothing to do                                                                              
[2021-11-29 01:50:09] Verifying installation...                                                                  
[2021-11-29 01:50:09] Performing checksum verification of executable files                                      
[2021-11-29 01:50:09] Verification complete                                                                      
Loaded SDL version 2.0.17-6897280                                                                                
sh: lspci: command not found                                                                                    
[[ '/diskpool/scratch/steam/.steam/steam/ubuntu12_64/steamwebhelper.sh' '-lang=en_US' '-cachedir=/diskpool/scratc
h/steam/.steam/steam/config/htmlcache' '-steampid=17350' '-buildid=1637624439' '-steamid=0' '-logdir=/diskpool/sc
ratch/steam/.steam/steam/logs' '-composer-mode=0' '-steamuniverse=Public' '-realm=Global' '-clientui=/diskpool/sc
ratch/steam/.steam/steam/clientui' --enable-blink-features=ResizeObserver,Worklet,AudioWorklet --enable-media-str
eam --enable-smooth-scrolling --password-store=basic '--log-file=/diskpool/scratch/steam/.steam/steam/logs/cef_lo
g.txt' --disable-quick-menu --no-sandbox --in-process-gpu]]                                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
steamwebhelper.sh[17387]: Runtime for steamwebhelper: defaulting to /diskpool/scratch/steam/.steam/steam/ubuntu12
_64/steam-runtime-heavy                                                                                          
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
CAppInfoCacheReadFromDiskThread took 35 milliseconds to initialize                                              
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed                              
Warning: failed to set thread priority: set failed for priority 8                                                
Warning: support for elevated priorities is most likely unavailable, suppressing future warnings                
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed                              
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
                                                                                                                 
(steam:17350): GLib-GObject-CRITICAL **: 01:50:11.411: g_object_unref: assertion 'G_IS_OBJECT (object)' failed  
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
ExceptionHandler::GenerateDump waitpid failed:No child processes                                                
No minidump written, nothing to upload.                                                                          
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
src/clientdll/configstore.cpp (360) : GSteamEngine().IsEngineThreadRunning()                                    
src/clientdll/appdatacache.cpp (1743) : GSteamEngine().IsEngineThreadRunning()                                  
src/clientdll/appdatacache.cpp (1743) : GSteamEngine().IsEngineThreadRunning()                                  
src/common/pipes.cpp (202) : m_dwThreadID == ThreadGetCurrentId()                                                
src/common/pipes.cpp (202) : m_dwThreadID == ThreadGetCurrentId()                                                
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Installing breakpad exception handler for appid(steam)/version(1637624439)                                      
Proceed to auto login                                                                                            
*** Segmentation fault

Truss says linux_sys_futex ERESTART and a bunch of threads exiting.

After last 'breakpad' printf and crash, there's opening of a bunch of files in cycle, some of them don't succeed, like /usr/share/compatibilitytools.d , but the Proton compatibilitytool.vdf in $HOME/.steam is F_OK. There's a perpetual linux_sys_futex in ERR#-11 Resource Temporarily Unavailable, but some other futexop (0x81 vs 0x80) succeeds right after.
 
Nope, tried it on new boot this morning, linux memdrive empty on boot, and never logged in with user that I use to run steam so there was nothing tailing. Clean situation.

Same segfault
 
Some additional info

Code:
FreeBSD phobos 13.0-RELEASE-p3 FreeBSD 13.0-RELEASE-p3 #0: Tue Jun 29 19:46:20 UTC 2021     root@amd64-builder.daemonology.net:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64
[z@phobos /usr/home/z]$ kldstat
Id Refs Address                Size Name
 1   90 0xffffffff80200000  1f11ef8 kernel
 2    3 0xffffffff82112000    8f0a0 vboxdrv.ko
 3    1 0xffffffff821a2000    2a120 fusefs.ko
 4    2 0xffffffff821ce000  28bf990 nvidia.ko
 5    7 0xffffffff84a8e000    2c650 linux_common.ko
 6    3 0xffffffff84abb000    9e070 linux.ko
 7    1 0xffffffff84e00000   478910 zfs.ko
 8    1 0xffffffff84d19000     3530 fdescfs.ko
 9    1 0xffffffff84d1d000     3284 linsysfs.ko
10    1 0xffffffff84d21000     639c linprocfs.ko
11    2 0xffffffff84d28000     4240 vboxnetflt.ko
12    2 0xffffffff84d2d000     aac8 netgraph.ko
13    1 0xffffffff84d38000     31c8 ng_ether.ko
14    1 0xffffffff84d3c000     55e0 vboxnetadp.ko
15    1 0xffffffff85279000   107310 nvidia-modeset.ko
16    1 0xffffffff84d42000     3378 acpi_wmi.ko
17    1 0xffffffff84d46000     3250 ichsmb.ko
18    1 0xffffffff84d4a000     2180 smbus.ko
19    1 0xffffffff84d4d000     2340 uhid.ko
20    1 0xffffffff84d50000     4350 ums.ko
21    1 0xffffffff84d55000     3380 usbhid.ko
22    1 0xffffffff84d59000     31f8 hidbus.ko
23    1 0xffffffff84d5d000     e538 snd_uaudio.ko
24    1 0xffffffff84d6c000     3320 wmt.ko
25    1 0xffffffff84d70000    30ac8 linux64.ko
26    1 0xffffffff84da1000     2260 pty.ko
[z@phobos /usr/home/z]$ pkg info nvidia-driver wine-proton libc6-shim mesa-dri
nvidia-driver-470.74
wine-proton-6.3.2_2
libc6-shim-20210627
mesa-dri-21.1.8
[z@phobos /usr/home/z]$ glxinfo | head
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context,  
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,  
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,  
    GLX_ARB_multisample, GLX_EXT_buffer_age,  
[z@phobos /usr/home/z]$ vulkaninfo | head
==========
VULKANINFO
==========

Vulkan Instance Version: 1.2.194


Instance Extensions: count = 18
===============================
        VK_EXT_acquire_xlib_display            : extension revision 1

[z@phobos /usr/home/z]$ dmesg | grep nvidia
nvidia0: <NVIDIA GeForce GTX 960> numa-domain 0 on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  470.74  Tue Sep 14 00:47:44 UTC 2021
 
I'm running steam-linux-utils as the user steam. I'm using xhost to allow me to use Steam without switching to another X session. But I don't have a systray icon and the UI is nothing but a black screen, only Small Mode loads. Also unable to access my friends list and game properties.. :-/
 
I'm running steam-linux-utils as the user steam. I'm using xhost to allow me to use Steam without switching to another X session. But I don't have a systray icon and the UI is nothing but a black screen, only Small Mode loads. Also unable to access my friends list and game properties.. :-/

Already tried to use steam-linux-utils directly from git?
 
Already tried to use steam-linux-utils directly from git?
I had trouble running that version (it would get stuck on launching steamwebhelper and no gui would pop up) but I may have done something wrong because I had a similar problem with steam-linux-utils from ports until the latest quarterly update (I had used a September build).
 
Alright, I got the github version running but still have the same problems as before.

EDIT: Fixed by running dbus-uuidgen > /etc/machine-id , and then cp /etc/machine-id /compat/linux/etc just to be on the safe side. This fixed all of those problems. I'll leave this here for anyone else. ;)

Thx to Menelkir
 
I should probably clarify the situation with Proton 6.3-8 and CEG-protected games (Valve's own executable encryption method, which used to be reasonably popular somewhere around 2010-2015).

Looks like Valve/CodeWeavers mostly updated steam_helper and lsteamclient to support CEG, while Wine itself didn't receive any significant changes. Since we simply copy these files from the actual binary Proton distribution, it should be enough to remove the FreeBSD_Proton directory ( rm -rf ~/.steam/steam/compatibilitytools.d/FreeBSD_Proton) and run lsu-register-proton yet another time. Due to how this DRM works, it is also necessary to run Steam's game files integrity check if you mess around with wineprefix locations — on a game startup CEG presumably verifies the inode number for one or more files in the game's wineprefix.

The games tested:
1. BioShock Infinite (8870) — works, requires forcing emulators/wine-proton (otherwise you'll get a Linux version of the game) and, less obviously, MALLOC_CONF="zero:true" %command% in the launch options. I have no idea where this uninitialized memory access issue comes from, it's probably not the game itself.
2. Just Cause 2 (8190) — well, it starts. The game might or might not work, it's a bit wonky.
3. Mafia II (50130 aka Classic) — works.
4. Risen 2 (40390) — doesn't start no matter what. Seems to exit right after GetFileInformationByHandle call, which happens to be in exactly the same check that seems to work correctly for Mafia 2. Go figure.
 
Back
Top