Introduction#
As someone who once carried a desktop case back and forth between school and home to enjoy gaming more comfortably (a real hardcore person), after a series of operations like buying an airline case and switching to a smaller case, I finally reached a stunning conclusion—carrying a case to school is really inconvenient.
Streamer, streamer, playing games on a desktop is indeed very enjoyable, but it's still too troublesome. Is there a more portable, high-performance, and long-lasting computer you could recommend? Yes, there is, my friend. I'll give you a pillow, and you can dream about it yourself. (You want it all, right?)
So, is there a solution that combines portability and high performance?
Actually, there is, otherwise I wouldn't be writing this article. Now let me introduce you to: the most portable choice for dormitory gaming, the strongest performance at the same weight, the best partner for gaming on the go, the experience of AAA masterpieces in your pocket, and the assurance of worry-free gaming without battery anxiety—cloud gaming. (Written by AI, not me, it looks a bit awkward, but I still want to include it, hehe)
Ahem, this cloud gaming is not the same as that cloud gaming; this solution is based on the remote streaming solution built on Sunshine and Moonlight streaming software.
Streaming Effect#
Let's start with the results:
The remote host in Hangzhou to Ningbo has a network latency of 9-11ms, with a total encoding and decoding latency of around 7-8ms, making the total latency approximately 20ms.
At a bitrate of 30Mbps, you can play games like Baldur's Gate, Potato Brothers, and EVE Online at 90 frames (120 frames) in 1080P resolution without much bitrate consumption.
After testing for the past couple of days, it turns out that playing FPS and TPS games that require high bitrates is also possible. Playing Battlefield 2 feels quite similar to being in front of a computer, with streaming frame rates reaching seventy to eighty (mainly because my graphics card can only run seventy to eighty frames). However, the performance in Battlefield is a bit lackluster; there is still some blurriness at a distance, making it hard to see distant players. However, there was no noticeable delay, nor was there any delay when shooting (as for the blurriness in Battlefield, it was already quite blurry at a distance, so a bit more blurriness in streaming doesn't really matter).
Network Environment Requirements#
To implement this solution, a relatively sophisticated network environment is still needed. First, let me praise our school's campus network; it is so stable that it doesn't feel like a campus network, with 90M downlink and 90M uplink. Secondly, there is a requirement for the server to support IPv4 or IPv6. If you can apply for an IPv4 address from your ISP, that would be best. If you can't get an IPv4 but both networks support IPv6, that can work too. If you have neither an IPv4 address nor the ability to use IPv6, you might need to consider using internal network penetration software like Jiaoyue Lian.
To stream comfortably, the server needs at least 30M uplink, and the client also needs 30M downlink. Here are two websites for reference:
Speed test site: https://www.speedtest.cn
IPv6 test: https://ipv6ready.me/index.html.zh_CN
How to Deploy This Streaming Solution#
I recommend watching the video by Bilibili uploader Photographer Yunfei; his tutorial is very detailed and hands-on.
The solution I use is the Sunshine base version and the modified Moonlight version, with remote booting using a Xiaomi smart plug, and the IP is updated dynamically using DDNS-GO. Here are a few issues I encountered:
-
When installing the Sunshine base version, it is recommended to temporarily disable antivirus software, as it may block the installation of the virtual display, causing the installation to fail; Kaspersky is known to block it.
-
In the new version of the Sunshine base version, you no longer need to modify that file to change the resolution of the virtual display; you can directly add the resolution in the Sunshine control panel.
- It is recommended to use H.265 encoding; H.265 offers better picture quality at the same bitrate compared to H.264, and most devices now support H.265 encoding and decoding. As for encoding and decoding latency, changing the encoding method generally does not affect latency much, at most adding a millisecond or two. (The AV1 encoding format is also very advanced, but my device does not support it, so I had to give it up.)
-
Question: Hey, you said I've installed the virtual display, can I unplug the original monitor? Answer: No, the virtual display cannot utilize all the performance of the graphics card, which may cause occasional stuttering.
-
What to do if you encounter a black screen issue? Don't worry, just press Win+P a few times to fix it. If you want to end the streaming, please click "end conversation" instead of disconnecting.
Lastly, I want to mention that since I am using a Lenovo Xiaoxin tablet as the streaming client, this tablet cannot have its screen go black while an external display is connected, and it uses an OLED screen, which could lead to burn-in. So, I came up with a genius idea: as we all know, even burn = no burn, so I simply opened the gallery on the tablet and found a pure black image to display, and that was it.