also,
a few notes:
Auto update is NOT implemented for the Linux version. Please update manually ASAP as updates contain security patches.
- it should be mentioned that ALL and ANY these instructions work ONLY in vanilla unmodified
bash
shell, so NO, your favouritefish
orzsh
isnt gonna do the job. elementary POSIX-compliant shenanigans, you should know that. - btw notice that its vcpkg, however we use cmake anyway, oh yk it’s a strange mix of windows and linux here and there haha, just remember that BeamMP is a volunteer (school) project lol haha…
- STEAM DECK?! if you wanna do this on a Steam Deck and youre on SteamOS, AND you use it as a “portable linux daily machine” like me - tl;dr is DO NOT ATTEMPT TO DO THIS ON STEAMOS. for all of you normal people who DONT hack the ■■■■ out of a Steam Deck - do not even BOTHER. because you will simply brick it. and then you will not have your gaming handheld device anymore. you will cry and RMA it because you will be unable to reimage it by yourself. BUT FOR THOSE WHO AT LEAST KNOW 1 SCRIPTING LANGUAGE - installing the
base-devel
package on SteamOS and any other dependency it requires to compile theBeamMP-Launcher
binary (which, by the way, cannot be renamed, it’s hardcoded to rename itself back toBeamMP-Launcher
, hope you found this cute little factoid interesting) - WILL BE FUTILE since SteamOS is a ■■■■■■ up read-only distro where YOU will have to make your ENTIRE FILESYSTEM writable/editable to install ANYTHING that isn’t a flatpak (like your chromium or ProtonUpQt, for example), okay, let alone building a native beamMP client (yes, surprise, 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 “uhm actually it’s for security reasons, so that you dont install malware into your root filesystem”…
ohh sod it, i made a guide for y’all how to bypass that ■■■■ alright
very difficult stuff below. as difficult as a 10000 piece puzzle. or a frame perfect trick. or beating Rain World. or trying to survive on the nether highways on 2b. or hitting a 260 unit longjump in cs 1.6. ah, whatever, you’ve literally havent done any of that
-
SO, ya wish to proceed with installing and compiling, as well as getting one step closer to using arch btw (kill me
), huh? HUUHHH??! very well. understand these risks: YOU THEN, HEREBY, UNDERSTAND ALL OF THE POSSIBLE AND UNFATHOMABLE RISKS OF BRICKING YOUR ONE AND ONLY STEAM DECK!
BEFORE YOU BEGIN THOUGH – TRY NOT TO ERASE YOUR STEAM DECK’S INTERNAL DRIVE, it is very difficult to update your steam deck’s firmware OUTSIDE of steamOS, though i say this on another system and i havent updated it in years (yes, i wrote this guide using a steam deck on nixOS). OH, that is, haha, unless you dont want to actually install anything. yeah, then just scroll to the bottom until you see the word “HOWEVER”…
–consider these requirements – we will be turning your steam deck into a stationary desktop PC (uhmm… actually it IS already a PC!):
(1). get/buy an external (!) SSD (& a cable to connect it with - preferrably usb-c to usb-a and/or an adapter) AND a dock station AND/OR a usb-hub for your Steam Deck (w/ at least 3-5 USB-A ports for the periphery and general quality of life, 1 USB-C PD for charging, OPTIONALLY with a built-in NVMe for an SSD - though not recommended); also, as mentioned before, get a USB-C to USB-A adapter in case you are going periphery-less by using only the track pads and the 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 (EDIT: add"usbcore.autosuspend=-1"
to the kernel parameters to disable USB power management), VERY OPTIONALLY even an HDMI cable and some fancy curved 4k monitor if you cant stand the smol 720p60fps LCD screen, you casual.
–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 during AND/OR after the installation, because its recovery image is not your standard calamares gui, not to mention that the image itself is not even a live .iso. to make matters worse, steamOS reimages itself after an update anyway - all the EFI entries, for example, will be gone, therefore it is impossible to install anything alongside it on the same drive, which is why we’re getting a secondary system to tinker with on an external drive in the first place! 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!
–also, if you’re wondering “why SSD and not a microSD - its so much easier!!!” - you can go ahead and close this tab. of course i thought about this. but i thought this was UNIVERSALLY ■■■■■■■ KNOWN that they’re extremely ■■■■■■■ slow (10x), they’re a piece of ■■■■, unreliable as ■■■■ and fragile (these last for a year AT BEST - ever owned a professional camera?). seriously, just shut the ■■■■ up and get an SSD. ■■■■, thank you. anyway…
(2). connect keyboard (and optionally A singular (1) mouse IF there will be space after the second step - ■■■■, i really have to mention the quantity of mice to connect to these people… yeah, connect ■■■■■■■ 6.9 mice, you ■■■■■■■■),
– of course, at this point, if you know how to and/or haven’t already, use SSH.
–*WARNING: hot swapping (aka hot plugging) while connected to a dock station could temporarily disable ALL OF YOUR PERIPHERY, INCLUDING BUT NOT LIMITED TO SSDS!!! this is enough to potentially cause corruption and loss of data. DO NOT disconnect, connect or reconnect ANYTHING while installing, burning or otherwise making ANY changes to your drives. this includes (un)-plugging the charger! EDIT: ■■■■. as mentioned previously, add"usbcore.autosuspend=-1"
to kernel parameters and you’re sorted
(3). connect usb flash drive (leaving the last remaining port for the keyboard, so use the track pad as mouse. if your distro of choice does not include trackpad/touchscreen drivers in live mode, rest in pepperoni. guess you’re gonna have to uno reverse it by plugging only the mouse and using the on-screen keyboard. if you dont even have an on-screen keyboard, then it’s time for you to learn how to connect to your steam deck via SSH and remote control that ■■■■■),
(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); hopefully you DO know how to do things by now - im not gonna explain everything!
(5). connect your external (!) SSD (unless your dock/hub has a built-in one),
(6). shutdown,
(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 confuse your internal steam deck’s nvme drive with your steamOS on it with your internal nvme drive of a usb hub! just follow your distro’s installation instructions…
–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 YOU ■■■■■■ UP, COMPLETELY BRICKED YOUR STEAM DECK, CRYING AND PANICKING): 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 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 have already caught 'em all. 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 - INSTALL ONTO YOUR INTERNAL STEAM DECK’S DRIVE! once you got your steamOS back, fancy trying all this again? i thought so, let’s get back into it:
(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!
(PSA: oh, by the way, haha, say goodbye to your beloved “gaming mode” because that ■■■■ just wont work with beamNG and beamMP. first and foremost, native beamNG is an X11 application, probably a crazy shocker if you didnt know this factoid. it basically means that this game only works in 1% of cases, because LITERALLY EVERYTHING ELSE is NOT using deprecated and outdated technology, so is the gaming mode, which uses wayland window system… oh, how i wanna see the look on your face when you’re gonna be all like “b-b-b-but what’s all this!!! it’s j-j-just 1 pixel… why do i get a black screen??? somebody heeeelp!!!” second, gaming mode wont work with beamMP, be it via proton or run natively, because… of the aforementioned problem. to learn more, google “wayland” and “x window system” and document any differences)
(11). and finally, YOU ■■■■■■■ DID IT!!!YOU’RE WINNER!!! congratu-■■■■■■■-lations!!! you’re amazing and not a lazy piece of ■■■■■■■ ■■■■, yay and hooray and ■■■■.
ahh, right, anyway, you may now proceed with the rest of the guide to compile this ■■■■■■■ beamMP launcher. oh and dont forget what i said literally in the first paragraph of this long ■■■ post though haha
-
here’s some out-of-the-box Steam Deck distro’s that worked for me (not in order, im just separating the links with numbers. anyway, my fav is definitely NixOS. its just soooo ■■■■■■■ gay, i love it. i think you should try it if you love spending over 6 hours doing nothing, like following these instructions):
(1) CachyOS Handheld Edition (arch, optimised 4 gamers, blah blah blah),
(2) Bazzite (fedora, can update firmware like steamOS (?), for epic gaymers! – also see Nobara, from the creator of Proton GE),
(3) EndeavourOS (at least it’s not Manjaro, copium… has steam deck drivers, obvs, its arch),
(4) NixOS (its own thing, HARDER THAN GENTOO! but so worth it. all the cool girls use nixos. and there is a lot of steam deck stuff, out of the box or not – NOTE: unlike other distros, nixos is very different. 1. it is a declarative system. 2. it is not FHS compliant. – this basically means that you will have to unlearn how to use linux the ■■■■■■ way and relearn how to do it the proper way. second, you will be unable to build / compile ANYTHING that is outside of nixos ecosystem! HOWEVER, there is a “dirty” way. SOON i will write a tutorial. for now, here are a couple of clues: nix.dev FAQ, nixos wiki FAQ (nix-ld part), nix-alien – it works though!).
(5) OR this assortment of ■■■■ – NOTE: if you wanna install windows – get the windows 10 LTSC edition. no, srsly, you should know by now where the technology is going - down the ■■■■■■■ ■■■■■■■. so i propose you get all your anti-spyware and anti-bloatware nukes ready, because there is a ■■■■■■■ war out there, if you dare to install win 11. it doesnt ■■■■■■■ matter what kind of hardware you got, when the system is going to take it from you anyway. anyway, nevertheless, vulkan on linux is faster than vulkan on windows, period. BUT beamNG on windows via directx11 is infinitely faster than running beamNG via proton or wine, which some of yall STILL do for some ■■■■■■■ reason… trust, native linux vulkan experience - better than anything ■■■■■■■ else. just remember to enable the shader pre-caching in steam download options… because without it, vulkan will be completely useless otherwise. and dont get me started on macos, steam deck will never be a hackintosh. if you’re that masochistic, try nixos (see above). -
HOWEVER!!! IF YOU ARE UNABLE TO INSTALL A SECOND SYSTEM, THEN RISK IT FOR THE BISCUIT EVEN MORE WITH THESE GUIDES THAT (TEMPORARILY) MODIFY STEAMOS – you just need to create a user:
(1) this simple guide,
(2) this github SteamOS issue,
(3) this reddit tutorial,
(4) this user space guide.
- (why yes, you DO have to do ALL OF THAT if you want your beamMP on your brand new steam deck, what did YOU expect? no, beamMP does not have any maintainers who’s gonna conveniently pre-compile binaries for you. and quit whining, these are not the official instructions, they’re MINE! muhahaha! )
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), or even download a pre-compiled binary of BeamMP-Launcher
from somewhere off the internet, 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…) EDIT: i propose usage of AppImage.
5. in case you are having a problem with your screen blinking or flickering (NOT screen tearing!) with a black screen, i rambled about it here: