BeamMP Run On Linux Guide 2025

I’m making this post with the intention of having the BeamMP devs chime in with the necessary information and content to get this working in the best way possible at this time.

There are many posts on this forum and other sites with detailed guides on this, however, after requesting support on Discord a few months ago, I was made aware that these methods are outdated and unnecessary. I was presented with a much more simple and straightforward updated solution that worked really well. Unfortunately, the support system was changed and there is no longer public access to people’s queries, so I’m going to go over the steps I remember and let the devs fill in the blanks and provide the necessary content.

If my memory serves me well, these were the instructions I was given. I’m going based on memory, so I could be slightly wrong!

  1. Download the pre-release BeamMP launcher
  2. Extract it to the BeamNG main directory
  3. I’d recommend backing up the main BeamNG executable before renaming the BeamMP launcher to “BeamNG.drive.exe”
  4. Run the game as Vulkan

I’m asking the devs to please chime in, provide the GitHub link to the modified launcher for Linux, and correct any mistakes I made. I understand you don’t want to create an official guide on the main page, but please at least give those who seek a way to get BeamMP working on Linux a method to make it work.

2 Likes

thats actually genius! rename the game’s launcher to the beammp launcher which then launches the BeamNG.drive.x64.exe! i didn’t think about that when i was tinkering with the steam tinkerer! :unamused:

though, i could be wrong, but running the game in vulkan on linux is redundant, it will run in vulkan anyway, no matter what option you will choose!

The link and the explanation

1 Like

there is a tutorial that works perfectly fine for Ubuntu 24.04 even though its meant for 22.04 I’ve used it SO many times to make servers for people who ask
linux and Windows tutorial
just follow it step by step and it should work ask me anything if it doesn’t
the dude who made it is super easy to follow and is very underrated

thank you very much for sharing this information that’s literally not found anywhere else here! :blush:

but as many people will come to try this out natively, there will be questions, and i, too, have one!

how does one clear cache on a native build, when there is no game launcher for it? the launcher, afaik, can only be run via wine/proton/lutris/etc and it only clears its cache for its own prefix, not for the native linux binary which has its separate user folder! there is no mention of this neither in beamng’s documentation nor on the forums! :face_with_raised_eyebrow:

tl;dr ~/.local/share/BeamNG.drive/version/temp/

All that matters is that BeamMP/NG doesn’t see a cache folder so it generates a new one, this can be done in one of three ways as I’ve mentioned above.

This is summery contains outdated information

Summary

The clear cache tool just renames the cache folder to 0.33.backup or something similar, there is no fancy cherry-picking going on.

you are incorrect :roll_eyes:. when you press “deep cache cleaning”, it creates a backup of your latest version user folder inside itself called backups/version.pre.0.0xx.x.x/date which is coincidentally in the path of your mods, configs and settings that you are suggesting to delete, move or rename just to CLEAR CACHE. it is then checking for file hash integrity and any misplaced files, which are moved into unknown_files_user_folder. finally, it then proceeds to clear the temp-orary folder, which is the cache itself (where you have confused it for the whole user folder). were you to rename, move or delete your user folder itself, as you correctly mentioned, the game will see it as an invalid user folder, and create a new one as if you had a fresh install. it would then make no sense to overwrite your old renamed user folder with a fresh one, if your problems still persist AFTER having cleared the cache. once again: it does not rename your user folder, it backs some of its contents up, excluding (!) the mods folder, btw. you dont have to misplace a whole user folder just to clear cache, as you mentioned in both of your replies… i, too, sometimes would rather reinstall the whole game than fix one specific problem! :grin:

and thusly i have discovered the answer to my own question, as shrimple as that :shrimp:
i suggest you should rephrase your message accordingly

1 Like

I’m sorry, I didn’t use the tool in a long time and all the while its had several changes.

The core and focus of my replay though answered your initial question (location of cache) and you indeed explained very well how the tool now works. Let’s not lose focus here, as the post was initially made to help users run BeamMP on Linux.

1 Like

also,

a few notes:

  1. it should be mentioned that these instructions work only in vanilla unmodified bash
  2. btw notice that it is vcpkg, however we use cmake anyway, it’s a strange mix of windows and linux, but remember that BeamMP is a volunteer project lol
  3. IMPORTANT!!! if you want to do this on a Steam Deck and you’re on SteamOS, and you use it as a “portable linux machine” daily like me, installing the base-devel package and any other dependency it requires to compile the BeamMP-Launcher binary – WILL BE FUTILE since SteamOS is a read-only distro and you will have to make your ENTIRE FILESYSTEM writable/editable to install anything that isn’t a flatpak, let alone building a native beamMP client (yes, SteamOS doesnt come with compile tools nor does it even come with a user (you have/had to set the user and password yourself!), cos it’s considered a “gaming distro” and not a workstation for you to tinker with, or so they say… i say ■■■■ the system ■■■■■, i made a guide for y’all:)
  • SO, if you wish to proceed with installing and compiling, as well as getting one step closer to using arch btw (kill me :stuck_out_tongue: ), YOU THEN UNDERSTAND THE RISKS OF BRICKING YOUR STEAM DECK!
    BEFORE YOU BEGIN THOUGHTRY NOT TO ERASE YOUR STEAM DECK’S INTERNAL DRIVE, it is very difficult to update your steam deck’s firmware OUTSIDE of steamOS. and with that, finally, you are ready to proceed…
    consider these requirements:
    (1). get/buy an external (!) SSD (& a cable to connect it with) AND a dock station AND/OR a usb-hub for your Steam Deck (w/ at least 3 USB-A ports for the periphery and generally quality of life, 1 USB-C PD for charging, OPTIONALLY with a built-in NVMe for an SSD); also optionally (!) a USB-C to USB-A adapter in case you are going periphery-less by using only track pads and on-screen touch keyboard or if you’re controlling your steam deck remotely via SSH, but be aware that you will not be able to charge your steam deck simultaneously,
    –bit of trivia: steamOS, unlike most other distro’s, is imaged as is, it occupies your WHOLE drive where it is installed on, it is impossible to shrink its partitions because it reimages itself after an update anyway (and because obviously you cant change anything on the same drive that you’re on), therefore it is impossible to install anything alongside it, which is why we’re getting a secondary system to tinker with on an external drive. if you DID manage to find a way to dual boot with steamOS on the same drive and not lose the image merely after an update, let us know! you’d be the first person! :rofl:
    (2). connect keyboard (and optionally mouse),
    – of course, if you know how to and/or haven’t already, use SSH.
    WARNING: hot swapping (aka hot plugging) on SOME dock stations could temporarily disable ALL OF YOUR PERIPHERY!!! this is enough to potentially cause corruption with flash- and external- drives. DO NOT disconnect, connect or reconnect ANYTHING while installing, burning or otherwise making ANY changes to your drives. this includes (un)-plugging the charger! PROCEED WITH EVEN MORE CAUTION.
    (3). connect usb flash drive (leaving room only for keyboard, use track pad as mouse),
    (4). burn your .iso of choice (see list below) onto said flash drive (if you only have one flash drive but also want to copy some other files, you can use Ventoy, that can both be used as a boot loader with different .iso’s and as a storage device),
    (5). connect your external (!) SSD (unless your dock/hub has a built-in one),
    (6). turn off your SD,
    (7). when it is off, keep holding the “volume down ‘–’” button and press the power button ONCE (1 time) until it beeps,
    (8). when it beeps, go to boot manager and pick your new bootable drive with your live .iso,
    (9). proceed with installation onto your external (!) drive
    DO NOT accidentally or deliberately rewrite/wipe steamOS in the installation process, it is needed for firmware updates!!! (at least)
    *ALSO because it’s mildly infuriating getting it back in case you brick your steam deck completely. here’s why (READ THIS IF YOUR SD IS BRICKED): now that you probably understand that steamOS has a very aggressive approach to imaging, it gets even worse than that - its recovery image block size is 128 megabytes (link to instructions), which means you HAVE to use an external drive like an SSD (unless you dont want your steam deck anymore LOL XD) or a VERY FAST (and expensive!) flash drive that you probably dont have or want to sacrifice, otherwise it’ll basically freeze or not boot at all… thankfully and hopefully by step 1 you should already own an SSD. now, for this you have to use another computer. once you’ve burnt the recovery steamOS image onto your external drive, plug that in to your SD and boot off of it, then choose what recovery option suits best for you. once you got your steamOS back, fancy trying all this again?
    (10). now you should hopefully have two working systems to choose from in the boot menu: SteamOS and your desired distro or its linux boot loader! :tada:
    (11). obviously, now you can follow the guide to compile beamMP. :+1:

  • here’s some out-of-the-box Steam Deck recommended distro’s that worked for me (except the last one :sleepy: :sob: :sob:):
    (1) CachyOS Handheld Edition (arch, optimised kernel for gaming, uses zram),
    (2) Bazzite (fedora, can update firmware like steamOS, also very optimised),
    (3) EndeavourOS (at least it’s not Manjaro, copium… has steam deck drivers),
    (4) NixOS (independent, as a challenge, and there is a steam deck community).

  • HOWEVER, IF YOU ARE UNABLE TO INSTALL A SECOND SYSTEM, THEN RISK IT FOR THE BISCUIT EVEN MORE WITH THESE GUIDES THAT MODIFY STEAMOS:
    (1) this simple guide for SD,
    (2) this github SteamOS issue,
    (3) this alternative reddit tutorial,
    (4) this userspace (!) guide for SD.

:warning: :warning: :warning:
4. ATTENTION!!! even after you’ve built the launcher binary, it STILL requires compilator libraries to be installed – if one were to delete/lose base-devel after the compilation AND/OR share a binary to another computer that doesnt have base-devel (for example, a Steam Deck) you will still NOT be able to launch it (devs, you need to include such libraries inside the binary and/or link them! shameful, honestly…)

1 Like

12/11/2024 Major Update For The BeamMP Launcher

A mere 6 hours after creating this post a major update dropped for the BeamMP launcher providing full native support for Linux, but only for the uncompiled version. Unfortunately I can’t edit the post so I’ll provide instruction in this comment.

Ignore everything I said above, here all we need to do is compile the launcher so that’s what we’ll focus on.

!! Important for Steam Deck users !!

The general guide starts here

First you need to clone and set up the vcpkg dependency manager. Open the terminal and type these commands

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh --disableMetrics

Then run this command

export VCPKG_ROOT="~/vcpkg"
export PATH=$VCPKG_ROOT:$PATH

Now navigate back to the home folder

cd ~

check to make sure you have this dependency

make --version

If you get an error then you need to install it.
Run ONLY the command for your distro or derivative.
Debian sudo apt install build-essential
Fedora sudo dnf groupinstall "Development Tools"
Arch sudo pacman -S base-devel

Next install cmake. Again only use the command for your distro.
Debian sudo apt install cmake
Fedora sudo dnf install cmake
Arch sudo pacman -S cmake

Now with dependency hell out of the way, lets get to the fun stuff where you see lots of test fly up the terminal window like a real cool developer.

Using the terminal clone the BeamMP launcher repo

git clone --recurse-submodules https://github.com/BeamMP/BeamMP-Launcher.git

Navigate into the directory

cd BeamMP-Launcher

Then run this script

cmake -DCMAKE_BUILD_TYPE=Release . -B bin -DCMAKE_TOOLCHAIN_FILE="~/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-linux

If all done correctly you should now see the glorious sight of mesmerizing text flying high up the terminal windows. If not and you didn’t install the package containing make, then do that now and rerun the command. If you did install the package and you still get an error, then I don’t know what you’re missing. Double check the commands you’re using and then request help here.

At last the final command (make sure terminal is in the BeamMP-Launcher directory).

cmake --build bin --parallel --config Release

One cool wall of text later and congratulations! you’ve successfully compiled the BeamMP launcher. It is located in ~/BeamMP-Launcher/bin/

This launcher can be run from anywhere and the folder of cache that it creates (also used for mods) is located at ~/.local/share/BeamNG.drive/

I hope this helps. Enjoy!

1 Like

I compiled the BeamMP executable but the game crashes on launch. The steam version (normal and vulkan) works fine so I dont know where is the problem with this BeamMP linux version.

This is the beamMP logs:

[19/11/2024 13:26:51] [INFO] Mod caching directory: ./Resources
[19/11/2024 13:26:51] [INFO] BeamMP Launcher v2.3.2
[19/11/2024 13:26:52] [INFO] Launcher version is up to date
[19/11/2024 13:26:52] [INFO] IMPORTANT: You MUST keep this window open to play BeamMP!
[19/11/2024 13:26:52] [INFO] Game Version : 0.33.3.0
[19/11/2024 13:26:52] [INFO] Game user path: /home/fairplex/.local/share/BeamNG.drive/0.33/
[19/11/2024 13:27:06] [ERROR] Game Closed! launcher closing soon
[fairplex@archlinux ~]$

@scrollcaps @Linda420 I have moved this topic into the FAQ category. The FAQ category is locked so it will prevent this post from getting lost in the sea of people asking us why they can’t log in while already being logged in.

okay, very interesting, what does it say in the game crash logs in your user folder and is it possible if you could just manually ./BeamNG.drive.x64 and see its output in the terminal?

:skull:Moved us back to support because being in the FAQ requires reply approvals.

1 Like

There we go, that’s better

After testing further, the issue seems to be that the BeamMP launcher starts the Vulkan version of the game, which dosn’t work correctly under wayland.

Is there a way to change the default version of BeamMP?

1 Like

oh, right…

:warning: :warning: :warning:

for instance, in Steam Deck’s gaming mode, which is using wayland, if you were to try launching the NATIVE BeamNG binary from
~/.local/share/Steam/steamapps/common/BeamNG.drive/BinLinux/BeamNG.drive.x64
it then hilariously launches it in 1x1 pixel resolution. but then in its desktop mode, which is kde on xwayland, that can run both X11 and wayland apps, beamNG DOES work, except for the horrible screen flickering (epilepsy warning!), not to be confused with tearing, which can be fixed with a compositor

this is because the game itself, BeamNG, was coded for X11 windowing system, aka the Xorg server, ONLY! it cannot render the window frame, so it defaults to nothing. but of course, obviously, other PROPERLY CODED games, any software, actually, unlike beamNG, DO WORK as intended, wow! :astonished: :exploding_head: i know, i know, these are very shocking news to all the fanboys of this game. so there is NOTHING you can do about this, it simply just does NOT tell your window system (wayland) what resolution to use, therefore it does NOT support bare wayland. this partially applies to xwayland where beamNG may flicker (not tear!), so you have to log out from your session and to your your desktop manager (e.g. SDDM) and you can pick the X11 window system from there.*

X11 has been discontinued for YEARS even by the time vulkan and native binaries were released for beamNG. nobody uses this legacy boomer software that is slow and non-maintainable. that’s why steam decks ship with wayland by default. this goes against what beamNG devs are trying to accomplish. i cant explain this devs’ stupid decision

:smiley: :+1:

instructions how to use NATIVE BEAMMP with PROTON / STL / WINE BEAMNG:

This isn’t a fortune 500 company, no need to take the piss. Wayland itself still has many bugs so I can’t blame them for focusing on other things and waiting for it to fully bake. Yes the Steam Deck uses Wayland, but that’s not used as a desktop, it has a lot stripped out of it. You can use Wayland like a Windows user (little to no modifications) and probably get by mostly fine, but that’s not the point, try get your hands dirty and Wayland will be dirty.

Ok I understand your frustation. But we know that the game works fine if:

  • Ran using Direct3D, on both X11 and Wayland
  • Ran using Vulkan, on X11 only

So as we have to compile BeamMP ourself from the source, there should be a way to tell BeamMP to run the game with Direct3D instead of Vulkan which is experimental. To me its more like a mistake to make Vulkan the default version of BeamMP launcher.

of course it does! its only vulkan that doesnt… :sweat_smile: you can symlink your native path to the direct3d version. the link to the instructions for that are in my previous comment, but here it is again anyway :+1:

hopefully you’ll get it running!

Everything is laid out in detail since I had to solve the exact same issue. Running DirectX BeamNG on Linux without Proton/Wine is sadly impossible.

Please check my topic if you need help running BeamMP under DirectX.