Freebsd linux steam utils

Steam on FreeBSD

Apr 6, 2021 • adridg

Steam is a gaming platform that sells and manages games on Windows and Linux. Since FreeBSD has some pretty good Linux emulation, it is possible – with some footnotes – to run Linux Steam Games on FreeBSD. This was already possible in 2016 but the tooling keeps being updated, so let’s take a look at how things work.

I’m writing about things that other people have built. It’s their efforts in the Open Source world that enable my entertainment, so show some appreciation to the (otherwise largely anonymous) folks who make this possible.

Edit: some comments from shkhln in the FreeBSD discord server have prompted me to update this. Errors remain my own.

nVidia? Nah

While most of the time nVidia graphics cards give excellent results on FreeBSD – with the proprietary drivers – I have not been able to get mine to do anything useful. I’m told that it’s supposed to work and that most success reports come in that way, but personally don’t get any further than some vague X errors and a hang, on the workstation that runs my KDE Plasma desktop the rest of the week (with a GT 730).

Installing Steam Bits

Getting started with Steam on FreeBSD is relatively straightforward (unless you get stuck with something like nVidia-driver-problems, above, or specific-game-problems, below):

    Install the helper package

This pulls in a whole bunch of Linux userland, and then spits out a bunch of instructions to follow, which are the following steps.

Create a dedicated user I made one called steam. The instructions specifically call out a non-wheel user. I used adduser to do the work. (edit) It’s a good idea to put this user into the video and operator groups.

(edit) Much easier is # sysrc linux_enable=yes

Mount filesystems The various Linux-compatibility filesystems need to be available. Here are four lines to add to /etc/fstab to make it work:

This is automatically available after a system restart, or mount -a to pick up the changes.

Make shm writable This is one I have not managed to automate on reboot; it may require some scripting in rc.local . The shared-memory tmpfs needs to be writable for the dedicated user; I run this after boot:

First User Impression

After all that work as root, log in as the dedicated user, start X if that doesn’t happen automatically, open a terminal and run the script to fetch Steam preliminaries, and then run Steam itself:

Presumably you’ll need to go through the login and verification rigamarole; after that you get the same Steam overview window that you would get on a Linux system.

Note that steam as run here is a Ruby script: if any of the pre-requisites are missing, it will complain in an informative way.

Some Games

Only games that run natively on Linux will run on FreeBSD this way; not all of them will, either. Games that use Wine or other technologies are a different story, one I have not tried at all.

I tested four games out of my library, two of which are the things I play right now (on a spare Linux machine). Since my workstation and its nVidia card doesn’t like Steam, I ended up using my Slimbook for this testing. That severely limits what is possible: the iGPU in the i5 10th generation chip – Comet Lake-U GT2 UHD Graphics – is not meant for heavy pixel-pushing. I’ll mention some guessed-at framerates. Again, these framerates apply only to this one machine.

  • Don’t Starve Works out-of-the-box. 5-10 fps on full-screen, not playable for fun.
  • OpenTTD Works out-of-the-box. Playable in fullscreen.
  • Tooth and Tail Needs a workaround. Playable in fullscreen.
  • Unrailed Broken. On startup, message about version GLIBC 2.25 missing.

OpenTTD is an Open Source transport-tycoon game. It’s available from FreeBSD ports as well, so there’s no need to go through Steam for this, but I just wanted to double-check.

There is a compatibility list with tested games and workarounds.

Читайте также:  Версия windows server для hyper v

Workarounds can be applied via the Launch Options in a game: right-click on a game from the games list (left-hand panel in Steam) and pick properties, or, on the game page itself, click on the gear-icon that is off to the right of the green play button.

Screenshot showing RMB menu and settings page

The screenshot shows what to do: choose properties, then on the general tab of the properties dialog, find the launch options textbox. It looks a lot like a shell-command input box. Fill in something there: the compatibility list suggests various kinds of workarounds that can be tried.

Takeaway

It works pretty well! And, like there is an explosion of gaming-on-Linux content, there’s a similar explosion of gaming-on-FreeBSD enthusiasm. If I can get my workstation to run games at all – swapping around video cards if need be – then that’s one fewer machine I need to keep around for fun.

Источник

Freebsd linux steam utils

A set of workarounds for running the Linux Steam client under the FreeBSD Linux emulation layer.

For the list of tested Linux games see the compatibility page in the wiki.

  1. Sandbox is disabled for the web browser component.
  2. No controller input, no streaming, no VR.
  3. Valve Anti-Cheat doesn’t work with FreeBSD

At least ca_root_nss, linux-c7-dbus-libs, linux-c7-devtools, linux-c7-nss and ruby. See Makefile for a more extensive list.

You can install these via sudo make dependencies from FreeBSD packages repository.

  1. git clone , run make and sudo make install . The files will be copied to /opt/steam-utils.
  2. Create a dedicated FreeBSD non-wheel user account for Steam. Switch to it.
  3. Run /opt/steam-utils/bin/steam-install to download the Steam bootstrap executable, then /opt/steam-utils/bin/steam to download updates and start Steam.

There is semi-experimental support for emulators/wine-proton (native Wine with Proton’s patchset). Note that this port is quite different from both official Linux Proton builds and vanilla Wine, thus any issues encountered with it can not be directly reported to either project’s bug tracker.

  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 6.3 (appid 1580130).
  4. Run lsu-register-proton to copy files from the Proton distribution and 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.

Источник

Freebsd linux steam utils

I have been using FreeBSD only now for many years on my computer and I would like to point out the marvelous gaming performance of that OS with the native nvidia driver. Sometimes I play Steam games with wine (TF2 and Gladiators in the past) but it is a real experimental and insecure thing to play with wine, you never know if a game works or not. Although FreeBSD has Linux emulation, which makes games like Q4 or Doom3 run like hell, the Linux Steam Client does not install or run on FreeBSD, apparently due to being designed for the latest Ubuntu Linux.

My question is if it would be possible to port the Steam Client directly to FreeBSD? FreeBSD is a very robust and fast performing platform with better backward compatibility for the future than other operating systems. Could you please take it into consideration?

Because the FreeBSD user base is minuscule, even when compared to that of Linux. FreeBSD is mainly used for workstations, servers and by a few Operating System enthusiasts.

And SteamOS is Linux based so that is another reason.

The client could easily be ported, but even if it is there will be no games for FreeBSD. Porting games is what will cost time and a lot of money, and 10-ish people who play TF2 regularly on FreeBSD are not going to earn back the hundreds of thousands that was invested in porting the game.

If you want to run a Libre Unix-like OS Linux is here for you today.

BSD is just too obscure of an OS right now. If ‘buntu/debian really mess linux up more then things might be different ten years from now, and it would then make sense. Then devs would have one more platform to support.

If there was some uniform compatibility layer for all x86 OS’ that would be neat and it could speed things up.

The client could easily be ported, but even if it is there will be no games for FreeBSD. Porting games is what will cost time and a lot of money, and 10-ish people who play TF2 regularly on FreeBSD are not going to earn back the hundreds of thousands that was invested in porting the game.

Glad to hear that the client could be easily ported. But I am not sure if that would have to be done for the games also? As I said, I run Linux Games on FreeBSD. So it is that the Linux installers for games are available for the FreeBSD package and ports system and therefore can be easily fetched and installed by a single command, but it is still a Linux binary and running with OpenGL. But it is also possible to install games with external Linux installers, e.g. from here: <ССЫЛКА УДАЛЕНА>liflg.org
I could install and play ETQW like that. Also Dark Mod runs fine, nothing ported to FreeBSD in those cases.
So the idea would be to use the same offer of Steam Games for Linux, that all run with OpenGL, obviously.

Actually all I am annoyed about that the Linux Steam Client does not work with the Linux emulation of FreeBSD because it is some «cutting edge» Linux binary for Ubuntu especially. FreeBSD uses CENTOS 6.9 right now as emulation, soon 7.0. If the Steam Linux client was more of a «lowest common denominator» in terms of different Linuxes, there wouldn’t be a problem. One could just use the Linux Steam offer of games and play them all.

And SteamOS is Linux based so that is another reason.

Maybe that was a mistake in the first place. According to some benchmarks SteamOS/Linux falls behind Windows considerably. So imagine SteamOS was based on FreeBSD. To the customer running it on a play console or separate PC for exclusive gaming use, it would not matter what is under the hood. Also just want to mention that Sony chose FreeBSD for the PS4 for some reason, I guess.

And some time ago, I wanted to install and try SteamOS on a separate PC, but I couldn’t: The PC had a BIOS instead of UEFI. Is that really necessary?

So at the moment I am stuck with wine and that is why I would/could never buy a game from Steam, because wine just seldom works and you never know in advance if it will or not.

about the same number of people use windows xp as linux right now

Источник

Steamuxulation redux

shkhln

Daemon

Reaction score: 963
Messages: 2,216

Reactions: Snurg , Shayan Karimi , tuxador and 6 others

cabriofahrer

Well-Known Member

Reaction score: 19
Messages: 256

Yes, me! Yesterday I updated my system, all packages are linux-c7 now. Here is how I got so far: In step 3, I get the following error:

shkhln

Daemon

Reaction score: 963
Messages: 2,216

/.steam/steam-runtime directory, then try again.

Reactions: Mjölnir , Snurg and tuxador

cabriofahrer

Well-Known Member

Reaction score: 19
Messages: 256

OK, doing a kldload linux64 solved the issue and I could proceed. In my /boot/loader.conf I have ‘linux_load=»YES»‘ for years now as required by the nvidia-driver. What is the recommended entry nowadays? ‘linux64_load=»YES»‘ or both?

This is the message I got at the end, so is that OK?

OK, here is my full report so far: I logged into my existing Steam account that I used to have using i386-wine and there were connection problems, I had to push the «Reconnect» button several times to finally log in. As it was my account, I had two possibilities to download games, Half Life 2 Deathmatch and Half Life 2 Lost Coast. Both downloads worked fine, but the news window was black and browsing the store is also not possible, so how would you be able to search and download/install games?

Anyway, I started HL2 Deathmatch, watched the Valve intro video with sound and was on the menu, great!
I searched for servers with players and logged onto one, which was pretty fast! It started downloading a map but after downloading steam crashed:

I started my own server and that worked, absolutely brilliant video and sound quality, started running around shooting and causing exposions, performance and quality was great. Turned down the options from anisotropic 4x to trilinear, which seemed to give me a more fluid performance.

I gave it another shot connecting to an internet server with people playing and after downloading another map I suddenly saw myself in the middle of a death match being shot at and shooting myself, so great!
This lasted for a few minutes until steam crashed again:

Started steam and had the same reconnection issue, so I don’t know if that is related to the steam servers right now or to the client we are testing here. Anyway, I could play another map on the internet, was a lot of fun again for a few minutes, absolutely brilliant performance, and the the client crashed again. I really don’t know if that is related to the initial connection problems to the account or not.

Also tried Lost Coast, which is a single player campaign, but it crashed immediately:

shkhln

Daemon

Reaction score: 963
Messages: 2,216

I have a linux_enable=»YES» line in /etc/rc.conf.

Some kind of a diagnostic message for Valve. I don’t know what it is, nor do I care.

That doesn’t happen to me. Although, I have to admit that I didn’t investigate the login problem to the root cause, only enough of it to make a workaround. I guess that needs more work.

cabriofahrer

Well-Known Member

Reaction score: 19
Messages: 256

I have just tried again, same problem. And my guess is that it could be related to the fact that once you get connected, the game crashes after a while.
Meanwhile I have downloaded and installed Steam again in i386-wine to confirm the problem and the result is, that there is no connection problem in i386-wine.

But here comes the part that is interesting and that you denied in the other thread: I downloaded Half Life 2 Detahmatch here again and loaded the same map as I had tried in the Linux version, and here under i386-wine apart from loading times being much longer, once in the map the sound and the video was stuttering awfully and in the end it was completely unplayable, while under Linux it has been absolutely fluid, fast and no stuttering of sound. I am gonna activate the «-gl» option of the game in i386 to see if that helps.

That being said, I would like to encourage you to keep up the good work, because that steam linux client for FreeBSD would be a huge thing! I am always here for testing.

Источник

Читайте также:  Отформатируй флешку mac os
Оцените статью