For years I’ve had a dream of building a rack mounted PC capable of splitting its resources to host multiple GPU intensive VMs:

  • a few gaming VMs
  • a VM for work that can run Davinci Resolve and Blender renders
  • an LLM server
  • a Stable Diffusion server
  • media server

Just to name a few possibilities…

Everytime I’ve looked into it, it seemed like the technology just wasn’t there yet. I remember a few years ago Linus TT took a shot at it, but in the end suggested the technology (for non-commercial entities) just wasn’t in a comfortable spot yet.

So how far off are we? Obviously AI focused companies seem to make it work, but what possibilities exist for us self-hosters who might also want to run multiple displays in addition to the web gui LLM servers? And without forking out crazy money for GPU virtualization software licenses?

3 points

As others have expressed- were already there. Understand though that the reason this hasn’t caught on mainstream is the entire purpose of what you are asking is simple: it runs counter to the standards of commercial capitalism. We are talking about efficiency, self hosting, doing more with less, and cutting strings.

That said- understand that what you are undertaking is not dissimilar from building infrastructure in a company. You are building and expanding to meet your needs. Your needs are unique so there isn’t a ‘turn key’ solution that will fit perfectly… so you need to try things and see what works.

As far as things you are talking about specifically: you are going to ultimately be dipping your toes into the virtualization world… so xcp-ng and proxmox are good choices. If you can get your hands on older copies and uh… source a key or two: esxi is also very beginner friendly but won’t be able to upgrade thanks to their new pricing model. You seem like you are aware of the YouTube sphere so let me recommend 2GuysTech and the series on different hypervisors.

Once you decide on a hypervisor it’s as ‘simple’ as building a PC to meet your needs. If you have one already I’d start there to get a feel for how much you can pull out of it to determine how much you may need. You can probably split up a single GPU or just pass it through (cost vs performance.). LLMs are power / resource hungry so that may require it’s own GPU.

If power is cheap by you you can look into older server hardware but honestly this can be a messy space to dabble in (noise, heat, power costs.)

From there play with services that fit your needs.

It’s very doable and there are some easier paths to take… certainly- but again the thing about homelabs is it’s very custom. This is why the community (in general) is willing to help. We all have had to forge the same path.

permalink
report
reply
2 points

100% ^^^ This.

You could do everything with openstack, and it would be a great learning experience, but expect to dedicate about 30% of your life to running and managing openstack. When it just works, it’s great… when it doesn’t… ohh boy, its like a CRPG which will unlock your hardware after you finish the adventure.

permalink
report
parent
reply
4 points
*

Can this solution deliver 3+ streams of high resolution (1440p or higher and 144fps) low latency video with no artifacting and near native performance and responsiveness?

Gaming has a high requirement for high fidelity and low latency I/O, no one wants to spend all this money on racks and thin clients, the then get laggy windows and scrolling, artifacts, video compression, and low resolution.

That’s the problem at hand with a gaming server, if you want to replace a gaming desktop with a vm in a rack, you need to actually get the I/O to the user somehow, either through dedicated cables from the rack, fiber, or networking, the first is impractical, it involves potentially 100ft long runs of multiple display port, HDMI, USB, etc, and is very rigid in its application, the second is very expensive, shooting the price up to thousands of dollars per seat for display port/USB over fiber extenders, and the third option I have yet to see a vnc/remote solution that can deliver near native video performance.

I should reiterate, the op wants to do fidelity sensitive tasks, like video editing, they don’t just need to work on a spreadsheet.

permalink
report
parent
reply
2 points
*

Yes, for some definition of ‘low latency’.

Geforce now, shadow.tech, luna, all demonstrate this is done at scale every day.

Do your own VM hosting in your own datacenter and you can knock off 10-30ms of latency.

However you define low latency there is a way to iteratively approach it with different costs. As technology marches on, more and more use cases are going to be ‘good enough’ for virtualization.

Quite frankly, if you have a all optical network being 1m away or 30km away doesn’t matter.

Just so we are clear, local isn’t always the clear winner, there are limits on how much power, cooling, noise, storage, and size that people find acceptable for their work environment. So there is some tradeoff function every application takes into account of all local vs distributed.

permalink
report
parent
reply
9 points

None of the presented solutions cover the aspect of being in a different place than the rack, the same network is fine, but at a minimum a different room.

How do you deliver high resolution (e.g. 1440p, 144 fps) to multiple monitors with low latency over a network? I haven’t seen anything like that accomplished without running fiber from the host.

Eventually, your thin client will need too much power anyway, making the costs rise a lot. It makes sense in an office where you have 500 seats and you can load balance resources.

If someone can show me a multi seat gaming server that has native remote performance (as in you drag windows around in 144 fps, not the standard artifacty high latency behavior of vnc) I’ll eat a shoe.

permalink
report
parent
reply
0 points

Fiber isn’t some exotic never seen technology, its everywhere nowadays.

Moonlight literally does what you want, today! using hvec encoding straight in the gpu.

Try it out on your own network now.

permalink
report
parent
reply
3 points

A display port to fiber extender is $2,000. The fiber is not for the network.

Moonlight does not do what I want, moonlight requires a GPU on the thin client to decode. You would need a high end GPU to decide multiple high resolution video streams. Also afaik, moonlight doesn’t support multiple displays.

permalink
report
parent
reply
1 point
*

None of the presented solutions cover the aspect of being in a different place than the rack, the same network is fine, but at a minimum a different room.

If someone can show me a multi seat gaming server that has native remote performance (as in you drag windows around in 144 fps, not the standard artifacty high latency behavior of vnc) I’ll eat a shoe.

Thin clients absolutely can do this already. There are a variety of ways to transmit low latency video around a home from HDBaseT solutions to multicast / network driven ones. Nevermind basic solutions like sunshine /moonlight… Nvidia variants etc.

I have a single racked PC for feeding my home which has 3 ‘desk’ endpoints and two tvs… all of which are fed from the same location and can be dynamically matrixed (albeit the choke point is usb2 to each location because I’m cheap.). Latency is maybe 1.5-3 frames from live. Other solutions are normally around 5-8 which while higher are sufficiently snappy and won’t effect competitive play (professional level notwithstanding.)

A lot of latency comes down to tuning your solution and research. The vnc method you refer to is the lowest common denominator running on ancient technology and codecs simply because it is a widely supported standard.

Edit: As far as 144 goes- I don’t have any displays that run that but I have two running at 120 with no issue.

permalink
report
parent
reply
2 points

What is the cost of the thin clients and are you doing this over copper?

Are your desks multi monitor? To get the bare minimum in my households scenario I would need at least 12 streams at greater than 1080p

For 5 seats how much did it cost versus just having a computer in each location? For example looking at hdbaset to replace just my desk setup, I would need 4 ~$350 devices, just looking at monoprice for an idea (https://www.monoprice.com/product?p_id=21669) which doesn’t even cover all of the screens in my office.

permalink
report
parent
reply
7 points

Yep just ping time and latency make this a no go for a vast majority of us.

permalink
report
parent
reply
0 points
*

Can you define what acceptable latency would be?

local network ping (like corporate networks) 1-2ms

Encoding and decoding delay 10-15ms

So about ~20ms of latency

Real world example

permalink
report
parent
reply
1 point

Here is an alternative Piped link(s):

2GuysTech

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I’m open-source; check me out at GitHub.

permalink
report
parent
reply
7 points

I’ve recently tried to do that using sunsine and different linux gaming distros and it was awful, the VM was working great for a few minutes and then suddenly crashes and I have to hard stop it.

All the people that I’ve seen talking about it on the internet are using Windows VMs so I guess that I’m doing something wrong or the only way to do it is through a Windows VM, which I’ll not even try.

permalink
report
reply
3 points
*

I’ve recently tried to do that using sunsine and different linux gaming distros and it was awful, the VM was working great for a few minutes and then suddenly crashes and I have to hard stop it.

Are you running this with something like libvirtd/qemu? If so, VFIO configurations can get pretty complex. Random crashes seem like MSI interrupt issues (or you’ve allocated too much RAM to the guest). Or it could be GPU reset issues that would also occur on the (Linux) host, a newer kernel and Mesa version in the guest may help.

Setting on the kernel commandline for the host to workaround MSR interrupt crashes:

kvm.ignore_msrs=1

If you’re running on a Windows host or with something like Virtualbox (assuming GPU passthrough is supported by these), YMMV but I wouldn’t expect good results.

permalink
report
parent
reply
2 points

I’m using Proxmox with an NVIDIA 1050 GPU that I was passing through to another VM for jellyfin transcoding in docker (I don’t need it anymore), because of that I thought that the drivers were set up correctly.

The guest was Bazzite with 2 cores and 2 GB of RAM, I was not even gaming, just login on steam and updating the system and I had sudden crashes with Bazzite only using 1 GB on the Summary…

permalink
report
parent
reply
2 points

Ah Nvidia. Bazzite uses Wayland I believe since it uses the same gamescope session as SteamOS (unless something has changed recently). While it may be possible to get it working, I’d expect a much better time with an AMD card.

A traditional distribution may be a better bet with Nvidia for now.

permalink
report
parent
reply
6 points

I run a gaming Linux VM on my server and it works fine.

permalink
report
parent
reply
4 points

Could you explain how? I’m pretty lost in this situation…

permalink
report
parent
reply
2 points
*

Hey, sorry I didn’t reply until now but life has been pretty hectic and I also kinda borked my streaming VM right at the same time as I wrote that. I ran Nobara Linux for a while with KDE on Xorg and it actually worked pretty well. Then I decided I wanted to give Bazzite a try but I didn’t like the whole immutable thing. I went back to Nobara just to find that Steam Remote Play straight up didn’t work and I couldn’t know if I had failed to set up something properly or Valve just broke it while I was “away”. A couple of days ago I decided to just abandon Remote Play for the time being and deployed Games on Whales and it seems very promising so far. Much easier than fiddling with VM:s and GPU passthrough and Sunshine/Moonlight has never failed me.

permalink
report
parent
reply
8 points
*

Everytime I’ve looked into it, it seemed like the technology just wasn’t there yet. I remember a few years ago Linus TT took a shot at it, but in the end suggested the technology (for non-commercial entities) just wasn’t in a comfortable spot yet.

I had a sever in my basement running proxmox ( actually ended up doing it all manually eventually ), with a windows gaming VM and handful of utility Linux servers in 2015? The only problem being Windows games using kernel level anti cheat.

I get it really comes down to GPU sharing and I think it’s doable on consumer GPUs now but I’m not sure about gaming. Honestly the tech has been here for a long time. But companies like NVIDIA held on forever to the GPU resource sharing features and kept it away from consumer cards.

I’m a bit older these days and have gone through many generations of hardware with a different setup. I keep two or more GFX cards on hand. Latest always goes to my workstation while last gen is thrown in my sever and used by all my docker containers. Then have an older Xeon with 24 bays that I use for storage.

permalink
report
reply
9 points

You’re not really describing your use-case here. Are you just trying to run a server that does all your rendering for you so you can play games elsewhere? Yes, that’s totally possible.

If you’re trying to describe a business…no, it’s not possible, scalable, or profitable.

I’m curious as to what your intentions are here though.

permalink
report
reply
6 points

I have a workstation I use for video editing/vfx as well as gaming. Because of my work, I’m fortunate to have the latest high end GPUs and a 160" projector screen. I also have a few TVs in various rooms around the house.

Traditionally, if I want to watch something or play a video game, I have to go to the room with the jellyfin/plex/roku box to watch something and am limited to the work/gaming rig to play games. I can’t run renders and game at the same time. Buying an entire new pc so I can do both is a massive waste of money. If I want to do a test screening of a video I’m working on to see how it displays on various devices, I have to transfer the file around to these devices. This is limiting and inefficient to me.

I want to be able to go to any screen in my house: my living room TV, my large projector in my studio room, my tablet, or even my phone and switch between:

  • my workstation display running on a Window 10 VM
  • my linux VM with youtube or jellyfin player I use as a daily driver
  • a fedora or Windows VM dedicated to gaming, maybe SteamOS
  • maybe a friend comes over for a LAN party and we both can game without having to set up a 2nd rig
  • I want to host an LLM or stablediffusion server without having to buy a new GPU with enough VRAM to run SDXL
permalink
report
parent
reply
-19 points

What you’re describing is mostly a networking issue. I’m also pretty suspect about your setup and wishes. You definitely don’t work for a large VFX studio, and you’re not using this as described for CAD work. I’m going to guess this entire setup is for your anime and incest rendering farm.

This is a ridiculous question for anyone with this amount of hardware in their home already that’s using it on a daily basis to actually work. You would also not be “running renders” if this was hardware provided by a company you work for.

Whatever is being asked here is for a shady ass person. Don’t help them.

permalink
report
parent
reply
8 points

That’s such a weird leap in logic to jump to. Are you okay?

permalink
report
parent
reply
8 points

… what?

Them: “I want a centralized place to handle all my graphics stuff, so I can access graphically intensive things from any device.”

You: “Must be incest renders because you already have hardware and say you use it for work.”

So according to you, contractors don’t exist, iPhones can play PC games, and anyone wanting to split PC resources between multiple use cases is shady.

What’s ridiculous is that you seem to think extreme paranoia is a normal thing in everyday life.

permalink
report
parent
reply
6 points
*

Wow. Where is all this hate coming from?

People like to experiment, and tinker, and try things in their home lab, that would scale up in a business. Just to prove they can do it. That’s innovation. We should celebrate it. Not quash people

permalink
report
parent
reply
14 points
*

I bought a cheap used Dell R710 on Facebook marketplace for like $100 or so, as well as an ups, rack, 10g switch, etc, from various other sellers. All told, I’ve got about $500 in my server setup.

Installed proxmox on it. It’s “free” if you don’t buy a license. You just have to put up with a little nag screen when you open the control panel but it still works 100%, much like winrar.

Works great.

Edit: just realized this is in c/selfhosted AND I misunderstood the post. I’m gonna leave it here just on the off chance it’s useful to somebody, but I acknowledge it’s not what you’re looking for.

permalink
report
reply
10 points

Btw just in case you aren’t aware, the nag can be done away with. I don’t have a link off the top of my head but it’s out there.

permalink
report
parent
reply
2 points
*

I run a few servers myself with proxmox. FYI there is a script that removes that nag screen as well as configures some other useful things for proxmox self-hosters.

https://tteck.github.io/Proxmox/

permalink
report
parent
reply

Selfhosted

!selfhosted@lemmy.world

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

Community stats

  • 4.8K

    Monthly active users

  • 3.5K

    Posts

  • 79K

    Comments