Title: Cloud gaming review using Geforce Now
       Author: Solène
       Date: 07 March 2024
       Tags: gaming network unix
       Description: In this article, I'm sharing my experience playing video
       games with the cloud gaming service Geforce Now
       
       # Introduction
       
       I'm finally done with ADSL now as I got access to optical fiber last
       week!  It was time for me to try cloud gaming again and see how it
       improved since my last use in 2016.
       
       If you are not familiar with cloud gaming, please do not run away, here
       is a brief description.  Cloud gaming refers to a service allowing one
       to play locally a game running on a remote machine (either locally or
       over the Internet).
       
       There are a few commercial services available, mainly: GeForce Now,
       PlayStation Plus Premium (other tiers don't have streaming), Xbox game
       pass Ultimate and Amazon Luna.  Two major services died in the long
       run: Google Stadia and Shadow (which is back now with a different
       formula).
       
       A note on Shadow, they are now offering access to an entire computer
       running Windows, and you do what you want with it, which is a bit
       different from other "gaming" services listed above.  It's expensive,
       but not more than renting an AWS system with equivalent specs (I know
       some people doing that for gaming).
       
       This article is about the service Nvidia GeForce Now (not sponsored,
       just to be clear).
       
       I tried the free tier, premium tier and ultimate tier (thanks to people
       supporting me on Patreon, I could afford the price for this review).
       
 (HTM) Geforce Now official page
       
 (HTM) Geforce Now page where you play (not easy to figure after a login)
       
       # The service
       
       This is the first service I tried in 2016 when I received an Nvidia
       Shield HTPC, the experience was quite solid back in the days.  But is
       it good in 2024?
       
       The answer is clear, yes, it's good, but it has limitations you need to
       be aware of.  The free tier allows playing for a maximum of 1 hour in a
       single session, and with a waiting queue that can be fast (< 1 minute)
       or long (> 15 minutes), but the average waiting time I had was like 9
       minutes.  The waiting queue also displays ads now.
       
       The premium tier at 11€$/month removes the queue system by giving you
       priority over free users, always assigns an RTX card and allows playing
       up to 6 hours in a single session (you just need to start a new session
       if you want to continue).
       
       Finally, the ultimate tier costs 22€$/month and allows you to play in
       4K@120fps on a RTX 4080, up to 8h.
       
       The tiers are quite good in my opinion, you can try and use the service
       for free to check if it works for you, then the premium tier is
       affordable to be used regularly.  The ultimate tier will only be useful
       to advanced gamers who need 4K, or higher frame rates.
       
       Nvidia just released a new offer early March 2024, a premium daily pass
       for $3.99 or ultimate daily pass for 8€.  This is useful if you want
       to evaluate a tier before deciding if you pay for 6 months.  You will
       understand later why this daily pass can be useful compared to buying a
       full month.
       
       # Operating system support
       
       I tried the service using a Steam Deck, a Linux computer over Wi-Fi and
       Ethernet, a Windows computer over Ethernet and in a VM on Qubes OS. 
       The latency and quality were very different.
       
       If you play in a web browser (Chrome based, Edge, Safari), make sure it
       supports hardware acceleration video decoding, this is the default for
       Windows but a huge struggle on Linux, Chrome/Chromium support is recent
       and can be enabled using `chromium
       --enable-features=VaapiVideoDecodeLinuxGL --use-gl=angle`.  There is a
       Linux Electron App, but it does nothing more than bundling the web page
       in chromium, without acceleration.
       
       On a web browser, the codec used is limited to h264 which does not work
       great with dark areas, it is less effective than advanced codecs like
       av1 or hevc (commonly known as h265).  If you web browser can't handle
       the stream, it will lose packets and then Geforce service will
       instantly reduce the quality until you do not lose packets, which will
       make things very ugly until it recover, until it drops again.  Using
       hardware acceleration solves the problem almost entirely!
       
       Web browser clients are also limited to 60 fps (so ultimate tier is
       useless), and Windows web browsers can support 1440p but no more.
       
       On Windows and Android you can install a native Geforce Now
       application, and it has a LOT more features than in-browser.  You can
       enable Nvidia reflex to remove any input lag, HDR for compatible
       screens, 4K resolution, 120 fps frame rate etc...  There is also a
       feature to add color filters for whatever reason...  The native program
       used AV1 (I only tried with the ultimate tier), games were smooth with
       stellar quality and not using more bandwidth than in h264 at 60 fps.
       
       I took a screenshot while playing Baldur's Gate 3 on different systems,
       you can compare the quality:
       
 (IMG) Playing on Steam native program, game set to maximum quality
 (IMG) Playing on Geforce Now on Windows native app, game set to maximum quality
 (IMG) Playing on Geforce Now on Linux with hardware acceleration, game set to maximum quality
       
       In my opinion, the best looking one is surprisingly the Geforce Now on
       Windows, then the native run on Steam and finally on Linux where it's
       still acceptable.  You can see a huge difference in terms of quality in
       the icons in the bottom bar.
       
       # Tier system
       
       When I upgraded from free to premium tier, I paid for 1 month and was
       instantly able to use the service as a premium user.
       
       Premium gives you priority in the queues, I saw the queue display a few
       times for a few seconds, so there is virtually no queue, and you can
       play for 6 hours in a row.
       
       When I upgraded from premium to ultimate tier, I was expecting to pay
       the price difference between my current subscription and the new one,
       but it was totally different.  I had to pay for a whole month of
       ultimate tier, and my current remaining tier was converted as an
       ultimate tier, but as ultimate costs a bit more than twice premium, a
       pro rata was applied to the premium time, resulting in something like
       12 extra days of ultimate for the premium month.
       
       Ultimate tier allows reaching a 4K resolution and 120 fps refresh rate,
       allow saving video settings in games, so you don't have to tweak them
       every time you play, and provide an Nvidia 4080 for every session, so
       you can always set the graphics settings to maximum.  You can also play
       up to 8 hours in a row.  Additionaly, you can record gaming sessions or
       the past n minutes, there is a dedicated panel using Ctrl+G.  It's
       possible to achieve 240 fps for compatible monitors, but only for 1080p
       resolution.
       
       Due to the tier upgrade method, the ultimate pass can be interesting,
       if you had 6 months of premium, you certainly don't want to convert it
       into 2 months of ultimate + paying 1 month of ultimate just to try.
       
       # Gaming quality
       
       As a gamer, I'm highly sensitive to latency, and local streaming has
       always felt poor with regard to latency, and I've been very surprised
       to see I can play an FPS game with a mouse on cloud gaming.  I had a
       ping of 8-75 ms with the streaming servers, which was really OK.  Games
       featuring "Nvidia reflex" have no sensitive input lag, this is almost
       magic.
       
       When using a proper client (native Windows client or a web browser with
       hardware acceleration), the quality was good, input lag barely
       noticeable (none in the app), it made me very happy :-)
       
       Using the free tier, I always had a rig good enough to put the graphics
       quality on High or Ultra, which surprised me for a free service.  On
       premium and later, I had an Nvidia 2080 minimum which is still relevant
       nowadays.
       
       The service can handle multiple controllers!  You can use any kind of
       controller, and even mix Xbox / PlayStation / Nintendo controllers, no
       specific hardware required here.  This is pretty cool as I can visit my
       siblings, bring controllers and play together on their computer <3.
       
       Another interesting benefit is that you can switch your gaming session
       from a device to another by connecting with the other device while
       already playing, Geforce Now will switch to the new connecting device
       without interruption.
       
       # Games library
       
       This is where GeForce now is pretty cool, you don't need to buy games
       to them.  You can import your own libraries like Steam, Ubisoft, Epic
       store, GOG (only CD Projekt Red games) or Xbox Game Pass games.  Not
       all games from your libraries will be playable though!  And for some
       reasons, some games are only available when run from Windows (native
       app or web browser), like Genshin Impact which won't appear in the
       games list if connected from non-Windows client?!
       
       If you already own games (don't forget to claim weekly free Epic store
       games), you can play most of them on GeForce Now, and thanks to cloud
       saves, you can sync progression between sessions or with a local
       computer.
       
       There are a bunch of free-to-play games that are good (like Warframe,
       Genshin Impact, some MMOs), so you could enjoy playing video games
       without having to buy one (until you get bored?).
       
       # Cost efficiency
       
       If you don't currently own a modern gaming computer, and you subscribe
       to the premium tier (9.17 $€/month when signing for 6 months), this
       costs you 110 $€ / year.
       
       Given an equivalent GPU costs at least 400€$ and could cope with
       games in High quality for 3 years (I'm optimistic), the GPU alone costs
       more than subscribing to the service. Of course, a local GPU can be
       used for data processing nowadays, or could be sold second hand, or be
       used for many years on old games.
       
       If you add the whole computer around the GPU, renewed every 5 or 6
       years (we are targeting to play modern games in high quality here!),
       you can add 1200 $€ / 5 years (or 240 $€ / year).
       
       When using the ultimate tier, you instantly get access to the best GPU
       available (currently a Geforce 4080, retail value of 1300€$).  Cost
       wise, this is impossible to beat with owned hardware.
       
       I did some math to figure how much money you can save from electricity
       saving: the average gaming rig draws approximately 350 Watts when
       playing, a Geforce now thin client and a monitor would use 100 Watts in
       the worst case scenario (a laptop alone would be more around 35 Watts).
        So, you save 0.25 kWh per hour of gaming, if one plays 100 hours per
       month (that's 20 days playing 5h, or 3.33 hours / day) they would save
       25 kWh.  The official rate in France is 0.25 € / kWh, that would
       result in a 6.25€ saving in electricity.  The monthly subscription is
       immediately less expensive when taking this into account.  Obviously,
       if you are playing less, the savings are less important.
       
       # Bandwidth usage and ecology
       
       Most of the time, the streaming was using between 3 and 4 MB/s for a
       1080p@60fps (full-hd resolution, 1920x1080, at 60 frames per second) in
       automatic quality mode.  Playing at 30 fps or on smaller resolutions
       will use drastically less bandwidth.  I've been able to play in
       1080p@30 on my old ADSL line! (quality was degraded, but good enough). 
       Playing at 120 fps slightly increased the bandwidth usage by 1 MB/s.
       
       I remember a long tech article about ecology and cloud gaming which
       concluded cloud gaming is more "eco-friendly" than running locally if
       you play it less than a dozen hours.  However, it always assumed you
       had a capable gaming computer locally that was already there, whether
       you use the cloud gaming or not, which is a huge bias in my opinion. 
       It also didn't account that one may install a video games multiple
       times and that a single game now weights 100 GB (which is equivalent to
       20h of cloud gaming bandwidth wise!). The biggest cons was the
       bandwidth requirements and the whole worldwide maintenance to keep high
       speed lines for everyone.  I do think Cloud gaming is way more
       effective as it allows pooling gaming devices instead of having
       everyone with their own hardware.
       
       As a comparison, 4K streaming at Netflix uses 25 Mbps of network (~ 3.1
       MB/s).
       
       # Playing on Android
       
       Geforce Now allows you to play any compatible game on Android, is it
       worth?  I tried it with a Bluetooth controller on my BQ Aquaris X
       running LineageOS (it's a 7 years old phone, average specs with a 720p
       screen).
       
       I was able to play in Wi-Fi using the 5 GHz network, it felt perfect
       except that I had to put the smartphone screen in a comfortable way. 
       This was drawing the battery at a rate of 0.7% / minute, but this is an
       old phone, I expect newer hardware to do better.
       
       On 4G, the battery usage was less than Wi-Fi with 0.5% / minute.  The
       service at 720p@60fps used an average of 1.2 MB/s of data for a gaming
       session of Monster Hunter world.  At this rate, you can expect a data
       usage of 4.3 GB / hour of gameplay, which could be a lot or cheap
       depending on your usage and mobile subscription.
       
       Globally, playing on Android was very good, but only if you have a
       controller.  There are interesting folding controllers that sandwich
       the smartphone between two parts, turning it into something looking
       like a Nintendo Switch, this can be a very interesting device for
       players.
       
       # Tips
       
       You can use "Ctrl+G" to change settings while in game or also display
       information about the streaming.
       
       In GeForce Now settings (not in-game), you can choose the servers
       location if you want to try a different datacenter.  I set to choose
       the nearest otherwise I could land on a remote one with a bad ping.
       
       GeForce Now even works on OpenBSD or Qubes OS qubes (more on that later
       on Qubes OS forum!).
       
 (HTM) Qubes OS forum discussion
       
       # Conclusion
       
       GeForce Now is a pretty neat service, the free tier is good enough for
       occasional gamers who would play once in a while for a short session,
       but also provide a cheaper alternative than having to keep a gaming rig
       up-to-date.  I really like that they allow me to use my own library
       instead of having to buy games on their own store.
       
       I'm preparing another blog post about local and self hosted cloud
       gaming, and I have to admit I haven't been able to do better than
       Geforce Now even on local network...  Engineers at Geforce Now
       certainly know their stuff!
       
       The experience was solid even on a 10 years old laptop, and enjoyable. 
       A "cool" feature when playing is the surrounding silence, as no CPU/GPU
       are crunching for rendering!  My GPU is still capable to handle modern
       games at an average quality at 60 FPS, I may consider using the premium
       tier in the future instead of replacing my GPU.