← Back to context

Comment by wolvoleo

4 days ago

I really don't like using projects like linuxulator or the linux compatibility layer (are those different?). I'm running FreeBSD because I prefer it over Linux. I don't want to make it like Linux. If we give in to that we'll end up importing more and more linuxisms and in the end everything will require those.

Bedides, the FreeBSD port of codium works fine and with a few setting changes you can install even the proprietary extensions like the Remote SSH.

There's a few tools I don't use because they don't have a FreeBSD port. I've asked the developers and they were like 'just use the compatibility layer'. But nope, then I'll just pick something else.

Right now I have nothing using the Linux compatibility layer at all which is great.

    > (are those different?)

Its the same thing - just different naming.

    > I'm running FreeBSD because I prefer it over Linux.

Me too but there are things that will not be ported (at least soon) anyway ... that is where Linux Compat Layer helps. Even simple watching movies with DRM bullshit (Widevine) or using a Brave browser that is not in the FreeBSD Ports ... or running Linux games ... or CUDA workaround ... and no NopeVidia will not provide official CUDA support anytime soon.

Also please remember that entire The Matrix (1999) movie was rendered [1] on FreeBSD machines in Linux Compat Layer because the software used to do that was not natively available on FreeBSD an yet it sill run faster on FreeBSD in Linux Compat Layer then natively on Linux. Let that sink in.

Even today [2] playing Linux games in Linux Compat Layer is faster then natively on Linux - with more FPS and more 'stable' gameplay.

Hope that helps.

[1] https://freebsd.org/press/press-rel-1/

[2] https://youtube.com/watch?v=lK6eRbz9DkM

  • In the reference video you posted he literally states that the FreeBSD version was less stable than Linux, that he experienced repeated game crashes in FreeBSD, that frame rates would drop 50% without explanation and that the overall experience was better on Linux than FreeBSD or Windows.

    It should also be noted that it’s also not native on Linux either as he’s using Wine on both Linux and FreeBSD

  • Maybe with games from 2004 and the like, the ones built to run with a single thread. With ntsync (and previously, esync/fsync) that's not true anymore with games designed for multiple cores.

  • Why are you using a scam crypto browser?

    • Brave does fall under crypto, yeah, but I don't know about it being a scam. You don't need to engage with the crypto/web3 and all of those can be disabled.

Do the "linuxisms" inherent in a compatibility shim like linuxlator get exposed to users in day to day application use?

I figured it'd be more like how proton provides windows APIs on Linux and applications "just work" as per normal.

I admire your purist approach, but most folks don't have that luxury and just need to make do with what works today for their tooling of choice (or more common, what their employer thrusts upon them.)

  • Compatibility layers can also introduce security bugs. One of the reasons why it was removed from OpenBSD.

    BSD is more for purists anyway. Virtualization seems to be a better option than compatibility layers for the odd program that doesn't work natively.

    Maybe that it's different for Windows API's on Linux, because by virtualizing Windows, you're still dealing with an unfree OS.

    • Theo de Raadt, 2010, on the removal of emulation: “we no longer focus on binary compatibility for executables from other operating systems. we live in a source code world.”

      (Since then, OpenBSD has gained support for virtualization for some operating systems including Linux, through the vmm(4) hypervisor.)

      1 reply →

    • Technically any software abstraction layer can have bugs (security or otherwise.) That doesn't mean we should abandon higher level abstractions.

      If the bsd posix equivalent is the highest layer your willing to use, you'll miss out on some great software.

    • FreeBSD used to have compat libraries for old FreeBSD releases itself. With NetBSD it used to be the same.

      OpenBSD, well, by policy running old, insecure binaries it's basically a no-no.

      1 reply →

Leaving a potential solution on the table that could make your own life easier is silly to me. You don't have to use it for everything and you shouldn't worry about some Linux takeover. Id imagine that for user-land desktop environment related stuff there isn't much difference. Gnome on FreeBSD and gnome on Ubuntu can't be doing things that different from one another.

  • Sometimes it's better to have some discomfort now if it means there is a better chance of things working properly in the future.

    Making your life a little easier without having a bigger picture is how you get trapped in local optimums.

  • Well if I wanted to make my life easier I would just use ubuntu or something. Or even Windows? Because even between Linux distros there's a lot of difference in terms of usability. FreeBSD is not something you can run without investing time to figure things out, you really have to be willing to think different. But that's good for me, I don't like going with the flow, I'm an anti-team player :)

    But by supporting options that have real ports, I stimulate those. By giving in to the easy way I will make that more palatable for developers.

    And Gnome and KDE have native ports. I really hate the opinionated design of Gnome so I don't use it, but I do use KDE. It does have a lot of cool tweaks by the maintainer to make it work properly.

    • I was just saying, is your goal for the os to get out of the way so you can get a job done, or is your job tinkering with your os. I've ran opensense which is a freebsd derivative, and I daily macOS/Darwin which is bsd. Honestly until I need to mess with some systemctl flags I get the same experience from bsd and Linux. Posix and all...

      11 replies →

Author here: I get where you’re coming from and long term, I agree. I don’t want FreeBSD to slowly turn into "Linux but different."

For me though, the Linuxulator is about practicality today, not philosophy. It lets me use one or two tools (like the VS Code server) without changing how I actually run my system. Everything else stays native FreeBSD.

It's optional, isolated, and doesn't pollute the base system. If native ports exist and work well, I'll always prefer those. But when something critical doesn't, the compatibility layer keeps FreeBSD usable in modern workflows instead of becoming limiting.

So yeah.. I see it more as a bridge, not a direction.

Which is the same reason I don't like Proton, as it in the end doesn't change Windows status quo as the platform for game developers, and hardly any different from using MAME, Vice, Stella, Mesen, Linux-UAE,....

  • Valve tried really hard to steer the world into native Linux ports, it simply didn't pan out, that ship has already sailed.

    • And now is subject to the whims of Microsoft, wherever Windows, DirectX, Visual Studio go, Valve must follow.

      Additionally, everyone is betting on Valve as if Steam would be around forever serving Linux gaming with Proton, except no one lives forever, and who knows what will happen to Valve, when current management passes the torch.

I'm running macOS because it runs desktop applications, and the macOS desktop itself, fairly well.

But I wouldn't mind if macOS (a BSD-flavored Unix) added support for linuxlator, and jails, pledge, and various other BSD-flavored things.