Need advice regarding a workstation for writing and data analysis

Hello:

I am a long term Unix/Linux user. Used HP-UX briefly in school for a year, followed by 13 years of Linux (Redhat/Slackware/Debian), including about 4-5 years with Sun SPARC Solaris, followed by about 11 years on Mac OSX, followed by Linux again (mainly Debian) for about 5 years.

Somewhere in between, even a week on FreeBSD and OpenBSD where I got interested in pf and ports, but didn't stick with it since I stopped working on the project that allowed me to experiment a bit.

My work involves very heavy use of TeX, python, some Fortran, and also playing with spreadsheets (mainly LibreOffice Calc). Public facing role involves teaching but that is using my laptop, which will remain Linux.

My systems are always LUKS encrypted with LVM, which gives me the maximal amount of disk security and flexibility (as I have needed to resize disks). My DE is KDE. I don't use GNOME. The dislike goes back 20 years. It won't change.

Some of my systems have a lot of RAM, but some (especially the main system at home) don't. Almost all use NVIDIA cards.

Why am I thinking of switching from Debian to FreeBSD?

I like Debian Stable but it gets really outdated, so I have been using Sid, with all the instability involved. Not complaining, it is what I chose. But when software issues lead to loss of productivity, I am out. Call me boring.

I am not afraid of tinkering with my systems, but work takes precedence and in any case, I have paid my dues in tinkering, years ago. I need a robust system that is up to date and won't waste my time.

I am also unhappy about the creeping non technical politics (goes way way beyond any traditional license zealotry) in Debian in particular and Linux in general. Debian lost the main maintainer for KDE and LaTeX a few years ago because of non technical reasons (to put it kindly). I have zero patience for that level of BS. If a project takes an axe to its nerds (sounds like something else aptly), it isn't a technologically reliable project, and KDE and LaTeX are non negotiable entities for me. Yes, the maintainer teams are large, and both have trundled along but I am not interested in risking my future productivity by betting on a horse that has already shown signs of limping. If a supplier shows poor judgement that compromises the quality of the product, I change suppliers. I use that principle in my lab. I see no reason why my choice of a working environment should be driven by exceptions to that general rule.

So, my questions (and feel free to holler suggestions if you feel they are related to the questions):

1. I have been reading up a bit and it seems that encryption won't be an issue. However, what is the equivalent for LVM? I am not keen on ZFS. I want to use the RAM on my machines for actual work, and not running data center style overkill filesystems. From forums, it seems that ZFS is a memory hog.

So that leaves UFS. Read about gvinum, but it was confusing and it seemed to be related to RAID. I don't need RAID. I have time tested rsync scripts that sync scientific data and files between all my systems, and also create redundant backups every 15 minutes. So, while data loss would spoil an hour, it would not spoil the day. I need the flexibility to resize disks just in case I made a bad initial guess. Something like LVM. If LVM is directly supported, that would be perfect, but I read comments stating that gvinum is preferred for some reason. I need clarity. Most disks are SSD. I hope that the filesystems aren't SSD killers.

2. What is the status of NVIDIA binary card driver support? Are the manufacturer drivers available, or is there a noveau like situation? My main work machine uses a 4 output NVIDIA card that drives 4 monitors. Is this hardware supported?

3. Nature of hibernate support? I want to be able to write the contents of the memory reliably to a SWAP partition every evening and pick up next morning where I left off.

4. How good is the Linux app support? If I have software I must use (unfortunately, have to use MS Teams and Cisco WebEx at work quite often), with my USB webcam, will that work seamlessly? Can I use a Linux VM fully transparently for any software that is Linux only by using hardware passthrough?

5. Purely curiosity - is it worth it to even consider FreeBSD on my presentation laptop? It isn't a ThinkPad.

6. Do HP based multifunctional printers work? Scanning is a non-negotiable requirement. I use simple scan (the only GNOME program I use since Skanlite is such a piece of crap).

7. I want to write a script that pulls in all the software I have in a list, starting with KDE, installs vanilla LaTeX from CTAN, after configuring encryption and partitioning, populates user profile from /etc/skel, sets KDE defaults, etc, and modify the FreeBSD iso. The idea being that I simply run the modified install, and depending on time spent compiling ports, etc, have a ready to use system after n hours with zero intervention from me. I am sure I am not the first one to have this desire. Any pointers would be welcome.

More questions later, perhaps :)
 
Why the obsession with encryption? Are you likely to "misplace" your machine and worry about someone walking off with it? Are you engaged in nefarious activities (kiddie porn) that would put you at legal risk?

I've been running some FOSS OS for more than 30 years, now. Great for software development, networking services, etc.

But, I do my CAD, EDA, Multimedia, DTP, etc. activities on a (offline) Windows system. Mainly because Windows apps tend to be at a much more advanced level of development than (cough) "equivalent" FOSS offerings.

My "workstation" consists of 6 physical workstations because getting everything to cooperate in a single box and being stuck with a single set of peripherals is a huge headache. Each has 6T of spinning rust, 144G of DRAM and two dual-head GPUs to drive the set of three 24/30 inch monitors attached (each pair of workstations shares a set of monitors with the "input select" controls on the monitors used as an A/B switch). I don't want to have to access anything "offline" (or feed optical disks into one when I need a special font or component library or bit of clipart or...) or deal with small/overlapping windows (e.g., I can put three "full monitor" windows up at any time and hide the "accessory windows" -- TELNET sessions, DOS prompt, etc. -- on an alternate "layer" of virtual screens behind the primary set.

I run W7 because rebuilding the workstation just to appease MS's desire to sell me another OS is silly. Tell me what I can do with any OS post W7 (x64) that would justify thaat effort? THEN, tell me how many of my applications would have to be updated (new set of bugs) to make that happen.

At least one box is always running -- sleeping if I happen not to be actively using it, at the time. I've never lost any data due to disk failure -- each box has a dedicated UPS to address the momentary "flickers" in utility power that are common, here (something must routinely happen in the network late at night as I can hear every PS that happens to be powered up "glitch" at the same time, each night).

None are routed outside the house. So, "loss"/theft is only possible if someone gains physical access to the house interior. Each workstation weighs ~45 pounds so it's not likely that someone is going to "run off" with one (and, would they know WHICH one to steal?).

If I want to capture a snapshot of some work-in-progress, I have ~50T (general purpose NAS) that I can bring on-line just to capture snapshots from "that" workstation.

I have used FrameMaker for my document preparation needs... forever (well, since VP went belly up a few decades ago). And, the rest of the Adobe suite for image processing, etc. Running on different physical boxes makes some tasks cumbersome. E.g., if I am writing a manual for a circuit I've designed, I have to have two machines "up" and import the schematic (and other materials) from the EDA machine into the DTP machine. I.e., doing both DTP and EDA at the same time means resorting to a VNC session for one, on the other.

It's a little cumbersome. But, when your "job" involves so many different skillsets and toolsets, coming up with a "single box" solution is a boatload of work!
 
Why the obsession with encryption? Are you likely to "misplace" your machine and worry about someone walking off with it? Are you engaged in nefarious activities (kiddie porn) that would put you at legal risk?

I've been running some FOSS OS for more than 30 years, now. Great for software development, networking services, etc.

But, I do my CAD, EDA, Multimedia, DTP, etc. activities on a (offline) Windows system. Mainly because Windows apps tend to be at a much more advanced level of development than (cough) "equivalent" FOSS offerings.

My "workstation" consists of 6 physical workstations because getting everything to cooperate in a single box and being stuck with a single set of peripherals is a huge headache. Each has 6T of spinning rust, 144G of DRAM and two dual-head GPUs to drive the set of three 24/30 inch monitors attached (each pair of workstations shares a set of monitors with the "input select" controls on the monitors used as an A/B switch). I don't want to have to access anything "offline" (or feed optical disks into one when I need a special font or component library or bit of clipart or...) or deal with small/overlapping windows (e.g., I can put three "full monitor" windows up at any time and hide the "accessory windows" -- TELNET sessions, DOS prompt, etc. -- on an alternate "layer" of virtual screens behind the primary set.

I run W7 because rebuilding the workstation just to appease MS's desire to sell me another OS is silly. Tell me what I can do with any OS post W7 (x64) that would justify thaat effort? THEN, tell me how many of my applications would have to be updated (new set of bugs) to make that happen.

At least one box is always running -- sleeping if I happen not to be actively using it, at the time. I've never lost any data due to disk failure -- each box has a dedicated UPS to address the momentary "flickers" in utility power that are common, here (something must routinely happen in the network late at night as I can hear every PS that happens to be powered up "glitch" at the same time, each night).

None are routed outside the house. So, "loss"/theft is only possible if someone gains physical access to the house interior. Each workstation weighs ~45 pounds so it's not likely that someone is going to "run off" with one (and, would they know WHICH one to steal?).

If I want to capture a snapshot of some work-in-progress, I have ~50T (general purpose NAS) that I can bring on-line just to capture snapshots from "that" workstation.

I have used FrameMaker for my document preparation needs... forever (well, since VP went belly up a few decades ago). And, the rest of the Adobe suite for image processing, etc. Running on different physical boxes makes some tasks cumbersome. E.g., if I am writing a manual for a circuit I've designed, I have to have two machines "up" and import the schematic (and other materials) from the EDA machine into the DTP machine. I.e., doing both DTP and EDA at the same time means resorting to a VNC session for one, on the other.

It's a little cumbersome. But, when your "job" involves so many different skillsets and toolsets, coming up with a "single box" solution is a boatload of work!
Thanks for the response. Your rig sounds pretty complex and I am unlikely to want to manage multiple physical boxes. Fortunately, we don't have to deal much with Windows stuff.

Encryption of disks is a no brainer. We handle data covered by NDAs. You want peace of mind that even if someone breaks into your office or home, you don't have contractual messes to clean up. Everyone should encrypt their disks unless they are running a data center with assured physical security that can always be trusted.

Getting back to the question - does FreeBSD support NVIDIA commercial drivers without a hitch?
 
We handle data covered by NDAs. You want peace of mind that even if someone breaks into your office or home, you don't have contractual messes to clean up. Everyone should encrypt their disks unless they are running a data center with assured physical security that can always be trusted.
So, the machines are all air-gapped, have no removable media and are kept in a secure area (so no one can't waltz in while you're off in the bathroom or retrieving paper from a printer -- that is configured to never be able to print covered information)? And, of course, the discloser operates with the same level of security?

What's your plan for the case where you misplace a "secret/key", the hosting hardware craps out, an incompatible software upgrade or a drive failure?
 
1. I have been reading up a bit and it seems that encryption won't be an issue. However, what is the equivalent for LVM? I am not keen on ZFS. I want to use the RAM on my machines for actual work, and not running data center style overkill filesystems. From forums, it seems that ZFS is a memory hog.
This might be a misconception of ZFS on your part, depending on what you've read where. ZFS is perfectly capable of driving a workstation and has a "baked in LVM", besides a lot more (very) useful feautures; excellent data integrity, boot environments and easy, instantanious snapshots to name a few. Your general RAM footprint is indeed bigger compared to UFS, but ZFS only takes RAM for its ARC (advanced cache) that is not used by applications. It gives up its ARC RAM freely and very fast to any application that asks for it, only not as fast as free/idle RAM. In particular, rather unusual, circumstances (especially with too little RAM) this may hinder/bite you; this can be resolved. As ZFS has a lot of internal functional components this may seem overwhelming to an unitiated user. However, you clearly are set up to use more than just a plain vanilla fs, needing o.a. LVM. I'd say labelling ZFS as like a "running data center style overkill filesystems" thereby suggesting "not usable for desktop/workstation use" is a misnomer. You seem well experienced to setup and use a storage stack of multiple layered components: encryption, LVM, base fs. ZFS has all that in one package (save all-disk-encryption).

When you still have to run Linux in some form, "emulated" on FreeBSD or in a VM, such as bhyve, ZFS can be used for your data in fully dual use.

2. What is the status of NVIDIA binary card driver support? Are the manufacturer drivers available, or is there a noveau like situation? My main work machine uses a 4 output NVIDIA card that drives 4 monitors. Is this hardware supported?
Good, you'll find driver support for the proprietary Nvidia drivers in ports, available as packages too: use the meta package x11/nvidia-driver, for install details, see the 5.3. Graphic card drivers and its package details. You'll find an overview of currently supported Nvidia drivers by FreeBSD's ports infrastructure in this Nvidia-driver-list. Those proprietary drivers are Nvidia's drivers as binary blobs extended in a minor way in order to be supported by FreeBSD's ports infrastructure.
depending on time spent compiling ports
Generally you don't need to build/compile ports locally, you can use packages instead, unless you have a specific need to tune options of a particular port to "bake your own package".

FreeBSD x64 Graphics Driver Archive shows the list of Nvidia FreeBSD drivers, where you'll find detailed info about graphics card support at each driver. You can install one of those from there if need be, but you'd be using the drivers outside the package management structure, i.e. management is fullly manual. You'll notice that FreeBSD versions in ports lagg a bit behind in its "imported"/supported versions compared to those listed in the Nvidia archive.

Perhaps, as a suggestion it would be useful if you set up a basic FreeBSD (UFS or ZFS) and test on your stated "deal-breakers"; FreeBSD driver support for multitudes of peripherals is less than on Linux, as might be the case for some specific applications. Generaly speaking, I think FreeBSD is easily malleable to ones needs (probably more so compared to any Linux distro), but for FreeBSD sec, that ends when specific driver support, or very specific application support is missing.
 
You are a one-man band. You have a laptop for teaching. I think you can install Fedora + KDE on it. That's all I can say. Because in your case I don't see the concept of "Occam's razor". Your conceptual essence is "Teaching presentationality" (conditionally, of course). It seems to me that, given the nature of your work, it will be simply impossible for you to avoid piling on proprietary things. If your audience (with whom you communicate via a laptop, software, peripherals, etc.) is also in the "COMFORT zone", then you simply won't be able to avoid the mainstream. I am simply in a different paradigm and environment. Your environment and communication will itself bring you to the level at which it itself is. I may be wrong.
P.S. ZFS is a very powerful combine. I am currently studying it myself. It will work very quickly on a powerful bulldozer.
 
This might be a misconception of ZFS on your part, depending on what you've read where. ZFS is perfectly capable of driving a workstation and has a "baked in LVM", besides a lot more (very) useful feautures; excellent data integrity, boot environments and easy, instantanious snapshots to name a few. Your general RAM footprint is indeed bigger compared to UFS, but ZFS only takes RAM for its ARC (advanced cache) that is not used by applications. It gives up its ARC RAM freely and very fast to any application that asks for it, only not as fast as free/idle RAM. In particular, rather unusual, circumstances (especially with too little RAM) this may hinder/bite you; this can be resolved. As ZFS has a lot of internal functional components this may seem overwhelming to an unitiated user. However, you clearly are set up to use more than just a plain vanilla fs, needing o.a. LVM. I'd say labelling ZFS as like a "running data center style overkill filesystems" thereby suggesting "not usable for desktop/workstation use" is a misnomer. You seem well experienced to setup and use a storage stack of multiple layered components: encryption, LVM, base fs. ZFS has all that in one package (save all-disk-encryption).

When you still have to run Linux in some form, "emulated" on FreeBSD or in a VM, such as bhyve, ZFS can be used for your data in fully dual use.


Good, you'll find driver support for the proprietary Nvidia drivers in ports, available as packages too: use the meta package x11/nvidia-driver, for install details, see the 5.3. Graphic card drivers and its package details. You'll find an overview of currently supported Nvidia drivers by FreeBSD's ports infrastructure in this Nvidia-driver-list. Those proprietary drivers are Nvidia's drivers as binary blobs extended in a minor way in order to be supported by FreeBSD's ports infrastructure.

Generally you don't need to build/compile ports locally, you can use packages instead, unless you have a specific need to tune options of a particular port to "bake your own package".

FreeBSD x64 Graphics Driver Archive shows the list of Nvidia FreeBSD drivers, where you'll find detailed info about graphics card support at each driver. You can install one of those from there if need be, but you'd be using the drivers outside the package management structure, i.e. management is fullly manual. You'll notice that FreeBSD versions in ports lagg a bit behind in its "imported"/supported versions compared to those listed in the Nvidia archive.

Perhaps, as a suggestion it would be useful if you set up a basic FreeBSD (UFS or ZFS) and test on your stated "deal-breakers"; FreeBSD driver support for multitudes of peripherals is less than on Linux, as might be the case for some specific applications. Generaly speaking, I think FreeBSD is easily malleable to ones needs (probably more so compared to any Linux distro), but for FreeBSD sec, that ends when specific driver support, or very specific application support is missing.
The view that ZFS is a RAM hog isn't an isolated opinion. Are there any benchmarks that can be used for an informed choice? There are any number of reports of slow performance on desktop traced to ZFS.

Which of these filesystems works better from a suspend to disk standpoint?

Also, what is the actual status of Wayland on FreeBSD. I have read several reports of the difficulty of getting Wayland + KDE working.
 
So, the machines are all air-gapped, have no removable media and are kept in a secure area (so no one can't waltz in while you're off in the bathroom or retrieving paper from a printer -- that is configured to never be able to print covered information)? And, of course, the discloser operates with the same level of security?

What's your plan for the case where you misplace a "secret/key", the hosting hardware craps out, an incompatible software upgrade or a drive failure?
No. We are networked. However, the difficulty of doing network penetration into a Unix/Linux enviornment running with latest security updates and firewalls with minimal exposure, is a lot higher than possibly stealing a laptop.

Rsync maintains several redundant, equally/more secure backups, and then there are encrypted backups on the cloud.
 
No. We are networked. However, the difficulty of doing network penetration into a Unix/Linux enviornment running with latest security updates and firewalls with minimal exposure, is a lot higher than possibly stealing a laptop.
The "thefts" I've personally seen have been:
- "insider" deliberately selling confidential information
- a "pwn plug"-like device in an obscure location sitting on the internal network
- carelessness (folks talking about $WORK while at an eatery that a competitor deliberately freqents for the purpose of overhearing such conversations)
[Been there, done that!]

If you're a "small fish" (no assets), the value of an NDA (to the discloser) is pretty minimal -- you don't HAVE anything that they can take (in a judgement). And, it takes a long time to recover such a judgement. Meanwhile, the people you had relied upon to "perform some activity" are now disinclined to be overly helpful.

So, personal relationships become far more meaningful; "What do I think of you, as a person? Where's your moral compass?"
Rsync maintains several redundant, equally/more secure backups, and then there are encrypted backups on the cloud.
And, how quickly can you make use of them?

I've had panicked calls from folks using "redundant storage" when a resilvering operation "went bad" (despite telling them "RAID isn't a backup")

I assume you regularly simulate crashes to verify you can recover everything that you THINK you can recover...
 
Hello:

I am a long term Unix/Linux user. Used HP-UX briefly in school for a year, followed by 13 years of Linux (Redhat/Slackware/Debian), including about 4-5 years with Sun SPARC Solaris, followed by about 11 years on Mac OSX, followed by Linux again (mainly Debian) for about 5 years.

Somewhere in between, even a week on FreeBSD and OpenBSD where I got interested in pf and ports, but didn't stick with it since I stopped working on the project that allowed me to experiment a bit.

My work involves very heavy use of TeX, python, some Fortran, and also playing with spreadsheets (mainly LibreOffice Calc). Public facing role involves teaching but that is using my laptop, which will remain Linux.

My systems are always LUKS encrypted with LVM, which gives me the maximal amount of disk security and flexibility (as I have needed to resize disks). My DE is KDE. I don't use GNOME. The dislike goes back 20 years. It won't change.

Some of my systems have a lot of RAM, but some (especially the main system at home) don't. Almost all use NVIDIA cards.

Why am I thinking of switching from Debian to FreeBSD?

I like Debian Stable but it gets really outdated, so I have been using Sid, with all the instability involved. Not complaining, it is what I chose. But when software issues lead to loss of productivity, I am out. Call me boring.

I am not afraid of tinkering with my systems, but work takes precedence and in any case, I have paid my dues in tinkering, years ago. I need a robust system that is up to date and won't waste my time.

I am also unhappy about the creeping non technical politics (goes way way beyond any traditional license zealotry) in Debian in particular and Linux in general. Debian lost the main maintainer for KDE and LaTeX a few years ago because of non technical reasons (to put it kindly). I have zero patience for that level of BS. If a project takes an axe to its nerds (sounds like something else aptly), it isn't a technologically reliable project, and KDE and LaTeX are non negotiable entities for me. Yes, the maintainer teams are large, and both have trundled along but I am not interested in risking my future productivity by betting on a horse that has already shown signs of limping. If a supplier shows poor judgement that compromises the quality of the product, I change suppliers. I use that principle in my lab. I see no reason why my choice of a working environment should be driven by exceptions to that general rule.

So, my questions (and feel free to holler suggestions if you feel they are related to the questions):

1. I have been reading up a bit and it seems that encryption won't be an issue. However, what is the equivalent for LVM? I am not keen on ZFS. I want to use the RAM on my machines for actual work, and not running data center style overkill filesystems. From forums, it seems that ZFS is a memory hog.

So that leaves UFS. Read about gvinum, but it was confusing and it seemed to be related to RAID. I don't need RAID. I have time tested rsync scripts that sync scientific data and files between all my systems, and also create redundant backups every 15 minutes. So, while data loss would spoil an hour, it would not spoil the day. I need the flexibility to resize disks just in case I made a bad initial guess. Something like LVM. If LVM is directly supported, that would be perfect, but I read comments stating that gvinum is preferred for some reason. I need clarity. Most disks are SSD. I hope that the filesystems aren't SSD killers.

2. What is the status of NVIDIA binary card driver support? Are the manufacturer drivers available, or is there a noveau like situation? My main work machine uses a 4 output NVIDIA card that drives 4 monitors. Is this hardware supported?

3. Nature of hibernate support? I want to be able to write the contents of the memory reliably to a SWAP partition every evening and pick up next morning where I left off.

4. How good is the Linux app support? If I have software I must use (unfortunately, have to use MS Teams and Cisco WebEx at work quite often), with my USB webcam, will that work seamlessly? Can I use a Linux VM fully transparently for any software that is Linux only by using hardware passthrough?

5. Purely curiosity - is it worth it to even consider FreeBSD on my presentation laptop? It isn't a ThinkPad.

6. Do HP based multifunctional printers work? Scanning is a non-negotiable requirement. I use simple scan (the only GNOME program I use since Skanlite is such a piece of crap).

7. I want to write a script that pulls in all the software I have in a list, starting with KDE, installs vanilla LaTeX from CTAN, after configuring encryption and partitioning, populates user profile from /etc/skel, sets KDE defaults, etc, and modify the FreeBSD iso. The idea being that I simply run the modified install, and depending on time spent compiling ports, etc, have a ready to use system after n hours with zero intervention from me. I am sure I am not the first one to have this desire. Any pointers would be welcome.

More questions later, perhaps :)
IMHO, the RAM usage issue on ZFS is a little bit overblown. I use ZFS on my workstations, including one where I have a RAID 1 and a RAID 0 storing data, using file systems that have replication settings, and/or compression settings on. I have project directories where I take snapshots all the time. I've never observed significant memory usage for my use case over UFS2 or anything I've done on Linux. It's true YMMV but I'd suggest investing enough time to try it out and see if it's really going to be an issue for you instead of taking some generalization from a forum so seriously.

ZFS might seem like overkill for a workstation until you open a file only to find bitrot has corrupted it, which is something I've observed multiple times on my Windows and MacOSX and yes Linux boxes.

IMHO ZFS isn't any more overkill than using an industrial grade server operating system to run your workstation. Yes people will try to say FreeBSD is more than just servers and it's true; but how many operating systems ship with sendmail and three firewall implementations? Anyone who says well sendmail isn't the default MTA anymore. Yeah that's true, but the code is still littered all over the source tree.

FWIW, in my opinion you are going to miss certain conveniences like printers just working and video card support. Certainly CUDA support since that's really a Linux and Windows only thing. You're probably better off just grinning and bearing your Debian grievances; no operating system is going to be perfect, especially when it's free.

I used to say Linux is the Windows of the Unix world and for a long while it was true - an operating system designed and written by PC hackers that held windows in disdain but wanted Windows-like features on their Unix. Corporations supported the effort because they always wanted a single UNIX to standardize on. The last time I installed Ubuntu on one of my workstations to do ML work - I was like, dude, Linux is not the Windows of the Unix World, it's just Windows.

Seriously, what's the difference at this point? The GUI is just as glittery, advanced and polished, it has all the same bugginess and support issues of Windows. Either one you can crack open a terminal shell and with WSL2 you have a full featured bash shell and Ubuntu impl to work from. The only practical difference are using POSIX compliant API calls vs Win32* calls to do work and Windows even had that resolved at least at one point.

People will tell you what the difference between FreeBSD and Linux is having read a bunch of forum posts and wiki articles that all parrot the same conceptual ideas. From a pragmatic standpoint, Debian is little different from Windows or MacOSX at this point with its commercial support for video cards, printer drivers, GUIs, virtualization support, etc. It's got a lot of people thinking that's what an operating system is or should be and that the BSDs are deficient for not having that level of support. I think if you want to switch to FreeBSD or another BSD you need to be prepared to encounter _real_ differences in functionality.
 
I also run several machines for specific purposes.
Especially so for compilers.
I use a big VMware ESXi host for these specialized VM workstations.

My Photoshop/ON1 machine is a big Xeon with 128gb of ECC and all SSD with an nVidia 4060ti.

I don't do work in the 'Nix world, but in Windows.
Hibernation has always been a nasty kludge that I avoid.

With SSDs, the only moving parts are the cooling fans.
I no longer leave anything powered up overnight.
 
I was like, dude, Linux is not the Windows of the Unix World, it's just Windows.
I suspect that's the case if you are using run-of-the-mill applications.

I was doing 3D CAD in 1985 (i.e., years before Linux/*BSD were even displaying a login prompt). Ditto schematic capture, PCB layout, FPGA design, In-Circuit Emulation, etc.

Granted, there are apps NOW that TRY to address these markets. But, they are still sorely lacking in features and "robustness".

There is never a free lunch. If you don't want to pay for the tools, you pay with your time (or effort).

I use a big VMware ESXi host for these specialized VM workstations.
I "image" development systems at the end of projects and build a suitable VM for them. This so that I can return to the EXACT working environment that I had in place when I "delivered" the results of the particular project -- without having to wonder if I may have upgraded some particular tool in the time since that delivery ("Gee, how come I don't get the EXACT same binary when I compile the DELIVERED sources? Ooops! New compiler version...")

[You'd be surprised at how often this has saved my bacon! Esp when a client complains of a bug in "the code" -- and I can quickly see that it's not MY code, anymore! "Gee, I fired up your virtual machine and recompiled the code THAT I DELIVERED and it works fine! Woul dyou like me to send you another copy of it, in case YOUR copy has become corrupted?" (I support MY code forever. But, don't have to support modifications to it!) Ditto with hardware designs ("Gee, I'm sorry but that's not the design/layout that I delivered. I have no idea why YOURS doesn't work, right...")]

I have several boxes that run ESXi -- with VMware on the Windows boxes for convenience. And a large SAN/DAS array to hold all the images. Performance isn't the same as when the code was running "native". But, having to archive a PHYSICAL machine for each project was ridiculous (I used to dump the disk image to DLT and then "restore" to the same hardware, when needed).

With SSDs, the only moving parts are the cooling fans.
I am leary of SSDs (I've a dozen 500G SSDs that I've been reluctant to deploy) -- too many horror stories of firmware bugs in the drives leading to data loss (or, a system becoming "unavailable")

Also, I keep a lot of data "on-line" as a convenience (6T per workstation) so I'm not hunting down CD/DVD libraries to install a particular component that I might need for THIS project.

I no longer leave anything powered up overnight.
I never power anything OFF! I let the machines hibernate as they wish. The biggest downside is network connections get severed. <shrug> Just an inconvenience (restart the X server on the Windows host; or a TELNET/SSH session/or an FTP session...)

My *BSD boxes don't "hibernate" so I tend not to leave them running unless they are IN use (it gets uncomfortably warm in the office during the summer months). But, as all are headless, it's no problem to start them chewing on a particular problem and then take a peek at their progress a day or two later, "When I remember".
 
I suspect that's the case if you are using run-of-the-mill applications.

I was doing 3D CAD in 1985 (i.e., years before Linux/*BSD were even displaying a login prompt). Ditto schematic capture, PCB layout, FPGA design, In-Circuit Emulation, etc.

Granted, there are apps NOW that TRY to address these markets. But, they are still sorely lacking in features and "robustness".

There is never a free lunch. If you don't want to pay for the tools, you pay with your time (or effort).
Exactly my point. The discriminating factor for myself is which OS(es) support the application I'm trying run or objective I'm trying to accomplish. I have an Ubuntu box not because I love or hate Ubuntu and try to do everything on it. I have it because I want good CUDA support and I want to be able to debug CI workflows which are all run on Linux. I have a Windows box not because I love or hate Windows but because I want to play certain games and I need driver support for the music equipment I plug into it. I have a separate FreeBSD box because I hack on the OS and I archive all my data there. Technically I can surf most of the web, read my email, and even program on all three. Half the stuff he's doing with that workstation he could do on FreeBSD with no problem, but if he's thinking he's going to get better printer support, better support for Nvidia video cards and Linux apps that just run better than they would on stable Debian, well that's just wishful thinking. He's better off sticking to Debian and b!tching less about the free software he gets to use. Or try FreeBSD and see if he can make it work for him. I agree you will pay with your time and/or your effort - I think the thing we should to that is acknowledge he can spend the time and effort and still find out he prefers Debian better in the end. That's important because he could end up biased against FreeBSD for wasting his time otherwise and I would prefer not to see that happen.

Linux is not the same as other Unixes anymore and it's important to realize that there's a generation of kids (some now young researchers) who grew up on Linux, Ubuntu and whatnot and just think all Unixes should be like that. It's a great thing that the Linux community achieved to make a desktop/laptop platform of that quality, and I've noticed that the younger users really do seem to take that for granted. Expecting FreeBSD or OpenBSD is going to be like that but somehow even better is really promoting the wrong idea. FreeBSD is a lot more traditional UNIX, it is a lot more server oriented, and it's a lot more barebones when it comes to desktop and application support. It's gotten better over the years but give me a break, I don't even run FreeBSD on my laptop - not because I don't want to but because the hibernation and wifi support are hideous.
 
Almost all use NVIDIA cards.
This will likely be an issue with suspend / resume *and* Wayland.

If a supplier shows poor judgement that compromises the quality of the product, I change suppliers. I use that principle in my lab. I see no reason why my choice of a working environment should be driven by exceptions to that general rule.
Luckily, you tend to be OK switching suppliers and nvidia shouldn't be an exception (out of tree blobs certainly compromise the quality of the product!). I recommend AMD's GPUs rather than Intel's Arc. The latter is interesting but AMD is more tested and has drivers known to be compatible with FreeBSD (Intel's integrated GPUs for laptops tend to work well with FreeBSD however).

5. Purely curiosity - is it worth it to even consider FreeBSD on my presentation laptop? It isn't a ThinkPad.
If it is an around 2-8 year old business laptop, it will generally be pretty good. A sticking point is wifi. The card will likely work but will often have limited power saving and have 'g' connection speeds. Again, if it doesn't work, sell it, change suppliers and switch to a ThinkPad. Life is too short for hardware worries.
 
6. Do HP based multifunctional printers work? Scanning is a non-negotiable requirement. I use simple scan (the only GNOME program I use since Skanlite is such a piece of crap).
For that, you'll have to do research on whether the scanner is supported by SANE (Scanner Access Now Easy). If it is supported by SANE, then it should work under FreeBSD no problem.
Also, what is the actual status of Wayland on FreeBSD. I have read several reports of the difficulty of getting Wayland + KDE working.
Anything but KDE. I'm trying to get KDE 6 + Wayland working on FreeBSD, there's a whole thread about it on the Forums. Other Wayland compositors work (I like Wayfire), and provide a usable desktop experience, but KDE + Wayland on FreeBSD - that combination is elusive. Screenshots don't work, last I tried. And you have to spend some time going down a rabbit hole of playing with experimental code and makefile options.
7. I want to write a script that pulls in all the software I have in a list, starting with KDE, installs vanilla LaTeX from CTAN, after configuring encryption and partitioning, populates user profile from /etc/skel, sets KDE defaults, etc, and modify the FreeBSD iso. The idea being that I simply run the modified install, and depending on time spent compiling ports, etc, have a ready to use system after n hours with zero intervention from me. I am sure I am not the first one to have this desire. Any pointers would be welcome.
There is a desktop-installer script for KDE available in ports, but it does take a lot of time if you want to roll your own and pull in your own components. I spent over a year on trying to get just KDE upgradable - and had to put that on the back burner due to more pressing issues in my life. That's because there's a LOT of details that need to be lined up and tested, and sometimes you gotta be willing to go back several steps and reconsider the choices you made back then. Well, in my case, I did want to go with stuff like properly configured SSL and custom Makefile knobs in the ports. But even if you want to go with a simpler setup than that, you still will need to spend time reading manpages, setup instructions, and the like, and that is a time-consuming rabbit hole.

KDE and LaTeX are non negotiable entities for me.
FreeBSD runs these without a problem. I'd recommend KDE 5 on Xorg right now, and any number of LaTeX editors are also in ports/packages. My only problem is that if you want to upgrade KDE, it does mean reinstalling the whole system. Linux had the exact same problem, but with FreeBSD I saw potential to at least ameliorate that kind of pain.
 
The discriminating factor for myself is which OS(es) support the application I'm trying run or objective I'm trying to accomplish.
Yes. For me, the kit is tools; what I want to spend my time on is NOT maintaining those tools but, rather, using them to design other things. Like the guy who wants to DRIVE his antique car instead of spending his time polishing it!

I run Windows 7 (x64). And, NetBSD 9.1 (amd64). And Solaris 8/SPARC. Because they give me the TOOLS that I need, not because they are -CURRENT or have some "entertainment"/hobbyist value.

I don't even run a "desktop" on the NetBSD boxes -- just "root weave" for "wallpaper"; CDE on SPARC. Because my work, there, is on network utilities or software development (does having a pretty wallpaper UNDER your windows make you more productive? I don't bother with audio support -- because I have surface tablets that act as media players.

If I want to scan images on my networked B/Tabloid size scanners or my networked 10 sheet per minute document feeder... move over to a Windows machine, thank you. Or, access my logic analyzers, digital storage scopes, programmable power supplies, PROM programmer, in-circuit emulators, etc.

[Sticking to old laserjets is a smart move!]

If I want to create a video presentation using animated CGI objects that I've created with "live video" overlayed (e.g., like the weather forecast on the evening news broadcast), I've got a Windows box with special hardware that mixes the computer generated video and live video, "live". Or, if I want to compose a piece of music and see the resulting sheet music, etc.

E.g., I have a device that recognizes "gestures" made by the user (on a touchpad; in free space; etc.). It does this by matching the paths traced/observed against a set of templates, a subset of which are "enabled" in the current context. These, of course, are stored as mathematical models. But, how to create them? How do I represnt a circle? square? five-pointed star? bowtie?

Ah, I can draw them in Illustrator. Then, extract the handful of postscript statements that actually represent the drawn curves from the .AI file. No time spent building/debugging a tool.

I agree you will pay with your time and/or your effort - I think the thing we should to that is acknowledge he can spend the time and effort and still find out he prefers Debian better in the end. That's important because he could end up biased against FreeBSD for wasting his time otherwise and I would prefer not to see that happen.
Personally, I've found that having a box running -- doing what I want ALREADY -- beats every exercise in searching for something better. It's just too much work moving all of your tools to a new release, discovering what NEW bugs you will have to contend with, etc.

I'm doing that calculus with FreeBSD, presently; I can set up a FBSD host and HOPE that the tools that I want WILL work, reliably, there. And, that FBSD won't give me any other headaches to "discover". Or, I can port the applications to NetBSD where the "environment" is already known to me. (I ran FreeBSD in the 0.9 - 2.1R days but have been running NetBSD for the ~30 years since... where is the greater risk/reward ratio?)
 
I'd recommend KDE 5 on Xorg right now, and any number of LaTeX editors are also in ports/packages.
Yes, this is the most APPROXIMATE solution in a non-mainstream environment. As mathematicians say: "A condition is necessary, but not sufficient" (c). But for a hybridscientist, I think, this will still not be enough. The specifics of the work require a large number of tools from him, which will be extremely difficult, inconvenient, uncomfortable, ineffective for him to find in one environment.
For example, tomorrow on a business trip, in a conference room, he needs to set up Wi-Fi on a laptop, connect the laptop to a projector-combine (which only works in Windows 11 and not lower!), display images on "n + 1" screens in different rooms, "pump up" online in high quality for remote users, print them brochures. Then go have a coffee. In 1 hour come back and correctly wake up the laptop from sleep mode, so as not to freeze and continue from slide 34 and not from slide 35! Otherwise, loss of image and reputation. I know what it's like to shit yourself during a presentation, when the audience is filled with idiotic government officials and departments.
Question: hybridscientist, do you need this? :) This is not your Zen path.
 
The view that ZFS is a RAM hog isn't an isolated opinion. Are there any benchmarks that can be used for an informed choice? There are any number of reports of slow performance on desktop traced to ZFS.

1732323506014.png


The opinions are overblown.

This is a clip of my presently running server box using zfs. I'm watching a movie on the NAS at the moment. Notice that the CPU usage is nearly 0.0%. My server box runs a whole bunch services.
 
This is a clip of my presently running server box using zfs. I'm watching a movie on the NAS at the moment. Notice that the CPU usage is nearly 0.0%. My server box runs a whole bunch services.
6G (out of 32) on a lightly loaded machine? I have 2GB NetBSD hosts that never swap. (interesting that 235M of swap is in use with 25G of physical RAM available!)

A more important display would show your memory consumption during similar tasks on a UFS-only box. Or, memory consumption with NO active applications.
 
6G (out of 32) on a lightly loaded machine? I have 2GB NetBSD hosts that never swap. (interesting that 235M of swap is in use with 25G of physical RAM available!)

A more important display would show your memory consumption during similar tasks on a UFS-only box. Or, memory consumption with NO active applications.
I'm a hobbyist so lack the CS depth-of-knowledge of many of you. I have no idea why there is swapping going on. I'm of the opinion that unused memory is wasted, so in this case I have 25GB of idle memory simply generating heat.

I'm not disposed to set up a UFS-only test bed in order to settle the zfs-is-a-memory-hog claims. The claims I've seen are that zfs will take over all available memory. My depiction above clearly shows that to be a false claim. I'm aware that there are some zfs configurations wherein all available memory can be seized but that those setups are not the mainstream of zfs usage.
 
I'm not disposed to set up a UFS-only test bed in order to settle the zfs-is-a-memory-hog claims.
It might be as simple as running y9our set of applications off a live CD (?). In that way, you wouldn't have to alter your existing installation.
 
My 2 cents, speaking from experience and only answering what I know.
1. I have been reading up a bit and it seems that encryption won't be an issue. However, what is the equivalent for LVM? I am not keen on ZFS. I want to use the RAM on my machines for actual work, and not running data center style overkill filesystems. From forums, it seems that ZFS is a memory hog.
I'll second the "this is overblown" except if you're on a < 1Gb RAM machine. The added benefits are huge and ARC can be tuned to next to nothing if need be. How much RAM were you talking about?
Full-disk (or rather, partition) encryption is usually done using geli(8).
2. What is the status of NVIDIA binary card driver support? Are the manufacturer drivers available, or is there a noveau like situation? My main work machine uses a 4 output NVIDIA card that drives 4 monitors. Is this hardware supported?
Been using NVIDIA cards for 20 years on FreeBSD specifically because NVIDIA actually supports them directly. I've never had an issue with it that wasn't caused by not looking at the manual (kernel module name change ...) . I do not use Wayland however, so I won't make any assumptions. I also do not use CUDA (which isn't natively supported but there is a workaround nowadays).
3. Nature of hibernate support? I want to be able to write the contents of the memory reliably to a SWAP partition every evening and pick up next morning where I left off.
Many people seem to require this, I have no experience with it. My go-to option is session-restore, but I fully understand if you need more. I do know suspend works on my machines (laptop, desktop), but have no idea about hibernation.
4. How good is the Linux app support? If I have software I must use (unfortunately, have to use MS Teams and Cisco WebEx at work quite often), with my USB webcam, will that work seamlessly? Can I use a Linux VM fully transparently for any software that is Linux only by using hardware passthrough?
If there is anything in your list that makes me worried it's this. I have used the Linuxulator quite successfully, but have had issues with hardware. I would really suggest to try these first for a fail-early mark. Also, if it's available in ports that may solve most problems.
5. Purely curiosity - is it worth it to even consider FreeBSD on my presentation laptop? It isn't a ThinkPad.
I have no idea what hardware is supported best. I'm typing this on a Dell Laptop I bought second-hand while connected over an internal LTE modem. Other Dells also worked like a charm. I'm not a big fan of Wi-Fi, so maybe that's the reason I've never had issues but I do know this laptop's works.
6. Do HP based multifunctional printers work? Scanning is a non-negotiable requirement. I use simple scan (the only GNOME program I use since Skanlite is such a piece of crap).
My experience: yes. It's one of the reasons I actually switched to a HP printer myself a long time ago: they support Linux directly through Ghostscript which in general is used on FreeBSD without modifications. A few models do need specific firmware, but that should also be covered. I do however know of a forum post in which a specific MFP didn't work.
7. I want to write a script that pulls in all the software I have in a list, starting with KDE, installs vanilla LaTeX from CTAN, after configuring encryption and partitioning, populates user profile from /etc/skel, sets KDE defaults, etc, and modify the FreeBSD iso. The idea being that I simply run the modified install, and depending on time spent compiling ports, etc, have a ready to use system after n hours with zero intervention from me. I am sure I am not the first one to have this desire. Any pointers would be welcome.
/etc/skel is a Linux thing :) Also, install as much as you can from ports/pkg, try to avoid external installations. Each port may have patches specifically for FreeBSD, simple things like replacing hardcoded "/opt" in the code etc which would cause headaches when trying to compile/run.
I also second using binary packages and not compiling ports where possible, unless specific requirements dictate this.

One note: FreeBSD can be quite different from Linux. Some things like device names may annoy you until you get used to it.
 
Why the obsession with encryption? Are you likely to "misplace" your machine and worry about someone walking off with it? Are you engaged in nefarious activities (kiddie porn) that would put you at legal risk?
what a naive accusation on IT professionals who value their customers data ... maybe you haven't heard of it, but it's 2024 and cybercriminals are making billions of dollars per year just by threatening to sell data/making it public. They do pay thieves to steal equipment.


My systems are always LUKS encrypted with LVM, which gives me the maximal amount of disk security and flexibility (as I have needed to resize disks).
geli is not as feature rich as LUKS, but is secure and fits most requirements


1. I have been reading up a bit and it seems that encryption won't be an issue. However, what is the equivalent for LVM? I am not keen on ZFS. I want to use the RAM on my machines for actual work, and not running data center style overkill filesystems. From forums, it seems that ZFS is a memory hog.

So that leaves UFS. Read about gvinum, but it was confusing and it seemed to be related to RAID. I don't need RAID. I have time tested rsync scripts that sync scientific data and files between all my systems, and also create redundant backups every 15 minutes. So, while data loss would spoil an hour, it would not spoil the day. I need the flexibility to resize disks just in case I made a bad initial guess. Something like LVM. If LVM is directly supported, that would be perfect, but I read comments stating that gvinum is preferred for some reason. I need clarity. Most disks are SSD. I hope that the filesystems aren't SSD killers.
ZFS is a memory hog, though you can limit the ARC size it uses. I haven't used gvinum, but it seems a nice alternative to Linux LVM.
ZFS is a SSD killer indeed - expect roughly 4x more data written on a device compared to UFS, however, <- (this was based on my old benchmark data which is not valid for FreeBSD 14.1 any more)
Having valid data and snapshots is great.


2. What is the status of NVIDIA binary card driver support? Are the manufacturer drivers available, or is there a noveau like situation? My main work machine uses a 4 output NVIDIA card that drives 4 monitors. Is this hardware supported?
If you intend to use NVIDIA/CUDA etc. for AI stuff, stick with Linux


3. Nature of hibernate support? I want to be able to write the contents of the memory reliably to a SWAP partition every evening and pick up next morning where I left off.
I think it really depends on your hardware. For my workstation, I could not get hibernate to work with Linux, but it worked flawlessly with FreeBSD out of the box (except for when a USB disk is connected).


4. How good is the Linux app support? If I have software I must use (unfortunately, have to use MS Teams and Cisco WebEx at work quite often), with my USB webcam, will that work seamlessly? Can I use a Linux VM fully transparently for any software that is Linux only by using hardware passthrough?
I have tried passthrough several times, but was not satisfied. Cisco WebEx and MS Teams did not work neither, but to be honest, I have not tried them for over 2 years when I switched my first of some notebooks to Linux (which is a dedicated device in my office just for those types of software)


5. Purely curiosity - is it worth it to even consider FreeBSD on my presentation laptop? It isn't a ThinkPad.
It depends, but you should consider the bad shape of FreeBSDs wifi stack. I have switched all my notebooks 2 years ago from FreeBSD to Linux because of that.


7. I want to write a script that pulls in all the software I have in a list, starting with KDE, installs vanilla LaTeX from CTAN, after configuring encryption and partitioning, populates user profile from /etc/skel, sets KDE defaults, etc, and modify the FreeBSD iso. The idea being that I simply run the modified install, and depending on time spent compiling ports, etc, have a ready to use system after n hours with zero intervention from me. I am sure I am not the first one to have this desire. Any pointers would be welcome.
Seems you are in for package building - poudriere(8) and bsdinstall(8) are your friends ;-)


To sum it up: unless you need AI stuff with your graphics cards, I would give FreeBSD a go and use bhyve VMs to slowly migrate everything to native FreeBSD. Welcome to the great land of FreeBSD!
 
Last edited:
Back
Top