Moonlight Game Streaming

If you have read this blog for any period of time, then you have probably seen me extoll the virtues of Parsec for game streaming. If you have not, then a quick 500ft view is that my world works a little different than your average gamer. I have one beefy but aging gaming machine upstairs, but I also spend a lot of time downstairs on my laptop. Said laptop is old enough that it is long beyond any useful ability to play games on it with its GeForce 960M graphics card in it. However I mitigate this fact by streaming games from my upstairs machine to the laptop over my local area network. I’ve been doing this since 2018 with pretty solid success after having tried a few other options that never quite panned out. There are however a bunch of things that you just sort of take for granted while using Parsec.

First off the connection is going to have intermittent lag causing the audio and controls to have what I can only describe as a “hiccup” where the audio drags for a moment and controls go a little wonky. If this happens at the wrong time it could mean a death, so I find I kinda play accordingly as to not press my luck. The other problem is that the video can artifact something fierce if there is a large amount of movement going on with the screen. For example if a game has rain… prepare for a pixelated mess until you get indoors. I found this particularly bad in Minecraft for some reason, making it extremely hard to play if there was rain or snow happening on screen. These are all things that I have just sort of dealt with because it was the price of entry for being able to play games on my laptop remotely.

The challenge however is that over the last year these have seemingly gotten worse. I know with the pandemic, Parsec has been selling its services heavily not just as a game streaming platform but as a super duper terminal services client. No matter how much I tell the client to directly connect to machines on my network, there is still a remote connection overhead of the client dialing home in order to locate the box it is attempting to connect to. This overhead seems to have gotten worse causing the audio/visual hiccups to come more often. I’ve done everything that I can think of to try and remove issues from the chain… but the end result is that I am less likely to play “serious” games from my laptop leading me to spend way more time at my desktop… which is also doubling as my work computer in the time for remote work.

I am not sure exactly what lead me to stumble onto Moonlight last night, but stumble onto it I did. I remember hearing about this project at one point in the past but never actually getting around to testing it out. Effectively Moonlight is an open source client that takes advantage of the Nvidia Gamestream tools built into GeForce Experience and the Shield infrastructure to allow you to stream games to lots of different platforms. Officially Moonlight has the following clients:

  • Windows
  • MacOS
  • Linux
  • Steam Link
  • Raspberry Pi and other SBCs
  • iOS and Apple TV
  • Android
  • Amazon FireOS
  • Google ChromeOS
  • PlayStation Vita (homebrew)

Essentially it supports all of the platforms that Parsec does with a few more thrown into the mix. For awhile I had been contemplating trying to build a set top box that would let me stream Parsec to a television but never got around to it. Moonlight however apparently just straight up natively supports the Android TV box that I already own. I will have to hook up a controller to it and test this out more closely to determine how well it works.

One of the challenges with Moonlight is that it is quite a bit more fiddly than Parsec. Essentially Parsec involves setting up an account, installing the client on two machines and then adding one as a host and then you are up and running pretty quickly. Moonlight requires you to have GeForce Experience installed on the host machine and then going into the client under the Shield section and toggling on Gamestream (which requires a GTX 650 or newer graphics card). If you are an AMD graphics card user, it requires more fiddling and apparently the OpenStream platform installed on your host machine. After you have Gamestream turned on, your machine should be findable as host in any Moonlight client that is installed on your network. There is a handshake that requires you to have access to both machines that is reminiscent of bluetooth pairing. When you attempt to connect the first time with Moonlight on a new platform it will show a short code and that code will have to be entered on your host machine in order to verify access.

From there you will be presented with a list of the games that GeForce Experience thinks you have installed on your machine. You might have to manually add games if they don’t show up, or just do what I did and configure a windows app to open… which effectively allows me desktop access to the machine. I did MSTSC.exe because it seemed fitting given that is the Remote Desktop client, but you could just as easily configure it to open Notepad.exe because the end result is it giving you access to the desktop. From there it works just like a normal remote desktop session and you can launch any games you might have on your host system. The individual game shortcuts seem to work pretty well as it will connect you and then automagically launch that specific game.

net stop NvContainerLocalSystem && net start NvContainerLocalSystem

I did end up needing to create a batch file with the above command in order to sort of “reset” the system if anything goes south on the host machine. This is essentially the equivalent of going into GeForce Experience and toggling on and off Gamestream. The default key combination for disconnecting from a Moonlight session is shift+alt+clt+q. However this morning while trying to take screenshots of how the Moonlight process worked, I stranded a session forcing me to run the batch file to disconnect and restore things back to normal. I did notice one of the pieces that did not get restored was my audio settings, so I had to go in and manually flip things back to speakers. Again Moonlight is way more fiddly than using Parsec which more or less just works.

Another thing that I encountered last night is when I first attempted to connect in remote desktop mode, I ended up getting a 4k window with a tiny 1080p window up in the corner. After some googling and messing about I found that I needed to go into the Nvidia Control Panel and change the Desktop Scaling settings. Since I run in native 4k mode while at the machine it doesn’t really do anything, but while remotely connected it takes the 1080p version of the desktop and blows it up full screen granting me easier access to it.

So at this point you are asking yourself… Bel why the hell would you go through this much trouble when you yourself have admitted that Parsec just works easier? Because running Moonlight was the best version of remote game streaming that I have ever experienced. Like I have long said that Parsec when it is working well is like sitting at the machine and controlling the games… but that is a lie. Even when it is working best, there are always some telltale signs in games that I am connected remotely and streaming. Last night while playing through Moonlight it legitimately did feel like I was upstairs playing at the keyboard when instead I was down on my laptop. I played a bunch of different games last night but at some point during the evening I started playing Generation Zero. The above screenshot is taken from the laptop of the game client running over Moonlight and there is no artifacting going on in the rain.

I played quite a bit of Outriders as well and it was so smooth and responsive. Like I think I had just gotten used to the subtle lag that Parsec added to the gameplay experience and don’t get me wrong… Parsec was better than anything I had tried up to that point. Moonlight was just a whole other level of smoothness and I think I could even probably do competitive modes in Destiny 2 through this connection. I remember it lagging three times during the entire night and even then it was only for a second before immediately returning control. I am not sure if Nvidia Gamestreaming has something built in to handle this, but it felt like the game just paused for a second before giving me access again rather than the game continuing running in the background and then having to deal with overcorrection by my character continuing along whatever path they were moving before the lag.

As much as I have loved Parsec these last three years, I think I might have a new main squeeze. As I said before these screenshots were grabbed via Fraps that just happened to be running on the laptop since I used to use that for game capture. Parsec does this thing where it intercepts a number of buttons and keeps them from being intercepted on the client machine, which is what stops voice chat from working but this also stopped me from capturing screenshots of what the Parsec client looked like performance wise. So unfortunately I don’t have any good examples of it artifacting out on me, but I am hopeful that maybe just maybe I can get voice chat working once again while on my laptop downstairs. This has been a huge source of disconnection for me because so often when I am just wanting to chill out I am on the laptop which prevents me from using it.

I will of course keep sharing my thoughts as I get used to Moonlight. I want to try a number of the other platforms like streaming games from my phone with the client. I will obviously report my findings in later posts.

Mixtape Mondays: Push Me Punch You

Hey Friends! It is that time again, time for another MixTape. I have managed to do this three weeks in a row which is pretty great for me. I have this bad habit of starting a series and then just wandering away like a bored toddler. For anyone who might be tuning in for the first time to this spectacle, I missed the era of building custom mixtapes for friends. Since you are all my friends I am now building custom mixtapes for you my audience. The idea is to put a number of songs together in a way that the combination is more than any of the constituent parts. The challenge however is how to make this actually work for the digital age.

The answer to that is that I am doing this largely on Spotify and also including a YouTube Playlist as a backup. I greatly favor Spotify however because it allows me to make some nonsense custom artwork, but I guess you are going to see that anyway if you are reading this blog post. I also try and come up with a good name for the mix to sort of set the tone. Occasionally these are pretentious nonsense and others like this morning are just pretty straight forward.

Push Me Punch You

One of the things that I love is a music that has a cohesive nature but no real cohesive name. This music is referred to as punk, post-hardcore, indie rock, garage rock, alternative or just the very boring and generic “rock”. Whatever the case it is music with a slight edge but that isn’t super hard about it. This is probably the mixtape of the series that I probably listen to the most because it most represents the general state of what I want to hear in a song. I attempt to parade some b side cuts and maybe some bands doing things that you might not expect from them. This is technically the second mixtape that I created in this sequence but I wanted to try and space things out a bit since the first one also had a little bit of an edge to it.

  • Bull In The Heather – Sonic Youth
  • Mistaken for Strangers – The National
  • Bulldog Front – Fugazi
  • Somebody to Shove – Soul Asylum
  • Head Injury – Soundgarden
  • Been Caught Stealing – Jane’s Addiction
  • Backwoods – Red Hot Chili Peppers
  • Relatin’ Dudes To Jazz – fIREHOSE
  • Out There – Dinosaur Jr.
  • Cut – The Cure
  • Jessie – Paw
  • Nearly Lost You – Screaming Trees
  • Ana Ng – They Might Be Giants
  • Hey Now – The Regrettes
  • Sunday Morning Coming Down – Me First and the Gimme Gimmes

Spotify

YouTube

Tidal

I hope you enjoy it and drop me a line below with your thoughts. Also what the hell do YOU call this brand of music? I mostly just call it Punk even though it isn’t the sort of Johnny Rotten/Exploited/Safety pin as a nose ring era that the term generally evokes.

AggroChat #344 – Teapot of Relaxation

Featuring:  Ammo, Ashgar, Belghast, Grace, Kodra, Tamrielo and Thalen

Hey Folks!  Tonight we are back with what ended up being a pretty topic heavy show.  Pretty sure Grace is recovering this week after the stress of last week and having to be first in the host announcement order.  Genshin Impact has added player housing and Ammo talks about the “Serenitea Pot” which is confusing as hell to listen to if you have no clue what is being said.  From there Kodra and Thalen talk about their experiences with little ones and Pokemon Snap.  Bel talks about Returnal, a game that is a mishmash of Hades, Nier, Metroidvania and a little bit of Dark Souls thrown in for good measure.  From there we talk about Star Trek Discovery and a broader discussion about various Trek shows.  Finally Kodra shares some of his experiences pugging content in Elder Scrolls Online.

Topics Discussed:

  • Ash is a Furry
  • Housing in Genshin Impact
  • Pokemon Snap
  • Returnal on PS5
  • Star Trek Discovery
  • Pugging in Elder Scrolls Online

Do I Regret my PS5?

In my fumbling around this morning for something to talk about, I remembered a tweet that I responded to yesterday from Charlotte McGrath of the larger FunHaus gaming ecosystem. Returnal is a game from Housemarque that seems to be blending a bunch of genres… namely the rogue-lite, bullet hell shooter and maybe a little dark souls mixed in for good measure since everything wants to be the dark souls of something. Generally speaking this is not the sort of game that would garner a ton of attention, other than the fact that it is one of a scant number of PlayStation 5 exclusive titles. This is sorta like the people who were all about Snipperclips when they had five games to play on their shiny new Switch.

I am going to admit there are times I regret the purchase of my PlayStation 5. While I did not get mine on launch day, I did manage to get a preorder that arrived five days later than expected. I have been able to count myself lucky among the folks who physically have a unit in hand… but unfortunately said console mostly sits there unused. There isn’t really a game that has made me want to play it over something I already have on my PC. I think that is the key difference for me as compared to a lot of folks that end up buying a console… it is the system of last choice. I got my PlayStation 5 because my PlayStation 4 was barely holding in there. I never went through the process of upgrading to a pro model and as such I had sorta been plotting the upgrade to PS5 since it was first announced.

I think the key difference between my experience with the PS5 and my experience when I first got my hands on the PS4 is we are in this weird moment that there really aren’t that many games on the platform that I don’t already have access to in other forms. Sony is known for being the console of exclusives but right now there is just nothing pushing me to really be playing the console. I got my PS4 with the Alpha for Destiny was announced and I managed to acquire a console and get into that alpha program with those being my very first experiences on the platform. Past that there were a number of games that were sitting there waiting on me like Infamous Second Son and Resogun that I just couldn’t experience somewhere else.

The truth is, most of the games that I am playing on my PlayStation 5 are all titles that I could be playing on my PlayStation 4. However given how much better those games play… said PS4 has mostly just been mothballed since November 17th. I did add an external hard drive so that I could play more PS4 games, but given that I went with an SSD based model I still get better performance out of those games than I did on the original console. I guess for that and that alone the upgrade was worth it for me personally, but if I had a PlayStation 4 Pro… I am not sure it would have been. I have not really done much with my console since getting it that I could not have continued doing on the older hardware.

I guess lets run down the exclusives that I am aware of on the platform so far.

  • Astro’s Playroom – Pack in title, really great. Deserves more attention than it probably gets because it is Mario quality.
  • Demon’s Souls – I actually played quite a bit of this game when the console was new, because it was essentially my justification for owning the big white tower.
  • Destruction AllStars – was a free game through PlayStation Plus and I have it installed but have never even booted it up. eSports nonsense is not my jam.

Then you have some upcoming releases

  • Returnal – Comes out today, and I already talked about it above. As per the original tweet I think this is a game a lot of folks will pick up only because they have nothing exclusive to play.
  • Ratchet and Clank: Rift Apart – this launches on June 11th and honestly is probably the reason why I bought my console if we are being completely honest. I wanted to own a PS5 by the time this game came out. I expected it to launch sooner… but it is what it is.

The challenge however is that if ANY of those games came out on the PC, I would buy them on that platform in a heartbeat. That is my platform of choice and unfortunately it is also the platform that is going through the most painful growing pains as it is nigh impossible to get a graphics card. Of the hotly sought out preorders of November, I feel like maybe I bet on the wrong horse. Had I put the same amount of effort into trying to lock down a RTX 3080 that I did into attempting to lock a PlayStation 5, I feel like I would ultimately be happier today. If there is any buyers remorse it is largely over that issue rather than the console itself. I know in June I will be thankful I have a PlayStation 5 because I love Ratchet and Clank, and will ultimately want to play Horizon Forbidden West on day one as well rather than waiting for the eventual PC launch.

I realize if we are being completely honest, we went through the same sluggish release schedule with the Nintendo Switch. As I stated earlier this console came out on March 3rd of 2017 and by March 31st I had managed to get my hands on one. The key difference however is that the Nintendo Switch had the massive juggernaut of Breath of the Wild to carry it forward. Sure that game was not exclusive to the platform… but no one actually owned a WiiU so it might as well have been exclusive? The same is not true with the PlayStation 4, which has sold around 116 million units to the roughly 13 million Wii U. It has been a little over 5 months since the launch of the PS5 and we have far less to show for it.

Nintendo had two things on their side, the first that they spaced out the big exclusive titles with Splatoon landing in July (roughly 3 months), and Super Mario Odyssey landing in October (roughly 6 months). The other thing is because of the relative lack of play of those Wii U titles, they could re-release a number of them for the new console and they would still feel fresh like Mario Kart 8 Deluxe landing around a month after the console release. The other big difference between these platforms is that the Nintendo Switch gave you new ways to play on the go, so it made sense to maybe rebuy some of your favorite third party games because the convertible nature of the platform.

The PlayStation 5 however is just a bigger and better version of the same thing you already had on your shelf. Reposting this picture as a reminder of just how damned massive it actually is. It doesn’t really allow anything to do something new that they were not already doing before. With the Nintendo Switch it became an interesting console that I often took to bed with me to play until I was falling asleep. The PS5 however is still operating in the same parameters that a dedicated console always has. Seeing as my preference will always lean towards mouse and keyboard on a PC, it serves the same role that consoles always do for me… allowing me to play games that I can’t get in any other way.

The other major change for me that happened this year is that I have been entirely remote. Seeing as I use consoles differently, that means they are all hooked up in my office so that I can easily capture video footage from them. I am finding it harder and harder to be upstairs at night seeing as it is my office all throughout the day. You might think… but Bel isn’t your gaming machine in your office? Sure it absolutely is, but I also have a laptop downstairs and am regularly playing remotely through Parsec streaming everything to that small screen in 1080p 60fps. Sure PlayStation technically has remote play, but they also have not really put the R&D work required to really make that optimized. There used to be a third party remote play client that was awesome… but Sony set out to crush its existence and kept making attempts to permanently break its ability to do interesting things. Essentially as it stands… the remote play experience is so much worse than the on box experience that it doesn’t really feel right to be streaming it.

So to answer the question posed in the topic of this post. Do I regret my PlayStation 5? Yeah a little bit, but not really for the reasons you might think. I regret that I took one of the market that could have gone into the hands of someone who would use it better. I regret not putting the same effort into trying to snag a 3080 and putting the money that I would have spent towards that goal instead. I don’t regret having the console however because eventually I will encounter a game that I really want to play that I can’t play through some other means. They are still hard to get so it isn’t like there is that reliable “I could have waited until X released” option. We had really bad ice storms in February… and it was only last week that I realized I had left my PS5 unplugged since then in an attempt to reduce power drain. That is a good illustration for how infrequently it gets used.