Using LXD to get 32 bits applications/steam to work on an amd64 only systems

That is not even close to the same as me installing Steam and instantly running a 32bit game with no extra work.

I can do that on any distribution that supports multilib. On Ubuntu 19.10+, that will be impossible to do from those version’s repos. In less than 9 years, it will be impossible to do from any version of Ubuntu. I’m willing to bet that in 9 years, I’ll still be able to run my 32bit games in Steam just fine on other distributions that are not making this choice.

With containers, you can create snapshots and even have multiple Steam accounts available in different containers.
Once you create the base Steam container, you can replicate instantly. You can even get a ready-made container image, premade to use at once.

Increasingly, I have the feeling that you are not been running Ubuntu in the first place. What version are you running now?

I have a KDE neon install around here somewhere, but it stopped being my main quite awhile ago. I’m here mostly because Ubuntu is the golden standard for testing games on Linux. Taking that away takes away years of progress that Linux has made. Now there is absolutely no distro that can be easily recommended as being the go to gaming distro. No one wants to rely on containers which will stop working at some point.

I’m also here because I help run a good sized Linux community which frequently recommends Ubuntu flavors + KDE neon to new users. These changes make it so we have literally one distribution which we can recommend after 18.04 goes EOL: openSUSE Leap. There is no other point release distribution out there other than Ubuntu or openSUSE Leap that have shown to provide enough stability to be recommended to people brand new to Linux.

There was an update at the main discussion thread that Ubuntu will probably keep some main 32-bit libraries.

Containers and VMs offer a more stable environment but that’s a discussion for another thread.

Regarding openSUSE Leap and 32-bit/64-bit support there is some good documentation. In particular, they reiterate that if you have both i386 and amd64 packages installed at the same time, then it’s bad and can cause runtime errors. In addition, there is no 32-bit toolchain.

So pretty much what Xbox is doing to run Xbox 360 games on Xbox One.

Will there be a plug-and-play solution to that problem or do we have to set them up ourselves? For gaming at least, Wine, Lutris and Steam as Snaps or Flatpaks might be the best way forward. Doesn’t solve driver issues, though.

Edit: Might be wrong about Xbox cuz what they’re doing might actually be emulation

Edit 2: Just wanna add that until there’re plug-and-play solutions that solves most problems that’ll be show up when 32-bit is dropped, why not wait until 20.10? That way, there’s more time to think of solutions that solves this problem.

from opensuse documentation:

“If an application is available for both 32-bit and 64-bit environments, installing both versions may cause problems. In such cases, decide on one version to install to avoid potential runtime errors.”
an application not package.

1 Like

In your blog you state to enable the graphic-driver ppa and
“Install the NVidia library, both 32-bit and 64-bit”

How’s that going to work out if there aren’t any i386 packages available?

This is in the container, which runs Ubuntu 18.04 LTS. There will be i386 packages in there until at least 2023.

Thanks for the nice/constuctive post!

One suggestion … could you maybe consider retitling the post though, the current description makes it look like it’s yet another heated discussion about 32 bits dropping and we have a few of those. It would be nice (imho) if the title here would reflect the content, like “Using LXD to get 32 bits applications/steam to work on an amd64 only systems”

Thanks, I updated the title.

Thanks for the input, that comment (like most of the similar ones) seems based on misunderstanding though. There you are assuming that 19.10 isn’t going to provide what is needed to be able to use your 32 bits softwares, which is not the case. It was clearly stated in the initial post that we are looking at the most appropriate solution.

Note that the archive is going to keep some multiarch support (32 bits variants of the packages built on amd64), at least for libc/gcc/…, it’s not impossible that extra packages/libraries do get multiarch enabled as needed.

In summary don’t overstress, we are going to figure out solutions and don’t plan to let our users down with 19.10.

Thanks, looks better this way :wink: !

I will not embrace this as a solution until I see benchmarks comparing running in a container vs. running natively.

Definitely!

I have been testing this diligently with Cs:go.

Why not say that unless there is a solution accepted by key external projects, at least Wine, then this change won’t happen. Then no one will stress. Then everyone knows they can not possibly be worse off.
This is turning into a change management case study, and not in a good way.

As said before we don’t intend to drop the ball and let our users without solution, nothing is broken yet for anyone so there is no need to overreact.

We got lot of good feedback, now we need to calmly review our options and make sure our plans are appropriate and cover for most needs.

I’m crossing my fingers and hope for the best

1 Like

Chromebooks can run Linux applications, and they use LXD to do so, with Project Crostini,
https://blog.simos.info/a-closer-look-at-chrome-os-using-lxd-to-run-linux-gui-apps-project-crostini/

Technically, they use a VM and in there there is a minimal Linux installation that runs LXD.
This was released in May 2018.

lxd looks really cool. The ‘mass’ discovery of lxd has certainly been an upside from all of this.

2 Likes