Any recommendation on hardware serving two people as a desktop client

Dear @ll,

I am looking for some recommendations on hardware to build a system which can serve two user for desktop purposes, mainly browsing, emails, some office documents once in a while, nothing fancy. No youtube, no gaming, no music listening, just plain old administrative business. As I don`t want to spend the time maintaining two desktop systems, one laptop for my wife and one laptop for me and we don`t use to travel all the time anymore, I thought one host serving the two of us as a desktop would just be fine.

I am quiet familiar with FreeBSD, so setting up the whole system and keeping it up2date is no issue at all. I have been driving FreeBSD as a daily driver for years.

I'm looking for recommendations on hardware which checks the following boxes on my list:
  • quiet, best would be fan less, it`s going to be located in the living room
  • ECC memory, at least 64 GB, better would be 128 GB
  • the ability to attach at least 3 screens, better would be 4
  • the ability to have at least two hard drives (ssd or nvme)
  • at least 3x USB ports for each user, so minimum would be 6x USB ports to start with
  • easy to maintain from the hardware site meaning if I have to change something it should be possible, I like to repair my stuff and replace failing parts
Any recommendation would be highly appreciated.
:)
 
The problem that I think of first is what system are you going to use for 4 independent monitors? USB-C display interfaces? I never tried. I wouldn't bet on 4 identical graphics cards in a PC without conflicts and other problems...
I made a 'dual seat' point of sale system that treats the 2 HDMI outputs as combined desktop and the software turns it into a system for 2 persons.
Both sides rely on USB touch input. There's only 1 mouse pointer which has no user function. (I could solve this by writing a program that displays several mouse pointers that are reading different mouses and pass the action input to a central manager, so they listen to desktop actions. It's a lot of work with not so much result. Something like it might already exist but I didn't notice it.)
An easier way might be to create a virtual network with 2 virtual screens that can be redirected to people instantly
 
I don't aim to dissuade you from your objective, but why do you need one system? It seems like the kind of system your describing would be very expensive and actually be more trouble to set up and maintain than just having two separate systems.

As an aside, why would you need 64GB or 128GB of ECC RAM for simple browsing and office documents? Are you using anywhere near that on your current system?
 
An easy way to do this is to have one central PC which you install all your software on and maintain, and where your storage is, and then one or more remote X-terminals which are separate laptops or PCs, and connect to the central machne over the LAN, either wired ethernet or wifi. Personally I prefer wired ethernet, so a little 4 or 8 port gigabit switch. The remote machines can be laptops or they can be desktop PCs. You could use modern mini-pc's or corporate disposal machines from ebay etc. I would suggest get 16GB ram minimum for the central machine. On the remote machines all you will need to run is Xorg and ssh, and then run the entire desktop remotely on the central machine over the lan, ie the remote machines work as X-terminals.

I don't think you need server grade hardware for you central machine (ECC ram etc) unless you're doing something really mission critical on it. And if you do get a server for the central machine, it's rather unlikely to be quiet!
 
I kind of already have that setup up and running. I use two X server each handling one user session on it's own. At the moment I got 32 GB of memory which I use all by myself entirely for browsing the web ( I have at least 8 work spaces and on each workspace I have a firefox open with at least 10 tabs, sometimes this grows to 20 Workspaces). Unfortunately my current hardware is already 7 years old and I can only attach 2 screens, so I will replace it in 2-3 years. FreeBSD did a very well job for the past years and never broke that setup, so I would like to continue it, just with a bit more hardware. Theses days AMD supports ECC out-of-the-box so I thought I would be nice to have as well. My laptop at work already supports 64 GB so that kind of amount of memory shouldn`t be an issue as well.

Edit:

MG

Regarding the screens, perhaps Iam a bit old fashined, but I would have attached those screens using DisplayPort or HDMI cables. Isn`t that possible anymore ?

jwillia3

My last laptop at work has 32GB memory and had been from the lower price segment.

blackbird9

I just want a simple unix like terminal soluation with decent hardware which I can use for another decade. 32 GB of memory served me well for the past 7 years, but for the next decade I feel like better would be 64 GB for a single user. I know it sounds a lot, but it isn`t, a firefox can easily accumulate 20 GB of memory just by browsing the web these days. I just want something that works. Like already mentioned, most of the AMD support ECC out-of-the-box and they are not server grade hardware. I do also take non-ECC memory, but if it is available why not take it. The idea here is to invest a bit money but be set for the next 7 - 10 years.
 
I think it should be possible to run two instances of X, using a different driver and a different graphics card. It was possible, with KMS today I don't know the details. But then USB hub "user splitting" might be problematic, as the input from appropriate HIDs should go only to appropriate X.

Perhaps the better option would be to install a bare metal hypervisor.
You can then partition the hardware into two FreeBSD installations by passing in the USB hub and graphics card.
Those two installations can be booted off PXE from the third "master server" and you can have root and home directories served from master to both, so you can just admin master.

I don't aim to dissuade you from your objective, but why do you need one system? It seems like the kind of system your describing would be very expensive and actually be more trouble to set up and maintain than just having two separate systems.

I also think optimum would be two machines managed centrally. Either from third, or one of them is the mgmt.

I don't think you need server grade hardware for you central machine (ECC ram etc) unless you're doing something really mission critical on it. And if you do get a server for the central machine, it's rather unlikely to be quiet!

Actually OP doesn't need the hardware for the workload at all.
I have two boxes near me. A 22 core Xeon with 128 GB RAM (non ECC) and my almost 20 year old Q6600 machine, 4 cores 8 GB RAM.
The load OP describes in his opening sentence fits more the latter than the former.

The Xeon is silent. It is not in a server case, it sits in a Coolermaster XAF box, top open, standard big "gaming" 2015-era Arctic cooler. The current CPU temp is 38 deg. When I load it up, it goes to 65, the cooler starts spinning, the machine starts being audible.
If I spin up my core Quad the stock vent will produce a lot louder sound than full on Xeon.
Due to audio stuff I specifically build all my PCs to run silent at average workload.
Lately I messed around with Pentium 4 boards and created a fully fanless ATX Pentium 4 2.0 GHz system, cooled only from a single silent case vent.

A lot can be done by using standard ATX gear, as server space does not care about noise levels. System working near full load cannot be noiseless, and server rooms contain hundreds to thousands of servers, it all adds up, so any attempts to lower the dbs of some server platform are very much, commercially, in vain.
 
I think it should be possible to run two instances of X, using a different driver and a different graphics card. It was possible, with KMS today I don't know the details. But then USB hub "user splitting" might be problematic, as the input from appropriate HIDs should go only to appropriate X.
Does UEFI handle such thing? Like 2 GPU's with different resolution and refresh frequency showing a transparent HD video. 😎
 
UEFI is going to initialize the UEFI display routines over one display device, although firmware of both has been executed - if you forget to put PCIe power to second GPU, you should get the rant from 2nd GPU's firmware on 1st GPU e.g primary screen :) Cause that is the way UEFI display is mapped, on primary, where it will show the ROM bios/firmware outputs of all devices.

Later on when OS kernel kicks in the UEFI display routines are gone and the OS controls both cards in full using drivers, so can do anything.
 
The heads don't need to have huge amounts of memory... remember they are just a display surface. If you are running lots of instances of firefox, they will all be running on the core machine, it's only the final display bitmap that appears on the heads.

I think you could make quite a nice setup with one central machine and use something like N100 (or the AMD equivalent) mini-pc's with 8 or 16GB RAM for the x-terminal heads. Then choose a decent 64GB ram desktop machine as the core, or get a case and motherboard and build your own. I don't know which particular one would be worth getting, I usually buy second hand boxes on ebay, although the mini-pc's are worth buying new from aliexpress. Also remember that recent chips can outperform older high-end cpus and can also save you a lot of money in lower electricity bills.
 
wow! this triggers memories of xinerama. we had the other "head" connected to an rca tv over s-video running mythtv. was solid. good times :D ...

I personally would go for a shuttle xpc. it is compact ,quiet and retains the option of adding drivers and pci cards.
 
The heads don't need to have huge amounts of memory... remember they are just a display surface. If you are running lots of instances of firefox, they will all be running on the core machine, it's only the final display bitmap that appears on the heads.

I think you could make quite a nice setup with one central machine and use something like N100 (or the AMD equivalent) mini-pc's with 8 or 16GB RAM for the x-terminal heads. Then choose a decent 64GB ram desktop machine as the core, or get a case and motherboard and build your own. I don't know which particular one would be worth getting, I usually buy second hand boxes on ebay, although the mini-pc's are worth buying new from aliexpress. Also remember that recent chips can outperform older high-end cpus and can also save you a lot of money in lower electricity bills.
And finally there are 3 PCs? If it is necessary to have "powerful" PC with 64GB RAM, the other can be "mini-pc" for x-terminal. First will be server and desktop.
 
I kind of already have that setup up and running. I use two X server each handling one user session on it's own.
Interesting setup, and I see how the X server part works.
How do you handle sound? I'm assuming that the two users might want to have separate sound "channels" for meetings etc. (perhaps music as well).
How do you handle usb ports? Is it ok that a usb stick plugged into a usb port shows up on both desktops?

Regarding memory: if you haven't following the prices on memory and storage the last few months, please check. Getting 128 GB memory today could be very expensive.
 
FWFW the NVidia drivers do not support multi-seat no matter what.

What should work relatively easily is have 2 different X11 servers on two different VTs. You can then switch with the usual vt switch keystrokes to select one or the other.
 
It is possible to set up multiseat with separate nvidia cards - but probably not using one card with several monitor outputs. Each instance of Xorg (and the nvidia driver) needs to be told which graphics card to use. I did this a long while ago. I would guess it's quite a bit easier now with later versions of FreeBSD and Xorg, but haven't tried it recently, and didn't get to the level of two separate sound channels. See https://forums.freebsd.org/threads/multiseat-how-to-set-two-keyboards-and-mice.51240
 
wow! this triggers memories of xinerama. we had the other "head" connected to an rca tv over s-video running mythtv. was solid. good times :D ...

I personally would go for a shuttle xpc. it is compact ,quiet and retains the option of adding drivers and pci cards.
Yeah in the late 90s and early 00s this had been my go to setup as well. Before Xinerama I just had an Xserver running for every screen and directed my applications using
Code:
# Xorg 1st session 1st screen
export DISPLAY=:0.0
# Xorg 1st session 2nd screen
export DISPLAY=:0.1
Indeed good times. :)
Interesting setup, and I see how the X server part works.
How do you handle sound? I'm assuming that the two users might want to have separate sound "channels" for meetings etc. (perhaps music as well).
How do you handle usb ports? Is it ok that a usb stick plugged into a usb port shows up on both desktops?

Regarding memory: if you haven't following the prices on memory and storage the last few months, please check. Getting 128 GB memory today could be very expensive.
As mentioned above sound is not required here, but I would assume just having a dedicated soundcard to support each user would fix that issue, like I have a dedicated gfx card for every Xorg to provide the screen to each user.
FWFW the NVidia drivers do not support multi-seat no matter what.

What should work relatively easily is have 2 different X11 servers on two different VTs. You can then switch with the usual vt switch keystrokes to select one or the other.
Having multiple Xorg running on different VTs is a common setup for me as well, as I like to separate my business account from my private account. You can be logged in both sessions at the same time and just switch between them when ever needed. I have been using this kind of setup for almost a decade on FreeBSD and it is very stable and reliable.
It is possible to set up multiseat with separate nvidia cards - but probably not using one card with several monitor outputs. Each instance of Xorg (and the nvidia driver) needs to be told which graphics card to use. I did this a long while ago. I would guess it's quite a bit easier now with later versions of FreeBSD and Xorg, but haven't tried it recently, and didn't get to the level of two separate sound channels. See https://forums.freebsd.org/threads/multiseat-how-to-set-two-keyboards-and-mice.51240
Thanks for linking that thread including all the technical details. I actually liked that setup, a single host and multiple seats, the most compared to all the other options (thinclient & server, XForward display, PXEBoot diskless client, etc.) Using FreeBSD it`s easy to maintain, very reliable and very stable. I just have to update one host. My wife and me, we can simply share it, no further equipment needed (network, cables, rack, server, clients, etc.). From my perspective I get all I want:
  • absolute control over my IT environment
  • minimalist stable, reliable IT environment
  • just one system to look after regarding maintenance, hardware failures to reduce time spend on IT maintenance to an absolut minimum
  • we can share the administrative burden of life together :)
For all the other activity like reading newspaper or watching a movie each of us got a tablet and that`s it. I know there is a lot which can be done and a multitude of different ways to achieve that, but we just want a simple, reliable setup ( I know simple is a debatable subject, so be so kind and read simple to the authors expierence).
As this is going to be integrated into our living room, I am looking for hardware, perhaps a nice chassis very quiet, some mainboard which supports AMD and therefor unregistered ECC and at least two gfx cards. Like I already mentioned above sound is not an issue as we are not going to attend any meetings, and we do all our entertainment using one of our tablets.

RichardM, what had been the reason to abandon that kind of setup ?
 
I'd just get 2 independent tiny formfactor clients - something in the ballpark of an intel N200 or N300 'NUC' mini PC (since the real NUCs are dead, just go for anything in that formfactor except ASUS and AssRock, as they are overpriced crap...).

As others have mentioned: at those requirements a single system would be *a lot* more expensive and troublesome to set up than just 2 cheap individual systems. Those N200 systems sip power at single-digit numbers at the load you've described.

Regarding ECC RAM: I wouldn't bother - and it isn't available in that low-end range anyways. The DDR5 'on-chip-ECC' is a farce and only a marketing-hype - it has nothing to do with proper ECC, so don't bother using DDR5 and go for a DDR4 variant (it's also cheaper while still expensive thanks to that stupid AI-bubble).

I have set up a few N100/200/300 (and their *05/50 variants) Topton and SOYO mini PCs over the last few years and they have been rock-solid workhorses at an incredibly low price point. both are white-label ODMs and manufacture for a lot of other brands.
If you want to pay for the "bigger brands", Gigabyte is quite OK and still reasonably priced. We had nothing but problems with the ASUS NUCs (this includes the later series that were already manufactured by ASUS but still labeled intel) and AsRock is just garbage firmware and hardware-wise.
 
Regarding ECC RAM: I wouldn't bother - and it isn't available in that low-end range anyways. The DDR5 'on-chip-ECC' is a farce and only a marketing-hype - it has nothing to do with proper ECC, so don't bother using DDR5 and go for a DDR4 variant (it's also cheaper while still expensive thanks to that stupid AI-bubble).

Decent AM4 and AM5 boards by Asus, Gigabyte and Asrock support unbuffered ECC. MSI does not.

So the platform doesn't cost more. Finding the DIMMs right now I don't know about. But I would surely try.
 
RichardM, what had been the reason to abandon that kind of setup ?

Simply that my wife got an iPad and now does almost everything on that, and the kids grew up and flew the nest... When they come back they have their own laptops. It was a great setup when they were at school and needed computers for homework, and we really wanted to keep any computers downstairs for all to see, rather than having laptops in bedrooms. They also played a lot of Minecraft together on that setup...

It did work well, and was very stable. Hardware-wise I just buy second-hand HP workstations and Nvidia Quadros from eBay - they are built to last and easy to work on. At the time, an xw6400 with two silent Quadro cards was easily sufficient for the multi-head setup - but obviously your requirements may be different.
 
Back
Top