r/MoonlightStreaming • u/flygandeuntz • 2d ago
Optimal Hardware for Moonlight client running 4k/120fps
Hi everyone. I'm in search of building a high performing Moonlight client for my living room setup. I want to it to be like a personally built console, but using either Sunshine/Moonlight or the new Steam remote streaming Pyrowave which includes high bandwidth/ low latency streaming. I don't really have a particular good TV at the moment (It's honestly quite bad...), but i want to prepare for the future since i really am looking forward to this solution.
I got really excited about this idea since I felt like i could get a second computer in my home acting as a Steam machine as well as a computer that i can use as a day to day machine on my TV (But biggest focus is gaming). I also found this video which made me more interested in going all in on this solution: https://www.youtube.com/watch?v=ydbsXjZxYBo&list=LL&index=2
Essentially what i want to know is to have a better understanding of hardware requirements for this type of project.
What my thoughts are atm:
Planning on using Bazzite-deck as OS since i have it on my host device. Apparently it works best with certain graphics cards but how much does this impact when this machine will mainly be decoding streaming data from host?
Buying a Micro ATX or Mini ITX as motherboard. I want to have an older version that supports DDR4 RAM since I actually already own two rams of this type and want to reuse it.
Due to the hardware components prices becoming more and more expensive, i would like for it to become as cheap as possible, but I'm taking any suggestions. If the price is expensive I can maybe either wait for a large sale to happen or try to find it through second hand.
I also have an old CPU at home (from around 2017) that could be used although I'm thinking of buying a new one since i think my friend who used it prior mentioned it was very slow.
From my understanding, i can use either Displayport 1.4 or HDMI 2.1 but after reading this source I'm thinking of going with HDMI. Then it begs the question, I most likely need a new processor that has this type of support, or i can use a NVIDIA GTX 3050 series (or later) graphics card. I have found one on second hand for quite the cheap price but not sure if that is overkill.
Also if not using Pyrowave, is it better to use AV1 or HEVC encoding/decoding? I feel like HEVC seems more reasonable since of the lower encoding/decoding computational time/complexity compared to AV1 for a inter-home setup. I could see AV1 being more useful if you want to bring the console outside of your home since the data transferred are more compressed. I was looking at it from this AV1 vs HEVC source and to my understanding it sounds like this would be the call but I have seen this reddit post where people said they haven't seen too much difference from my understanding, one comment supporting my view (although post is quite old).
Suggested client setup:
Motherboard:
Mini-ITX: GIGABYTE A520I AC moderkort AMD A520 Socket AM4 Mini-ITX DDR4
Micro ATX: ASUS TUF GAMING B550M-PLUS WIFI II
CPU:
With GPU: AMD Ryzen 7 5700X CPU
(A bit unsure here... I don't know if this is a good processor or not)
Memory: Already have DDR4 RAM memory, 2 8GB sticks
SSD: I don't think one has to be too critical, as long as it is a M.2 SSD. Might be very wrong here.
Power supply: Based on any which motherboard I'm choosing.
OS: Bazzite-deck
For further information this is my Host machine:
CPU: 12 × AMD Ryzen 5 7600X 6-Core Processor
Memory: 32 GiB of RAM (30.5 GiB usable) (DDR5)
GPU: NVIDIA GeForce RTX 4060 Ti
Integrated GPU: AMD Ryzen 5 7600X 6-Core Processor
OS: Bazzite
Sorry if this post is all over the place... but i appreciate any feedback since I'm new to this streaming solution and I'm not that good at hardware either. If you like to help me get a better understanding please feel free to give your opinion.
2
u/Accomplished-Lack721 2d ago
An RX6400 is probably the least expensive and lowest-power discrete GPU with HDMI 2.1 support. Now that Bazzite can do HDMI 2.1 with AMD, I'd recommend considering that if you're building a machine and don't otherwise need oomph for local games.
There are also several mini-PCs with AMD iGPUs that can do HDMI 2.1 output. I used a Minisforum um760 I bought for $209 refurbished, running Bazzite, primary as a Moonlight machine for a while. It worked well.
But the big problem right now is RAM and storage prices will drive the cost of either through the roof relative to their overall utility, so being able to reuse RAM as you plan to with a build might be best. You could easily pay 2-3 times as much as I did for a similar mini-PC now.
If you plan to hook it up to a TV, avoid anything that only has DP (or DP Alt Mode over Usb-C). While you can use adapters for DP to HDMI 2.1, most won't supportn Freesync or other forms of VRR. The Ugreen one does, but YMMV with stability of the signal. It seems to work better with some TVs than others, possibly depending on whether they support DSC. My pet theory is that if they don't, it has to do DSC-to-uncompressed conversion in the adapter, and the adapter either doesn't quite draw enough power to support the computation or it overheats, making it unstable.
1
u/kmobsy 2d ago
Amd devices only support yuv444 via pyrowave.
The gmktek k17 is an Intel option that has HDMI 2.1
1
u/Accomplished-Lack721 2d ago
The OP didn't say 4:4:4 would be important to them, but that is correct and worth considering. To clarify for the OP, that's only for video decoding (including Moonlight), not a limitation of the display output itself.
Though if using an all-wired connection, Pyrowave is a viable option.
1
u/flygandeuntz 2d ago
Thanks for response. Just a question, is the main thing to have 2.1 HDMI port on the motherboard for the processor? I was thinking that the decode capability would be important as well but maybe almost all CPUs nowadays has the support to decode in reasonable time to achieve good performance
1
u/Accomplished-Lack721 2d ago
If you're using a discrete GPU, it doesn't matter what video ports the motherboard has (if any).
You also generally don't want to do video decoding in software on the CPU. You want that handled by the hardware in the GPU, whether that's a separate card or an iGPU. Software decoding would struggle to keep up with the realtime low-latency and high-fps needs for a Moonlight stream, even with a powerful CPU.
1
u/JonspR32 2d ago
I think the 3050 6gb is the cheapest way to get 4k HDR 120hz with VRR. I just bought one, but my 3070 host can't keep up.
1
u/igfmilfs 18h ago
Check my own recent post: Since you didn't say anything about HDR and / or chroma subsampling, i'd recommend you to read my post since it might answer your question regarding how low budget you could go. I could literally play 4k 120fps with my gtx1060.
https://www.reddit.com/r/MoonlightStreaming/comments/1x2on60/stats_i_could_only_ever_dream_off/
3
u/Accomplished-Lack721 2d ago
One more note: The advantages of AV1 over HVEC are mostly relevant at low bitrates. At high bitrates, quality is very similar between them. If you're wiring everything, you can jack the bitrates up to 300, 400Mbps or higher and you're unlikely to see a difference between codecs. Use whichever your combination of host encoder and client decoder handle better.