Jump to content
mojical

APB 1.30+ on Linux (now including easy non-Steam method)

Recommended Posts

As a few of us Linux users have discovered in the 1.30 Open Beta thread, since APB’s 1.30 update it has been possible to successfully run APB:Reloaded on the Linux operating system, thanks to Little Orbit cleaning up old code that was causing crashes with previous versions.  This also applies to the Steam Deck.

 

This is accomplished with a tool like Valve’s Proton that, to put it simply, translates APB’s DirectX9 API calls to Vulkan and Windows system calls to Linux equivalents in real time. The following guide shows how to accomplish this with a few minor tweaks, all within the Steam client.

 

UPDATE 2024/06/16: Removed the part about EAC Runtime as it is no longer necessary. Also added an experimental new non-Steam method of installation.

 

How to play APB 1.30+ on Linux

 

This guide was tested by myself on several distros (Arch, OpenSUSE Tumbleweed, Fedora, Nobara, CachyOS,, etc.) both Wayland and X11, and an AMD RX 6800 GPU. 

 

I have also tested it on a Steam Deck running latest stable SteamOS. It is necessary to do the following steps in desktop mode, however once you successfully run the game it will also work in gaming mode.

 

For NVIDIA users: Make sure you are using proprietary drivers from this point on. If you need to install them, use your distribution's install method and do not use drivers downloaded from Nvidia's site.

 

Step 1: Getting Proton-GE

 

To proceed with the guide, Steam must be installed and started for the first time.

 

Proton-GE is a community version of Valve's Proton containing up to date code and a collection of game specific fixes.  Proton-GE 8-5 supports APB Reloaded (including Steam login) without any additional tweaks.

 

To install Proton-GE, the most user friendly option is to download ProtonUp-Qt from your distribution's Flatpak based app store, such as Discover in the Steam Deck's desktop mode. Then, from this tool, select "Add new version" and choose Proton-GE 8-5 or newer. This is not specific to APB so there are many guides on the Internet that help accomplish this task, such as this one

 

Personally, my preferred way to install Proton-GE is to download the latest release and untar the folder within to  $HOME/.local/share/Steam/compatibilitytools.d/ ($HOME being a placeholder for your home directory).

 

After Proton-GE is installed, Steam should be restarted to recognize it as a compatibility tool.

 

Step 2: Setting up Steam

 

Open Steam, log into your account, and open Steam's settings from the Steam menu. Navigate to "Compatibility" and check "Enable Steam Play for all other titles."

 

jiCn2hz.png

 

Step 3: Setting up APB

 

Install APB Reloaded from Steam's store as usual. Be sure to not run the game yet until everything is set up.

 

Once APB is installed, right click it from your library view and select "Properties" in the menu. Go to the "Compatibility" tab and select GE-Proton 8-5 or a later version of Proton GE, as shown below. If it does not show, verify that it is installed correctly and that you restarted Steam after installing it.

 

fs2jlqR.png

 

You can close the window or press Escape and your settings will be saved. The game is ready to be played at this point.

 

Optional tweaks and improvements

 

Non-Steam installation method (experimental)

 

If for privacy reasons you do not want to create or use a Steam account, or you want a minimal amount of bloat if Steam is only used to install this game, you can use my launcher which will utilize umu in place of the Steam client. This will start the official launcher and install, update or run the game as needed.  This is still an early version and may be prone to bugs or incompatibility with some distros, so proceed with care. 

 

To use, simply paste and run the following command in the terminal and say yes (y) to install umu if required. Note that you do not need to follow any of the previous steps in the guide, as they involve Steam!

 

bash <(curl -Ls https://raw.githubusercontent.com/telqor/apb-standalone/main/launcher.sh)

 

Note that the below tweaks will need adjustments to be performed with such a setup. However, anti-stutter is included which should be enough for players who are fine with the vanilla config.

 

Using configs

 

If you wish to use configs such as removing the login scene, you can create a directory called "apbconfig" in your home folder and inside it, paste your configs as you would in the game's install directory. For example, if you are using a graphics config, the path "/home/(your user)/apbconfig/APBGame/Config/APBCompat.ini" would be a valid path.  You can also insert command line arguments at the end such as -nomovies in the example.

 

Then, paste the following script in the game's "Launch options". Do not use the APB Launcher's start button to start the game when using configs, start by closing the launcher instead.

%command%; yes | cp -rf "$HOME/apbconfig"/* "$STEAM_COMPAT_INSTALL_PATH"/; $HOME/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=113400 -- $HOME/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- $HOME/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point --verb=waitforexitandrun -- "${STEAM_COMPAT_TOOL_PATHS%%:*}"/proton waitforexitandrun "$STEAM_COMPAT_INSTALL_PATH/Binaries/APB.exe" -nomovies -nosteam

 

Reducing DXVK stutters

 

Enabling the following DXVK option will reduce stutters when vehicles are shot, especially by fast firing weapons. 

 

d3d9.cachedDynamicBuffers = True

 

An easy way to do this is to add this to your launch options, putting it before other options you already have.

 

DXVK_CONFIG="d3d9.cachedDynamicBuffers = True"

 

Using AMD FSR

 

As with many recent games, we can use AMD FSR to upscale the game from a lower internal resolution, resulting in much higher visual quality than regular display or GPU scaling. This is especially useful if you need a larger UI and don't want to deal with the visual corruption that's caused by the "User interface size" in the game's options.

 

This requires a recent Proton-GE version (I recommend Proton-GE 8-25, the latest as of this edit)

 

Add the following variable to your launch options (either alone or before whatever options you were already using, don't forget the space after though):

 

WINE_FULLSCREEN_FSR=1

Then start the game, select "Fullscreen" in the graphics options and choose the internal resolution you prefer. FSR will add some oddball resolutions that function especially well with this scaling method. If it is done properly the UI text should be rendering with native-like quality. This works for both AMD and nVidia GPUs. 

Edited by mojical
New updates
  • Like 10
  • Thanks 8

Share this post


Link to post
Share on other sites

Holy cow I need to try this, been dying to use my steam deck with APB. Additionally the one game left keeping me tied to Windows.

  • Like 1

Share this post


Link to post
Share on other sites

Very nice guide, I hope this helps people that use Linux / Steam deck and want to play, consider publishing it on steam too if you haven't.

 

Also smh my head not using a steam skin

Edited by Frosi

Share this post


Link to post
Share on other sites

On Steam Deck, game still does not launch... I did use the GE Proton 49 instead of the linked custom GE Proton, are there any notable differences between the two?

Share this post


Link to post
Share on other sites
4 hours ago, mojical said:

Login screen load times

APB’s login scene takes quite a while to load compared to Windows, which is a minor annoyance as it can feel like the game has frozen when trying to load it. One workaround for this is to install a custom login level (which I cannot link here due to unclear rules on this) and lower loading times considerably.

little orbit themselves have it available on https://gamersfirst.com/download so i'd think you're safe linking there

Share this post


Link to post
Share on other sites
2 hours ago, xHenryman90x said:

What's the performance difference between Windows and Linux?

 

Considering what I see what other people getting on streams, I'd say performance on Linux is at least as good as Windows. On my PC (i7 13700KF @ 5.5Ghz and AMD RX 6800) it stays on the 200fps cap I've set for the game, even in a full Asylum with shadows enabled. The reason why I've decided to cap it under my monitor's refresh rate is so that FreeSync works properly even when there are small stutters.

 

1 hour ago, Frosi said:

Very nice guide, I hope this helps people that use Linux / Steam deck and want to play, consider publishing it on steam too if you haven't.

 

Also smh my head not using a steam skin

 

I have uploaded the guide to Steam, although I think the steps described here are no rocket science and the game is really close to one-click compatibility as it is. Others have posted instructions on ProtonDB (the game's now Bronze rating instead of Borked!) and while they can help people who have tinkered with Proton for a while, some of the launch option commands need to be edited for different usernames or game install directories which isn't ideal.

 

I don't use Steam to launch this game personally, or much at all lately, which is why I have not bothered to skin it. There is an Adwaita skin that makes it look like a native Linux app but it feels buggy and sluggish to use on my machine for some reason.

 

Also, thanks for helping me forward crash logs to the devs, I played for a bit after the patch (2-3 hours, mostly FC) and it hasn't crashed since the patch, even on fullscreen mode instead of fullscreen window. I believe it was indeed related to the memory leak in 1.30's initial live build.

 

1 hour ago, Sergsininia said:

On Steam Deck, game still does not launch... I did use the GE Proton 49 instead of the linked custom GE Proton, are there any notable differences between the two?

 

I believe I should change the guide to select Proton versions in the game's properties rather than altering global settings, as these can sometimes get overridden by default. Any Proton by GE should be fine, I don't think you need the custom version at all. Does the launcher not start or does the game not show after pressing start? If it's the latter, have you tried launching the game by pressing the X icon on the launcher to close it? It may be counter intuitive, but the launcher freezing when pressing Start is nothing new to me.

 

42 minutes ago, NotZombieBiscuit said:

What if I use mac tho

 

You'd need to use a method different from Steam and find a Mac that has a GPU that is not too old, too weak or too restricted to Apple's proprietary APIs to run this game, which is a very difficult task if not impossible.

 

37 minutes ago, Yeedman said:

little orbit themselves have it available on https://gamersfirst.com/download so i'd think you're safe linking there

 

Good point, I will edit that section to link to the official G1 site. I was convinced anything that couldn't be done in a text editor was in the grey area camp. However, there is still the issue of the launcher overwriting this file, so the %command%; at the beginning of the launch options would need to be deleted to bypass the launcher.

Edited by mojical

Share this post


Link to post
Share on other sites
1 hour ago, mojical said:

select Proton versions in the game's properties rather than altering global settings

This is actually what I did on my Steam Deck - rather than global settings, as I have some games that need specific versions of Proton to run well on the handheld.

Share this post


Link to post
Share on other sites
22 hours ago, NotZombieBiscuit said:

What if I use mac tho

As shitpost as this is... Crossover is your best bet for M1 and M2 Macs irony enough.

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, El-Neko said:

As shitpost as this is... Crossover is your best bet for M1 and M2 Macs irony enough.

Can you explain this to me in windows speak.

Share this post


Link to post
Share on other sites
3 hours ago, NotZombieBiscuit said:

Can you explain this to me in windows speak.

https://www.codeweavers.com/compatibility/

Basically like Proton but closed source and paid for with supposedly great app compatibility. Never used it so no comment on it exactly, but Proton has worked wonders for me on other games where they're not listed as compatible with Linux on the steam deck.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Sergsininia said:

https://www.codeweavers.com/compatibility/

Basically like Proton but closed source and paid for with supposedly great app compatibility. Never used it so no comment on it exactly, but Proton has worked wonders for me on other games where they're not listed as compatible with Linux on the steam deck.

Okay now explain this to me in TempleOS speak.

  • Like 1

Share this post


Link to post
Share on other sites

Thank you for the Launch Command. Seems to work very well so far.

 

Arch Linux

AMD Ryzen 5800X3D

Nvidia RTX 3080
GE-Proton7-49

 

Quick video: https://www.youtube.com/watch?v=koCkQwSsUZI

 

*Yes im bad at shooting*

 

 

  • Like 1

Share this post


Link to post
Share on other sites
19 hours ago, NotZombieBiscuit said:

Can you explain this to me in windows speak.

No, you only get one from me.

  • Like 1

Share this post


Link to post
Share on other sites
On 2/18/2023 at 1:20 AM, NotZombieBiscuit said:

Okay now explain this to me in TempleOS speak.

Nah

  • Like 1

Share this post


Link to post
Share on other sites
On 3/7/2023 at 10:50 PM, Ketog said:

1068635818345889923.webp?size=128&quality=lossless great guide!

Glad you like it! I have made a few updates to it for more advanced users looking to tinker a bit. Upgrading to Wine/Proton 8 fixes mail, and I've added a launch command that automatically copies configs so they don't get overwritten by APBLauncher.

Share this post


Link to post
Share on other sites

So I've taken the time to get it running on the steam deck, and suffice to say, for the hardware, it runs more than superb.

I've had to change the specific command to be

~/.steam/steam/steamapps/common/Proton\ 7.0/Proton waitforexitandrun '/home/deck/.local/share/Steam/steam apps/common/APB Reloaded/Launcher/APBLauncher.exe' && ~/.steam/steam/steamapps/common/Proton\ 7.0/Proton waitforexitandrun '/home/deck/.local/share/Steam/steamapps/common/APB Reloaded/Binaries/APB.exe' -nosteam # %command% 

Using GE-Proton 49 I've had no issues in game.

Control scheme is whack, so do yourself a favor and just dock it with a keyboard and mouse.

Command above will use Proton to run the launcher (for updates of course) and then start should close the launcher, whilst using Proton to launch the game executable.

 

Running without steam does require a manual login and depending on your password complexity, you may have trouble.

Share this post


Link to post
Share on other sites

This is very interesting. I'm running with an Intel Arc A770 LE and in Windows 11 APB runs very poor, one big stutter mess. Its almost impossible at times to kill anyone and thats with the current latest Arc drivers.

 

I've just installed Ubuntu 22.04 LTS and compiled a 6.2 Linux Kernel (native Intel Arc support), will see how APB runs.

 

EDIT

 

Just played a FC round and it runs much better than I expected and better than Windows!

 

I am using the following for the APB launcher, Ubuntu 22.04 LTS, Steam/Proton.

 

'/home/USERNAME/.steam/steam/steamapps/common/Proton 7.0'/proton waitforexitandrun '/home/USERNAME/.steam/steam/steamapps/common/APB Reloaded/Binaries/APB.exe' -nosteam # %command%

 

 

Edited by Rade
  • Like 2

Share this post


Link to post
Share on other sites
On 3/13/2023 at 12:12 PM, Rade said:

This is very interesting. I'm running with an Intel Arc A770 LE and in Windows 11 APB runs very poor, one big stutter mess. Its almost impossible at times to kill anyone and thats with the current latest Arc drivers.

 

I've just installed Ubuntu 22.04 LTS and compiled a 6.2 Linux Kernel (native Intel Arc support), will see how APB runs.

 

EDIT

 

Just played a FC round and it runs much better than I expected and better than Windows!

 

I am using the following for the APB launcher, Ubuntu 22.04 LTS, Steam/Proton.

 

'/home/USERNAME/.steam/steam/steamapps/common/Proton 7.0'/proton waitforexitandrun '/home/USERNAME/.steam/steam/steamapps/common/APB Reloaded/Binaries/APB.exe' -nosteam # %command%

 

 

Good to hear that even Arc is running good through Linux. Maybe time for my desktop to migrate off of 10 to Linux permanently. Native AMD graphics would be a good push too.

Share this post


Link to post
Share on other sites
On 3/9/2023 at 10:16 PM, Sergsininia said:

I've had to change the specific command to be


~/.steam/steam/steamapps/common/Proton\ 7.0/Proton waitforexitandrun '/home/deck/.local/share/Steam/steam apps/common/APB Reloaded/Launcher/APBLauncher.exe' && ~/.steam/steam/steamapps/common/Proton\ 7.0/Proton waitforexitandrun '/home/deck/.local/share/Steam/steamapps/common/APB Reloaded/Binaries/APB.exe' -nosteam # %command% 

Using GE-Proton 49 I've had no issues in game.

I'll have to do more testing because it shouldn't be necessary to manually specify Proton paths, let alone home folder paths like /home/deck.  When you use the command from my post, with or without configs, does nothing happen or do you get an error screen?

 

Also, does "no issues in game" mean it's possible to have working in-game mail in Proton-GE? Do system mails lose their title and content when you select them?

On 3/13/2023 at 6:12 PM, Rade said:

This is very interesting. I'm running with an Intel Arc A770 LE and in Windows 11 APB runs very poor, one big stutter mess. Its almost impossible at times to kill anyone and thats with the current latest Arc drivers.

 

I've just installed Ubuntu 22.04 LTS and compiled a 6.2 Linux Kernel (native Intel Arc support), will see how APB runs.

I thought Intel implemented DXVK in their D3D9 performance upgrade for Windows, which is the same library used by Proton and Wine to translate DirectX9 to Vulkan. Given your experience with APB it's likely they did so on a per game basis and just forgot about poor old APB...

 

Nice that you are seeing improved performance on Linux, after all modern GPUs are designed with Vulkan or DX12 in mind and not an old API like DX9. I was looking forward to someone testing this on Arc as I had already heard of its very poor native DirectX9 performance on Windows. 

 

On another note I'm surprised you didn't run into issues due to old Mesa versions shipped by Ubuntu, their Arc support is not that great. I think it would make sense for you to either switch to a distribution that comes with gaming focused tweaks (and newer Mesa) out of the box such as PikaOS, or if you don't want to wipe your current install, upgrade your Mesa as shown in this guide.

Share this post


Link to post
Share on other sites

If you want to limit FPS use the DXVK_FRAME_RATE= setting in your run options. 

Quote

DXVK_FRAME_RATE=120 '/home/USERNAME/.steam/steam/steamapps/common/Proton 7.0'/proton waitforexitandrun '/home/USERNAME/.steam/steam/steamapps/common/APB Reloaded/Binaries/APB.exe' -nosteam # %command%

And if you really like messing about, create a ram disk for the AssetCache folder before you play the game. The example below links the AssetCache folder to RAM, essentially your AssetCache folder is a RAM drive and files are being written directly to your RAM, it has a size limit of 8GB, and will delete upon a system reboot or if you unmount it.

 

(Please don't blindly copy and paste this - educational only) - root required

Quote

mount -t tmpfs -o size=8G myramdisk /home/USERNAME/.steam/steam/steamapps/common/APB\ Reloaded/APBGame/AssetCache

Some people like to test its working by using the DD command (measure read / write speed etc) but that could be a disaster waiting to happen. I like to use a very simple technique, copy a 2GB video mp4 file to the AssetCache folder and watch your memory usage go down with whatever GUI system monitor your distro has.

Edited by Rade
  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...