9

I am having trouble opening the Steam client after I have already installed it. I am using a Raspberry Pi 4 running Ubuntu 20.10 64-bit. I have installed Steam directly from their website. When I try to open steam, it says:

Steam needs to install these additional packages: libgl1-mesa-dri:i386, libgl1:i386, libc6:i386

and asks for my password. I put it in, but now it says:

..........
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libgl1-mesa-dri:i386
E: Unable to locate package libgl1:i386
E: Unable to locate package libc6:i386
Press return to continue:

I press the return key, it starts running, but then it stops loading and a window pops up that says:

You are missing the following 32-bit libraries, and Steam may not run: libc.so.6

What should I do? I just started using Ubuntu this past week.

5
  • 9
    I don't think raspi is capable of running i386 or amd64 software unless it's been ported to ARM. Someone else may know better. Have you tried to install steam from your package manager?
    – Nmath
    Nov 16 '20 at 15:56
  • 1
    If you are lucky you may get ARM support after Apple release their new Macs because it is very unlikely that Steam will abandon the Mac market. Then again, it's also unlikely that Raspberry Pi will be able to run Mac software due to proprietary API, proprietary hardware and the CPU power needed for games
    – slebetman
    Nov 17 '20 at 2:41
  • 2
    @Nmath With a lot of leg-work it’s actually possible to run x86 code directly on a RPi (or ARM code on a x86 system, or either on a PPC or SPARC system, etc) using QEMU. The performance hit from the emulation is bad enough though that it’s useless for most things other than doing cross-architecture software builds (for example, Docker leverages this for multi-architecture builds) or rudimentary testing. Nov 17 '20 at 3:08
  • @AustinHemmelgarn Unfortunately, a lot of that legwork will need to be done by the CPU, and RPi's are not exactly intended to be high performers in that regard...
    – Shadur
    Nov 17 '20 at 10:25
  • 1
    ARM processors, used by Raspberry PI, is different on a fundamental level from x86, supported by Steam. Software targeted at one can not run on the other without an emulator (like qemu and box86, suggested on the answers). Ubuntu is able to support both because it is free software, so the whole source code is available, thus it can be compiled to different processors types. Software on Steam, on the other hand, are distributed in binary only form, where they are already compiled to the x86 processor (as well as Steam itself).
    – lvella
    Nov 17 '20 at 15:08
29

ARM processors (Raspberry Pi) are not capable of running i386 or amd64 software packages which are designed for x86 processors (and NOT ARM processors or instruction sets).

Further, Steam does not have an ARM variant at the moment for you to install/use and only supports amd64 at the moment, from what I have found in my research.

So, Steam is not likely to function under an RPi environment, judging by its dependencies.

Similarly, most programs that Steam would install or depend upon need to be amd64 or i386 versions, which ARM will not be able to run. Therefore, Steam is not going to function on an RPi. An RPi is also not capable of running resource wise most of the things on Steam either.

2

You can use Steam (and some x86 software) with Box86 (https://github.com/ptitSeb/box86).

You also can use PiKISS (https://github.com/jmcerrejon/PiKISS) to run some extra software, and should help you a lot as well.


You can see Steam in action in this video: https://www.youtube.com/watch?v=i0XImOEgVts

This video also shows it, with some extra information and examples of games running: https://www.youtube.com/watch?v=MkTbvknZQKU

In the description of this 2nd video, you see the following commands:

sudo apt install linux-cpupower
sudo cpupower frequency-set --governor performance
sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-2.0-0

According to it, they were used to make Doom3 run on Raspberry Pi.


Remember, this is all very beta stuff, even if it is minimally functional. You may have to make some compromises to get something running, or it may not run at all.

Sometimes, the compromise is in performance.

2
  • Thank you so much! I have decided not to try to run it anymore, because I have another computer that should work better. Though, it stopped working recently.
    – LegoManSam
    Nov 17 '20 at 16:38
  • @LegoManSam Thank you for accepting my answer. If you can get it to work, you can install Steam Link and connect to your other PC, running the games there. It supports controllers and keyboard+mouse. I recommend using it over Ethernet, instead of Wifi. Nov 17 '20 at 18:34
0

I have tried running x86 apps on a Pi 4, though not Steam in particular, and I'm not sure if Steam can run on under an ARM kernel inside an x86 userland. You will need to set up an emulator, such as QEMU.

The perfomance of CPU-bound apps is not that bad (I expected the performance hit would be more than 2x), but any app using hardware acceleration features (main use case for Steam) will most likely be unusable. You might have luck with some older games though.

Your immediate problem with missing packages is that you don't have the i386 architecture on your system, which can be easily added with

dpkg --add-architecture i386

I strongly suggest you chroot to a separate folder before doing any experiments, unless you can easily scrap your Ubuntu installation if something goes wrong.

-1

You need the arm64 version of Steam, which you can download as a .deb file from here: https://ubuntu.pkgs.org/20.04/ubuntu-multiverse-arm64/steam-installer_1.0.0.61-2ubuntu3_all.deb.html

See this thread for how to install .deb packages using the command line: How do I install a .deb file via the command line?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.