Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] FreeBSD Compatibility with Distrobox? #637

Open
ThisNekoGuy opened this issue Feb 26, 2023 · 8 comments
Open

[Question] FreeBSD Compatibility with Distrobox? #637

ThisNekoGuy opened this issue Feb 26, 2023 · 8 comments
Labels
enhancement New feature or request

Comments

@ThisNekoGuy
Copy link

Is your feature request related to a problem? Please describe:
I'm not familiar of the possible technical limitations of Distrobox, so
I was wondering if it would be possible to use on FreeBSD; and, if not,
how likely that could change in the future?

The purpose for the question (personally) is because FreeBSD (technically)
does have (janky) support for Linux Steam and a debatably jankier method
of running (old versions of) Wine for playing games through Steam, so I was hoping that
using Distrobox as a gaming work-around would be a more effective possibility.

Describe the solution you'd like
Possibly a Distrobox solution for enabling FreeBSD compatibility

Describe alternatives you've considered
Just not using FreeBSD:sob:, though I ask this in hopes of bettering its software availability

Additional context
In case someone unfamiliar asks "why not flatpak:"
that's not a FreeBSD compatible solution, as far as I'm aware,
due to Flatpak requiring Linux Namespace support from the Linux kernel itself
for which there is no *BSD compatibility solution.

@ThisNekoGuy ThisNekoGuy added the enhancement New feature or request label Feb 26, 2023
@89luca89
Copy link
Owner

Hi @ThisNekoGuy

distrobox depends (for now) on either podman or docker, so for it to work anywhere, it needs one of those to work

due to Flatpak requiring Linux Namespace support from the Linux kernel itself
for which there is no *BSD compatibility solution.

The technologies at the base of distrobox (either docker or podman) are containers, which use kernel's namespaces to work

@ThisNekoGuy
Copy link
Author

ThisNekoGuy commented Feb 28, 2023

Apparently, they both have FreeBSD ports 🤔
How, I'm not sure; given what you said

https://ports.freebsd.org/cgi/ports.cgi?query=podman&stype=all&sektion=all

https://ports.freebsd.org/cgi/ports.cgi?query=docker&stype=all&sektion=all

@89luca89
Copy link
Owner

89luca89 commented Mar 9, 2023

Worth a try @ThisNekoGuy I don't have any *BSD handy now, let me know how it goes :)

@ThisNekoGuy
Copy link
Author

I was actually asking because I didn't want to take thenplunge into BSD territory by wiping my system to do so if it isn't possible :v
I would be the guinea pig if I had spare hardware, but I don't...

@89luca89
Copy link
Owner

89luca89 commented Mar 9, 2023

That's ok, if someone else is interested in this, we'll gladly hear the outcome :)

@luc14n0
Copy link
Contributor

luc14n0 commented Apr 4, 2023

Hi there,

The fundamental problem here isn't Distrobox itself really, but FreeBSD. There have been efforts to make Podman functional under FreeBSD? Yes, but Podman on FreeBSD will run... FreeBSD containers. To run Linux containers on FreeBSD you need something else like Containerd, and even though this is all still experimental, as far as I can tell.

So, let's assume that Linux emulation is mature enough (I can't really say whether this is the case at this moment) and someday -- if the day comes at all -- Cointainerd also matures on FreeBSD enough to allow running smoothly Linux containers on FreeBSD. Then somebody can start thinking on possibilities on Distrobox side of integrating Containerd with the goal of running it under FreeBSD.

Now, since Steam was mentioned it's worth mentioning that the idea of using Distrobox to run Steam on FreeBSD is not good, in general. Why, you ask? Because we'd be putting layers after layers of abstraction upon each other.

Steam itself under Linux is only officially supported under Ubuntu, other distros have to go through their hoops to make packages available, and it's basically a "container" based on (yes, you guessed) Ubuntu -- I'm not familiar with Steam running directly on Ubuntu, though, so I can't say how differently it runs there compared with other distros -- that uses Proton (a fork of Wine) to avoid all the nuisances of porting games to run natively on the numerous Linux distros out there.

Running games on Linux through Steam can be a challenge already depending on the choices of both hardware and game we make. Running games on FreeBSD is even more challenging because Valve doesn't produce a Steam client for it. Although I honestly can't say, or even imagine, which solution is better on FreeBSD: using Linux Steam through Linux emulation or Windows Steam through Wine; I wouldn't hold my breath for running Steam games with the help of Containerd (and if someone brings Containerd to the list of supported container technologies on Distrobox) plus Distrobox.

@0x006E
Copy link

0x006E commented Jan 3, 2024

The fundamental problem here isn't Distrobox itself really, but FreeBSD. There have been efforts to make Podman functional under FreeBSD? Yes, but Podman on FreeBSD will run... FreeBSD containers. To run Linux containers on FreeBSD you need something else like Containerd, and even though this is all still experimental, as far as I can tell.

Actually now, podman is able to run Linux containers (instead of containerd). The freshports mentions an example (sysutils/podman, check the pkg-message section) and it works, you can run a linux container under FreeBSD. But you cannot run podman as rootless. I am experimenting with distrobox to achieve a working box. Maybe in the future when things are not janky as this, distrobox will work with freebsd nicely

@quicktrick
Copy link

FreeBSD + bhyve + any Linux VM (I usually use Void Linux) + docker or podman, etc. This is an excellent solution, I use it a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants