Steamuxulation redux

The conversion to chromium has now been running for years. Sometimes more, sometimes less is remade or changed.

Chromium is also a software in itself that is constantly changing and e.g. in things like here also sometimes needs adjustments.
That doesn't sound too good. So can one say that the conversion to Chromium was a wise decision? And if so, why was that decision made? What would have been the alternatives? E.g. Gecko engine, maybe?
 
I used to play heavy AA games like Dying Light with nice performance but with crazy physics, but on this pc with amd gpu the last time i tried couldn't find anything that could be played , maybe its my fault or something i did wrong.
 
I have never tried to play a proton game on steam before, so now I have just followed the instructions as in pkg info -D linux-steam-utils
Code:
Native Proton setup (optional, semi-experimental):

1. Run `sudo pkg install wine-proton libc6-shim python3`.
2. Run `/usr/local/wine-proton/bin/pkg32.sh install wine-proton mesa-dri`.
3. In Steam install Proton 7.0 (appid 1887720).
4. Run `lsu-register-proton` to register emulators/wine-proton as a compatibility tool.
5. Restart Steam.

To enable emulators/wine-proton right click a game title in Steam,
click Properties, click Compatibility, select emulators/wine-proton.

I have successfully executed all steps (1-5) and when I restarted steam, I even got a pop-up as known from wine that asked to download wine-mono, which looks good. But when I try to install a windows game from the store through the client, I get an error message "Invalid platform".
Si how can I do a
Code:
To enable emulators/wine-proton right click a game title in Steam,

click Properties, click Compatibility, select emulators/wine-proton.
when it is not even possible to install the game before that?
 
Right-click on the game name in the library bar and then click on settings and then follow the further steps.

You do not need to have the game insalled for that.

But afaik you can also enable it globally in the main steam settings.
 
Right-click on the game name in the library bar and then click on settings and then follow the further steps.

You do not need to have the game insalled for that.
The game name cannot appear in the library bar if not previously installed.
However
But afaik you can also enable it globally in the main steam settings.
that does the trick. Once enabled like it shows in the screenshot, you are able to install games from the store:
1691601739193.png
 
Wanted to write I can confirm Wasteland 3 working with FreeBSD 14-RELEASE using KDE5 and XORG.
hw.machine: amd64
hw.model: AMD Ryzen 7 3700X 8-Core Processor
dev.nvidia.0.%desc: NVIDIA GeForce RTX 3060

Edit: Sound isn't working it'd seem. It's an issue with every game I've tried so far. Will do some fiddling... I suspect it's a 'me' issue. I'm curious, is PulseAudio needed for most games?
 

Attachments

  • Screenshot_20231213_185446.jpg
    Screenshot_20231213_185446.jpg
    829.6 KB · Views: 147
I'm on 13.2-Release, I just installed Tropico 5 and everything works for me, including sound. I started a tutorial just to make sure actual in game sound works, not just menu music, and yea; narrator, music and clicking on things, all sound effects appear to work. Is sound working for you in other games? Are you sure you have the right audio output device selected/configured; HDMI vs Analog, etc? FreeBSD doesn't always automatically switch to the right one (or the one you'd expect), so I'd check that first if you have multiple audio out devices.

Thanks for bringing this game to my attention, I got it in a humblebundle some time ago and never got around to playing it. This gave me a reason to try it out and now I'll spend some time with it :)
Actually it seems no sound is working for any steam games... Are you using pulseaudio out of curiosity? I was hoping everything would just use OSS but I could be wrong.
 
Edit: Sound isn't working it'd seem. It's an issue with every game I've tried so far. Will do some fiddling... I suspect it's a 'me' issue. I'm curious, is PulseAudio needed for most games?

That depends on what sound backend is compiled into and selected in wine. Try `winecfg`.
 
  • Thanks
Reactions: lgs
I would check if the sound works at all first. Also, we only support compat.linux.emul_path=/compat/linux.

I was hoping everything would just use OSS but I could be wrong.
LSU forces Linux apps to skip PulseAudio by using a libpulseaudio stub that always returns an error in initialization. That typically makes them switch to ALSA, which itself is routed to OSS via audio/linux-c7-alsa-plugins-oss. Note that this port is not a direct copy of the CentOS 7 package, it's being built from source (unlike most those linux-c7 packages) with a couple of patches applied for better compatibility.

LSU also sets SDL_AUDIODRIVER env var for a few apps that actually read it.
 
  • Thanks
Reactions: lgs
Hi, I'm trying to get steam working, and I'm following the instructions from the message from linux-steam-utils, and I created a steam user, did steam-install, but when I try to run steam I get this output
Code:
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
/usr/local/steam-utils/bin/../lxbin/patch-steam.rb: /home/freebsdsteam/.steam/steam/ubuntu12_64/steamwebhelper.sh not found, nothing to patch
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
setup.sh[20233]: Updating Steam runtime environment...
Authorization required, but no authorization protocol specified


(zenity:20241): Gtk-WARNING **: 11:42:55.611: cannot open display: :0
/usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:9:in `safe_system': Command failed: "/compat/linux/bin/env PATH=\\"/usr/local/steam-utils/lxbin:/compat/linux/bin\\" steam-runtime/setup.sh" (RuntimeError)
    from /usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:45:in `block in <main>'
    from /usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:12:in `chdir'
    from /usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:12:in `<main>'
/usr/local/bin/steam:46:in `safe_system': Command failed: "/usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime" (RuntimeError)
    from /usr/local/bin/steam:156:in `<main>'
I already did the first 2 steps for native proton setup from my regular user, I hope that isn't an issue.
 
Hi, I'm trying to get steam working, and I'm following the instructions from the message from linux-steam-utils, and I created a steam user, did steam-install, but when I try to run steam I get this output
Code:
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
/usr/local/steam-utils/bin/../lxbin/patch-steam.rb: /home/freebsdsteam/.steam/steam/ubuntu12_64/steamwebhelper.sh not found, nothing to patch
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
setup.sh[20233]: Updating Steam runtime environment...
Authorization required, but no authorization protocol specified


(zenity:20241): Gtk-WARNING **: 11:42:55.611: cannot open display: :0
/usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:9:in `safe_system': Command failed: "/compat/linux/bin/env PATH=\\"/usr/local/steam-utils/lxbin:/compat/linux/bin\\" steam-runtime/setup.sh" (RuntimeError)
    from /usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:45:in `block in <main>'
    from /usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:12:in `chdir'
    from /usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime.rb:12:in `<main>'
/usr/local/bin/steam:46:in `safe_system': Command failed: "/usr/local/steam-utils/bin/../lxbin/upgrade-steam-runtime" (RuntimeError)
    from /usr/local/bin/steam:156:in `<main>'
I already did the first 2 steps for native proton setup from my regular user, I hope that isn't an issue.
I did try updating to latest instead of quarterly but it didn't help
 
I don't see what "cannot open display: :0" has to do with Steam. Perhaps you want to google the error message or something?
 
The cannot open display :0 is probably from zenity, i'm not sure what it's used for here, but the part that concerns me the most is the "'safe_system': Command failed: [...]" part.
 
Maybe it has something to do with it being ran from a new user that I only added to the video group? The message from linux-steam-utils said to create a non-wheel user though.
 
I've put some print statements in some of the scripts and zenity works from my regular user, but not from the one i'm running steam from. Am I doing this wrong? When I installed the package it told me to create a new user, so I created one called steamuser and logged in as that in a terminal and ran steam from there. It seems it can't connect to X.org from there though, because it's not the user that's running X.org (i3). By "switch to it", did it mean that I should switch to that user and run my X session from there? Is there any way around this?
 
So it seems I must run this while logged in to X11 as the new user, which does make sense, but now I get different errors:
Code:
[steamuser@bsd ~]$ steam
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
/usr/local/steam-utils/bin/../lxbin/patch-steam.rb: /home/steamuser/.steam/steam/ubuntu12_64/steamwebhelper.sh
 not found, nothing to patch
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
[2023-12-22 07:32:34] Startup - updater built Jun  7 2022 03:18:19
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
/tmp/dumps is not owned by us - delete and recreate
Installing breakpad exception handler for appid(steam)/version(0)
libGL error: MESA-LOADER: failed to retrieve device information
libGL error: unable to load driver: amdgpu_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: amdgpu
libGL error: pci id for fd 9: 1002:73ff, driver (null)
pci id for fd 10: 1002:73ff, driver (null)
libGL error: failed to create dri screen
libGL error: failed to load driver: radeonsi
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
SteamUpdateUI: An X Error occurred
X Error of failed request:  BadValue (integer parameter out of range for operation)
I am running KDE on the steamuser account
 
That matches my experience with AMD on current. I'm contemplating putting a note in the readme saying "if you use AMD GPU and this doesn't work, screw you".
 
Actually it seems no sound is working for any steam games... Are you using pulseaudio out of curiosity? I was hoping everything would just use OSS but I could be wrong.
Sound works for me in Tropico 5. I do remember sound not working in one or two games, but it definitely does work in Tropico 5. Having said that, I haven't tried it on FreeBSD 14 yet; my steam laptop with steam was still using 13.2 last time I played Tropico 5 and other games on it...not sure when I'll get a chance to play with it again
 
OK, just got my steam laptop running proper again and updated to FreeBSD 14. Audio in Tropico 5 is working.
Slipstream was one game that I remember audio was not working in on FreeBSD 13...but it's working now in that game too!! :D
 
We now have a very experimental run-steam-runtime-in-a-chroot thing. It currently resides in the appropriately named "chroot" branch of the repo.

The usage is as follows:
  1. Enable vfs.usermount and security.bsd.unprivileged_chroot, kldload nullfs;
  2. Clone the steam-utils' git repo;
  3. Switch to the "chroot" branch;
  4. Build it (with make);
  5. (Don't bother with make install);
  6. Start Steam;
  7. Download Steam Linux Runtime 3.0 (Sniper);
  8. Run bin/lsu-mount-runtime SteamLinuxRuntime_sniper;
  9. Select "LSU chroot" in the compatibility tab in the game properties;
  10. Run the f* game;
  11. Run bin/lsu-umount to clean up the mount points once you are done with it.
It's pretty iffy right now, but at least Crusader Kings 2 and Half-Life 2: Deathmatch are known to work. If you comment out tools/LSU_chroot_sniper/run.rb#L8 a few more games will start working (CK2 and HL2 will be broken, though).

Since Valve was kind enough to include relatively new Mesa DRI libs, OpenGL Linux games might actually run with proper 3d acceleration on Intel/AMD GPUs. Mesa's Vukan drivers were not included, so don't expect it yet.

Note that if you have graphics/linux-c7-glx-utils installed, bin/lsu-mount-runtime will copy glxgears into the chroot target dir, which means you can run bin/lsu-run-in-chroot SteamLinuxRuntime_sniper /bin/glxgears -info for a quick 3d test.

As of 2024-03-08: everything of value has been merged into the master branch with the readme updated to reflect the changes.
 
Last edited:
Sound works for me in Tropico 5. I do remember sound not working in one or two games, but it definitely does work in Tropico 5. Having said that, I haven't tried it on FreeBSD 14 yet; my steam laptop with steam was still using 13.2 last time I played Tropico 5 and other games on it...not sure when I'll get a chance to play with it again
Yeah it's working in Tropico 5 now (NFI why it wasn't before). Wasteland 3 and Satellite Reign there's no sound but they run fine otherwise. Streets of Rage 4 and Tropico 5 work perfectly now!
 
It's pretty iffy right now, but at least Crusader Kings 2 and Half-Life 2: Deathmatch are known to work. If you comment out tools/LSU_chroot_sniper/run.rb#L8 a few more games will start working (CK2 and HL2 will be broken, though).
I separated these configurations into "LSU chroot (sniper)" and "LSU chroot (scout)" respectively. Those are Valve's codenames for the sets of runtime libraries that we are trying to use with this method. The names aren't terribly intuitive, so I might rename chroots again.

I also grafted Mesa 23.2.1 package from Ubuntu on top of the whole mess. This caused yet another nasty amdgpu crash on the laptop I was testing Mesa stuff with, so YMMV. Don't use AMD if you can avoid it.
 
Hello,

After the recent Steam client update, it can no longer launch on my FreeBSD 14.0-Release-p5 laptop. I get prompt saying Steamwebhelper cannot start with options to restart, screenshot attached:

steamnolaunch.png


In the console, I see a bunch of mkdir permission denied errors, console output snip pasted below:

Code:
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
[2024-03-01 09:02:01] Startup - updater built Feb 29 2024 00:39:10
[2024-03-01 09:02:01] Startup - Steam Client launched with: '/home/scratchi/.steam/steam/ubuntu12_32/steam'
/tmp/dumps is not owned by us - delete and recreate
03/01 09:02:01 Init: Installing breakpad exception handler for appid(steam)/version(1709168962)/tid(1698)
[2024-03-01 09:02:02] Loading cached metrics from disk (/usr/home/scratchi/.steam/steam/package/steam_client_metrics.bin)
[2024-03-01 09:02:02] Using the following download hosts for Public, Realm steamglobal
[2024-03-01 09:02:02] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
[2024-03-01 09:02:02] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
[2024-03-01 09:02:02] 3. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2024-03-01 09:02:02] Verifying installation...
[2024-03-01 09:02:02] Verification complete
UpdateUI: skip show logo
Steam logging initialized: directory: /usr/home/scratchi/.steam/steam/logs

GLib-GIO-Message: 09:02:02.341: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0x2436a560
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0x24368db0
[[sh]]
[[-c]]
[[exec '/usr/home/scratchi/.steam/steam/ubuntu12_64/steamwebhelper.sh.patched' '-lang=en_US' '-cachedir=/usr/home/scratchi/.steam/steam/config/htmlcache' '-steampid=1698' '-buildid=1709168962' '-steamid=0' '-logdir=/usr/home/scratchi/.steam/steam/logs' '-uimode=7' '-startcount=0' '-steamuniverse=Public' '-realm=Global' '-clientui=/usr/home/scratchi/.steam/steam/clientui' '-steampath=/usr/home/scratchi/.steam/steam/ubuntu12_32/steam' '-launcher=0' '-use_safe_shutdown_workaround' '-use_xcomposite_workaround' '-no-restart-on-ui-mode-change' '--enable-smooth-scrolling' '--disable-gpu-compositing' '--disable-gpu' '--password-store=basic' '--log-file=/usr/home/scratchi/.steam/steam/logs/cef_log.txt' '--disable-quick-menu' '--disable-features=DcheckIsFatal' --no-sandbox --in-process-gpu]]
mkdir: cannot create directory '/usr/home/scratchi': Permission denied
CAppInfoCacheReadFromDiskThread took 171 milliseconds to initialize
Steam Runtime Launch Service: starting steam-runtime-launcher-service
Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 1730
steam-runtime-launcher-service[1730]: E: Unable to watch signals: Function not implemented
Steam Runtime Launch Service: steam-runtime-launcher-service pid 1730 exited
Steam Runtime Launch Service: starting steam-runtime-launcher-service
Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 1731
steam-runtime-launcher-service[1731]: E: Unable to watch signals: Function not implemented
Steam Runtime Launch Service: steam-runtime-launcher-service pid 1731 exited
Steam Runtime Launch Service: starting steam-runtime-launcher-service
Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 1732
steam-runtime-launcher-service[1732]: E: Unable to watch signals: Function not implemented
Steam Runtime Launch Service: steam-runtime-launcher-service pid 1732 exited
Steam Runtime Launch Service: steam-runtime-launcher-service keeps crashing on startup, disabling
[[sh]]
[[-c]]
[[exec '/usr/home/scratchi/.steam/steam/ubuntu12_64/steamwebhelper.sh.patched' '-lang=en_US' '-cachedir=/usr/home/scratchi/.steam/steam/config/htmlcache' '-steampid=1698' '-buildid=1709168962' '-steamid=0' '-logdir=/usr/home/scratchi/.steam/steam/logs' '-uimode=7' '-startcount=1' '-steamuniverse=Public' '-realm=Global' '-clientui=/usr/home/scratchi/.steam/steam/clientui' '-steampath=/usr/home/scratchi/.steam/steam/ubuntu12_32/steam' '-launcher=0' '-use_safe_shutdown_workaround' '-use_xcomposite_workaround' '-no-restart-on-ui-mode-change' '--enable-smooth-scrolling' '--disable-gpu-compositing' '--disable-gpu' '--password-store=basic' '--log-file=/usr/home/scratchi/.steam/steam/logs/cef_log.txt' '--disable-quick-menu' '--disable-features=DcheckIsFatal' --no-sandbox --in-process-gpu]]
mkdir: cannot create directory '/usr/home/scratchi': Permission denied
[[sh]]
[[-c]]
[[exec '/usr/home/scratchi/.steam/steam/ubuntu12_64/steamwebhelper.sh.patched' '-lang=en_US' '-cachedir=/usr/home/scratchi/.steam/steam/config/htmlcache' '-steampid=1698' '-buildid=1709168962' '-steamid=0' '-logdir=/usr/home/scratchi/.steam/steam/logs' '-uimode=7' '-startcount=2' '-steamuniverse=Public' '-realm=Global' '-clientui=/usr/home/scratchi/.steam/steam/clientui' '-steampath=/usr/home/scratchi/.steam/steam/ubuntu12_32/steam' '-launcher=0' '-use_safe_shutdown_workaround' '-use_xcomposite_workaround' '-no-restart-on-ui-mode-change' '--enable-smooth-scrolling' '--disable-gpu-compositing' '--disable-gpu' '--password-store=basic' '--log-file=/usr/home/scratchi/.steam/steam/logs/cef_log.txt' '--disable-quick-menu' '--disable-features=DcheckIsFatal' --no-sandbox --in-process-gpu]]
mkdir: cannot create directory '/usr/home/scratchi': Permission denied
src/steamUI/steamuisharedjscontroller.cpp (546) : Failed creating offscreen shared JS context
src/steamUI/steamuisharedjscontroller.cpp (546) : Failed creating offscreen shared JS context
03/01 09:02:28 Init: Installing breakpad exception handler for appid(steam)/version(1709168962)/tid(1698)
ExceptionHandler::WaitForContinueSignal sys_read failed:Bad file descriptor
ExceptionHandler::GenerateDump waitpid failed:No child processes
03/01 09:02:28 Failed writing minidump, nothing to upload.
src/steamexe/steamglobalinstance.cpp (435) : Assertion Failed: ReadCommandsFromPipe: read failed: Resource temporarily unavailable

src/steamexe/steamglobalinstance.cpp (435) : Assertion Failed: ReadCommandsFromPipe: read failed: Resource temporarily unavailable

03/01 09:02:28 Init: Installing breakpad exception handler for appid(steam)/version(1709168962)/tid(1698)
ExceptionHandler::GenerateDump waitpid failed:No child processes
03/01 09:02:28 Failed writing minidump, nothing to upload.

It appears that one of the changes in this recent Steam client update is:
- Updated embedded Chromium build in Steam, clearing path for further updates soon.
I assume embedded Chromium is an essential component of Steamwebhelper, so maybe that's causing the problem?

Anyone else running into this or is it just me? Any advice if I'm doing something wrong or does this require fix in linux-steam-utils? I'll be happy to test any changes if that's what is needed.

Thank you!
 
Back
Top