Just got my new laptop! Primary development OS debate...Linux vs FreeBSD

So just got my Tuxedo Pulse 14 laptop in, yay! Took a while, and the ship date was pushed. Smaller laptop makers I’m sure are getting a bit squeezed by the current chip shortages.

Unfortunately wasn’t emailed a shipping notification, so it was a surprise showing up on my door step. I got mine without SSD and with bare minimum RAM (8GB) given how OEMs tend to price up RAM and storage upgrades, so I’m buying my own NVMe and RAM (2x32GB). Unfortunately going to have to wait a few days for them to arrive, since I wasn’t notified when it shipped, but oh well. I can still boot Live USB sticks to take them for a spin and see how the hardware works.

So now my thoughts/debate. For my software development, while at the moment I’ve been using my Win10 desktop due to WFH, and find it fine, I’d like to be on *nix. I love FreeBSD on my NAS/server, however in the past when I’ve tried it, briefly, on my old laptop (which I never ended up using much for lack of travel), took a bit to configure/run X and such. I’m willing to make a concerted effort to try, but then again so many tools are tested/intended for Linux usage, it might just make more sense to run Linux. By preference I’ll be running Debian, if I go this route.

I will also be dual-booting or VM with Win10, because sometimes it’s handy to just have around Just In Case. Never know what bit of software might be needed that’s Win only (gah). Plus some possibly light gaming, although with Valve’s Proton which can run many Win games on Linux, for the light GPU duty games (Factorio, Terarria, similar) might be just fine. Or some even have native ports.

Anyway, thoughts on FreeBSD or Linux? Feel free to suggest something better (in your opinion) than Debian, but be prepared to support it by some concrete info.

IMNSHO Debian. Or really: Ubuntu if you want your Debian laptop life to be Debian, but a lot easier JFW. FreeBSD will mean you spend too much time fiddling and futzing and feeling somewhat left out of good oss things. More so even than Gentoo or similar Linux build your own distro things.

Any time I try a BSD setup I find a time sink and wish I hadn’t bothered. At least FreeBSD is the easiest of the BSDs…

My preference is Linux Mint (which is ubuntu based). Mostly I choose it over Ubuntu because I like the Cinnamon desktop environment, under the hood they’re pretty much the same. Mint also has a pretty mature stable of configuration and update/backup GUI based applications. I like it for family members who I’m pretty sure are not about to start learning the terminal.

Really that’s why I choose it over any other *nix distro. At least at my skill level, and aside from the more speciality/build-your-own distros they all work about the same for me (Ubuntu, Fedora, Debian, Manjaro, etc). Apache or ssh and similar config files go in the same place and work the same, systemctl works just the same on all of them.

I’d take Ubuntu/Mint over Debian even if only for the PPA’s available for the package manager. I got more important things to do than recompile the latest versions of a dozen different applications.

I’ll be interested to hear what kind of battery life you get on that machine with both Win10 and Linux. On the one hand Linux is usually lighter on resources so that increases battery. OTOH I’ve found it somewhat hit and miss what kind of idle/sleep/suspend modes different distros play nice with on different hardware.

At least on older laptops, maybe it’s changed with the newer stuff. I’m writing this post from a Thinkpad T520, my experiance might be a bit out of date.

You’re not wrong. Unfortunately. At least about *BSD as a Desktop system.

Server, I’ll challenge you on that, at least with standard F/OSS software. If you have something custom or commercial that’s specific, yeah, might need a particular Linux, agree with you there.

I think it comes down to what you USE it for - if your laptop is basically a host for an editor, a browser, and an SSH terminal, anything will probably work.

But if you install lots of various software packages ON your laptop, you’re going to want to aim at a common target - Ubuntu or similar.

I haven’t setup a laptop (using MacOS for many years now) but my “real” servers are Ubuntu LTS and my “play” systems are Gentoo - mainly so I can play around with weird software.

It might be fun to try a FreeBSD partition but beyond having the same setup on your server and your laptop I don’t really see the advantage.

(I use Ubuntu because it’s hugely popular so almost anything has been made to run on it. The equivalent Debian is probably fine but may involve more fiddling in some cases.)

Windows 10 is great in KVM (the Linux hypervisor), and you can get signed virtio drivers from Redhat somewhere - it’s a hair of a pain to install (like installing with weird SCSI cards), but well worth the effort.

Do you want to mess with it, or just use it? If the first, install whatever. If the second, Ubuntu LTS, with the hardware enablement kernel (gets you a newer kernel typically, 20.04 is up to 5.8 on that). Everything will just work, because Ubuntu LTS is one of the main targeted Linuxes for everything.

And then use VMs for a lot of your weird “barf packages all over the system” projects. Keep the host fairly clean and purely on mainline package managers.

1 Like

Great advice! Vagrant makes this strategy super viable since you can usually find pre-built VMs for a use-case or roll your own customized ones capturing setup you would otherwise need to do repetitively. (Obviously, exercise caution running random OS images from online :sneezing_face:)

Also if you build a pattern where the VMs are ephemeral (which is wise with Windows anyway) you don’t have to risk your OS license key(s) getting used up - you just keep them in a drawer and run on the post-install trail grace period all the time. (Obviously IANAL/YMMV)

Plus, you can snapshot the VMs. For a while, when the web-Zoom stuff wasn’t working right for me, I’d snapshot a Win10 VM, install Zoom, attend the meeting, and then restore to snapshot after.

The one downside is that you can’t do any sort of hardware accelerated video transcoding in a VM (without a lot of hassle), so I’ll do that on the iron, but I stick with OS packages, so not much in the way of custom stuff laying around from that.

1 Like

Speaking of laptops… just saw this:

Interesting times for hardware again!

System76 have always had Linux in mind first.

All some good advice. And yes, i want to be able to Just Use It™. Once I get the base installed, I do intend to work to use it as a primary day-to-day (other than my actual gaming) for a few weeks, make sure I get comfortable with it and fill out the actual experience.

Personally I’m a bit put-off by Ubuntu in some ways, but maybe I’m just being a bit curmudgeony. The real challenge is that Debian lags behind, because more concerned with stability and F/OSS (although it does have the non-free repo).

And yeah, spin up small, lightweight VMs. And would give me an excuse to learn/use vagrant or similar a lot more. And Win VM I can snapshot, that makes a lot of sense.

And is there a good solid front-end to KVM ya’ll would recommend? I’m used to VirtualBox for my Win host OS to run other stuff. Haven’t touched KVM at all, since my server is FreeBSD, so I use bhyve on there.

Heh, sounds like I’ve decided on some flavor of Linux Host, and Win10 VM and whatever else as VM. I’ll make a good sized swap on my SSD. Got the Sabrent Rocket 4 Plus based on Anandtech’s recommendation. Only 2TB version, rather than 4TB version. Not sure I need 4TB, and I can always swap it out/upgrade it. Or get another NVMe SSD in a USB3.1 case for additional storage if I truly need.

The Sabrent Rocket 4 Plus with the Phison E18 controller is among the cheapest and fastest of the second-wave PCIe 4.0 drives

EDIT: Hmm, I’ll run https://www.phoronix-test-suite.com/ on it once I get the new hardware installed. That’ll be a decent burn-in test as well.

EDIT2: Hmm…and now the great debate. Gnome, KDE, XFCE? Other?

Definitely argues for Ubuntu. They tend to have decent hardware support for most things.

virt-manager.

Turn on zswap as well - it does wonders. This is not zram. I think in the 5.x series, z3fold works, but I’ve seen some weird issues with it in the past, and zbud + same filled page compression gets you about the same in practice.

Enlightenment!

Honestly, I just run whatever these days. All forms of GUI get me the same thing. Terminals in which to type, a web browser, and VMs, which are just nested forms of the same.

1 Like

Yeah…argues for Ubuntu most likely. Maybe I’ll try it again.

virt-manager, oh cool. Thought it was a CLI tool, good to know.

Good point on zswap. Although…I do kinda want to use ZFS root FS with Linux. I find ZFS easy to use now, and it’s transparent compression, snapshoting, etc I find to be awesome and easy to use. In doing a bit of research, looks like from 20.04 onward, Ubuntu has installer ZFS root support. Also installs/uses zsys automatically, which at first glance looks very useful. I want to look into it a bit further.

Most likely I’ll use one of the Ubuntu alternatives, without their customized GUI. The few times in the past I’ve tried it out (very briefly) didn’t really attract me.

And yes, ++++ for Enlightenment! Ahhh…the good old days.

On Ubuntu I really prefer their default UI, which I think is Gnome based but I honestly don’t need to actually know that… It works and otherwise stays out of my way.

Granted, “at work” when that was I thing, I just used i3wm on a 32" monitor rather than any silly desktop as I live in Chrome and screen (TODO: upgrade to tmux someday, and byobu seems to be a nice wrapper…) so that manages my two “gui” windows just fine and is even further out of my way. :stuck_out_tongue: But gets awkward when running something like Gimp which likes to have a pile of windows.

I’m a long time screen user as well, although the bhyve manager I use uses tmux, and seems like I should just bite the bullet and switch entirely and remap my brain to the other hotkey controls.

And remember WindowMaker? Good says, good days.

Huh, apparently KDE Neon sells a notebook, that’s interesting. Or it’s KDE and just uses KDE Neon (basically Ubuntu 20.04 with more up-to-date KDE than Kubuntu). Interesting. Not that I’m interested, but yet another pop-up of a Linux focused laptop. And it’s a Ryzen 4800H too.

Been on flavors of Debian since 2006 and haven’t looked back!

Random Tangent:

I’m using a System76 laptop now with Pop!OS, it’s… OK. The fan is super noisy, the keyboard sucks, it’s a little on the heavy side, gets super hot, you have to reboot the machine to switch from integrated graphics to the nVidea card, and it eats through the battery in ~1-2 hours. Before that I had an XPS 13 laptop with Ubuntu, which was the best laptop I ever owned, performant, good battery life, super light…

I also have a desktop computer running Debian 10, it’s awesome.

One thing I read recently that was about a developer who uses an Intel NUC w/ Debian running all process heavy applications and even his IDE, then he just SSH’es into the machine from a light-weight laptop. It makes me kind of want to install https://galliumos.org/ onto a chromebook, and let the process heavy stuff happen on a NUC.

Well, on boot (to BIOS) it’s quiet. It’s nice and light, fairly slim, although I’m going to have to get used to the keyboard. Unfortunately they only offer US-ISO layout, not US-ASCII. Which is annoying, because some of their other models they do offer US-ASCII. Also the keys are rather large for the spacing, I kinda wish based on my initial impressions they were a bit smaller so they’d end up a bit closer together.

RAM is ALMOST here according to Amazon! Says 1 stop away. I kinda want to stand on my stoop waiting for the Amazon driver…but that’s maybe just a little too far and might freak the driver out a bit too much. Ah well. Soon. Soon!

Hm. So spent most of the night fiddling around with various versions of KDE. KDE Neon (latest Plasma on Ubuntu 20.04 LTS) wouldn’t boot with normal graphics mode, had to do nomodeset (graphics safe mode), for some reason seems that the radeon drivers aren’t in the boot/install environment or something, or wrong version, or something weird.

Kubuntu 20.04 and Ubuntu 20.04 both booted with the normal graphics mode just fine.

Unfortunately neither Kubuntu nor Neon have the ZFS Root install option. And I tried manually creating a zfs root partition for Neon to install to. Didn’t work, had an error. Based on [these instructions](https://openzfs.github.io/openzfs-docs/Getting Started/Debian/Debian%20Buster%20Root%20on%20ZFS.html), it’s rather a bit more complicated that that. And it’s getting later, so time for bed.

Did the Ubuntu 20.04 install for the ZFS Root, and it installed fine. Except unfortunately it doesn’t give me the option of configuring the swap size and such. I’m trying to give myself excessive swap, in case when running some VMs I run out of memory. I’d rather it slow down/swap a bit, than something crash/randomly get killed.

So now I need to figure out where I want to go from here. Looks like Debian Buster (stable) is on KDE 5.10 (assuming I definitely want to stick with KDE, I’ll see after a bit if I do), while Bullseye (testing, next stable of Debian) has 5.20.5, with 5.21 as the recent beta. So Bullseye would seem like a good choice, to stay closer up to date but still pretty solid base system.

Seems most Linux just isn’t ZFS Root ready as a primary, unlike BSDs. Or at least FreeBSD, don’t have much of any experience with others.

If your need for Windows is ephemeral remember:

https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

As for swap you should be able to modify that afterwards - if necessary by using a swap file (while I learned just allocates the blocks and then hands them to the kernel and bypasses the filesystem - not sure what happens with ZFS where the filesystem IS the “block” device.

Can you dump to a shell during Ubuntu install (check the other screens with ALT+F2 etc or whatever it is to switch text terminals)? Perhaps you could repartition right after it creates the swap and root FS.

I just cannot get excited about “weird” filesystems for root. I’ve been bitten too many times by that, across several decades. Rootfs is just ext4.

1 Like