Linux Compatibility Mode, Linux Jails, or How to Make FreeBSD my daily driver :)

By way of background,

I switched over all of my daily driver type computers to Linux Mint 21.1 Vera, from mostly MacOS Mojave about a month ago and I've been impressed with how well it has been going. I won't be going back (I'm sick of the "We won't allow you to install our software on your old machine" rigamarole that Apple and Microsoft seem to love). Since the early days of Linux Kernel 0.9 and the first editions of SLS and Slackware, etc. , it's breathtaking how far things have come. My various systems all work with their variety of hardware and it's pretty painless. I can do my work - lots of zoom meetings, coding (dotnet and python), database work (sqlite, mysql, postgresql), data work (R, rstudio, jamovi, jasp, rapidminer), working with MS stuff (virtual box, libreoffice, etc), and multimedia (Rhythmbox, Shotwell, OBS, Shotcut, etc.). I have the luxury of not having to run anything proprietary that I don't want to. Anyhow, I like the fact that the distribution works so well.

On the other hand, I have used FreeBSD for as long as anything else (as both a fallback desktop and as server) and I prefer the way that it does stuff - init, audio, and probably most importantly to me ZFS. Sure Linux "does" ZFS, but I don't think it does it as well as FreeBSD. I would really like to run FreeBSD as my daily driver. But, when I've tried to do this in the past, I've always hit snags that I couldn't quite get past - usually having to do with linux-only ports that weren't available on FreeBSD. Tempus fugit and here we are in 2023 and I'm willing to invest some more effort in solving this conundrum.

My question for y'all is what's your experience with running Linux apps these days on FreeBSD. Do most just work, or are there tons of caveats? Does running them in a linux jail make them work better or is it mostly just an isolation mechanism? Does using the Linux Compatibility mode litter the OS with a bunch of crap or is it relatively contained?

I don't mind running a Windows VM as it's a toy OS in my mind and it's fairly easy to run what few MS apps I need in one. But running a linux VM doesn't appeal to me at all. The kinds of apps I would envision running there are really memory and video demanding apps (video edits, data mining, etc) and I would like them to run in the host OS.

I appreciate your sharing your linux on FreeBSD experiences and insights.

Thanks,

Will
 
In my personal experience it depends, for example, running steam is effortless, it just works because somebody made scripts for it to work. On the other hand, if you want to install linux app on fbsd you will have to solve tons of dependencies, especially if you use standard linux base(centos 7). For me, its not worth it, but its just my opinion, it all depends on how much you want to hastle with it.
 
I think if you want to do things with FreeBSD then do it in BSD way.
Of course you can run Linux programs on FreeBSD but it will have its problem.
There are many programs works on FreeBSD, much of them.
If you want to run a program that does not on FreeBSD pkg/ports, find an alternative. There are some.
 
I was using brave on Linux and now use Firefox on FreeBSD. I actually like the way that Firefox renders css much more than how brave or chrome renders it. It's actually got a better and more accurate renderer in my opinion.

Also, you may be able to use widevine drm plugin with Firefox Linux port

Code:
pkg install www/linux-firefox

I've not actually tried it though. But widevine is used by some streaming services to playback video.
 
To leverage a famous quote... 'anyone, anyone?'.

I'm not a zealot. I'm just interested in getting my apps running on FreeBSD in as sane a manner as possible. If that's what is meant by the BSD way, I'm on board, but if the BSD way means swapping out dotnet for mono, or lisp, I'm not. Same goes for rstudio, and co. For the most part, I don't mind swapping out Rhythmbox and Shotwell for similar apps that run on FreeBSD (if that's needed). But, it appears that there are still a few hangers on that don't run on FreeBSD and don't have acceptable alternatives. I'd like to be able to run them in FreeBSD, if that's possible using the linux compat or jail idea.

I was hoping somebody would have some insight on running the compatibility layer for apps or experience using a linux jail for the same. I don't really care about viewpoints that think it's a waste of effort, if you haven't actually tried it.
 
To leverage a famous quote... 'anyone, anyone?'.

I'm not a zealot. I'm just interested in getting my apps running on FreeBSD in as sane a manner as possible. If that's what is meant by the BSD way, I'm on board, but if the BSD way means swapping out dotnet for mono, or lisp, I'm not. Same goes for rstudio, and co. For the most part, I don't mind swapping out Rhythmbox and Shotwell for similar apps that run on FreeBSD (if that's needed). But, it appears that there are still a few hangers on that don't run on FreeBSD and don't have acceptable alternatives. I'd like to be able to run them in FreeBSD, if that's possible using the linux compat or jail idea.

I was hoping somebody would have some insight on running the compatibility layer for apps or experience using a linux jail for the same. I don't really care about viewpoints that think it's a waste of effort, if you haven't actually tried it.
I was moved from Windows then Linux and now FreeBSD. I still have Windows and Linux on my dual boot.
Some programs don't have FreeBSD/Linux version then I boot to Windows to do things: Office, Adobe..
I usually works with CLI. I did install Debian jail on FreeBSD and it ran well except that don't have systemd so sometimes you need to config. I didn't have experience with Linux GUI on FreeBSD but maybe it will more complicated.
There are source on Github for most of programs so you can complie them yourself.
 
I have been using FreeBSD as a daily driver for over 5 years now. I don't necessarily need Linux compatibility, but there are situations where it's an improvement.
So I have two USB sticks with two different Linux distributions permanently installed on them.

When I need Linux compatibility I plug the USB stick into the PC. It is that simple and cheap to solve this problem completely.
 
There is also bhyve you can look into, but depends on what you need to run. I usually use linux compat (ubuntu) for browsers with widevine for drm -netflix/spotify, but I don't know much more than following guides and copy pasting commands. If it's something that requires fixing or tinkering, that is beyond my knowledge, but I also don't look into it much since it is not essential for time being and I rather spend that time with something else freebsd related, since I'm at most level 2 freebsd newbie and I still have more things to learn there. Baby steps.

But I usually also have a linux VM in bhyve handy, to give things a try there and see how it goes. I don't have a second gpu to use pass-thru, but some things I can run with Xforwarding, and use VNC to maintain the VM, but that depends on your system and the apps you use. I don't know if it works for your case, but if it is something you can run in bhyve to at least a functional level, then it is not a bad idea to have a bhyve VM while trying to get things to work in linux compat mode and eventually switch to that.
 
decuser I'm sort of in the same boat, except I'm not a developer or sysadmin of any kind like you are. I'm more of an enthusiast and I prefer not to run Linux or Windows on my computers that aren't my Macs. I've been running Linux on and off since around 2008 on various machines I've owned, so I'm comfortable with the command line where necessary, but I have simple needs when wanting to run FreeBSD as my daily driver. I need a browser and a competent Discord client. When I say "competent" Discord client I mean one that works with screensharing/streaming and stable voice calls. If that'll take time to get working properly on FreeBSD then I have my M1 Mac mini or M1 Pro MacBook Pro if I need to do stuff that FreeBSD can't. I'm waiting on FreeBSD 14 to hit release before I make the switch because I'm looking to get a better GPU than my Intel ARC A770 that has full support for Xorg.

Anyway, as others said, baby steps. I'm taking baby steps by playing around with FreeBSD on a miniPC I got from MicroCenter (an ASUS PN50 with an AMD Ryzen 7 4700U APU with Radeon Graphics) and it works great but under KDE audio crackles like crazy, though under XFCE it's fine... It's a weird KDE issue/bug I guess? Under my dualboot with Windows 11 Pro x64 audio is fine there too... I have no idea what's going on there. I have had FreeBSD working on my AMD Radeon RX 480 4GB on my target machine for daily driving (my custom built system with a Ryzen 9 3900X with 64 GB of RAM) but a driver update bricked it and I've since gotten the ARC A770 to replace it (for now)... I'll be watching this thread for any advice that can be given to those of us that wanna run FreeBSD full time. I hope this helped.

EDIT: I'm actually gonna trial run a full time FreeBSD system starting tonight since I got a new AMD GPU that'll work with it. Wish me luck.
 
Last edited:
Back
Top