Confused on Steam Play and Proton? Be sure to check out our guide.
Thoughts on Quick resume / DirectStorage for Linux
Page: 1/2»
  Go to:
Cyril Nov 11, 2020
I'm interested on how (or when) this functionality could work on Linux.
Have you some links of software that can already achieve this?

I know Nyrna with that kind of feature but it doesn't work with multiple apps and not after a reboot either.

Do you know if someone is working on it?
Thanks!
CatKiller Nov 11, 2020
The mechanism that's in Linux is peer-to-peer direct memory access (P2P DMA). Because of where the money is in Linux, the primary work is for network to storage and storage to storage. Storage to GPU is tricky but in progress. The primary difficulty is making sure that it will work before you try it; I think it currently uses whitelists to achieve that.

The suspend/resume stuff I don't know of anything similar; that's the kind of thing that benefits from a rigidly-defined use-case rather than the usable-for-anything mechanisms that make sense for Linux to prefer. Plus suspend/resume in general has been wrinkly.
whizse Nov 11, 2020
RE Quick resume: SIGSTOP / SIGCONT

(Kidding of course, I suppose it's something that actually suspends/resumes a process to disk?)
Cyril Nov 11, 2020
I'm mostly interested in Quick resume though, and yes it seems that it goes to the disk, like the hibernation mode.
On the Xbox Series X, as I understand it (didn't read a lot about it), when "pausing" a game, it doesn't consume resources (RAM, CPU or GPU), if it was the case it would be not great at all for the performances in-game. We speaking about a console of course, it's the only purpose.

How it can be difficult to do that?
Sure Microsoft won't release the source code of the feature, and it will remain Windows exclusive.
But I hope some Linux enthusiasts will work on it for our beloved OS.
CatKiller Nov 11, 2020
Quoting: CyrilBut I hope some Linux enthusiasts will work on it for our beloved OS.

The place that kind of functionality would go, should someone make it, would be systemd, as the process that starts and stops other processes.
Cyril Nov 11, 2020
Quoting: CatKiller
Quoting: CyrilBut I hope some Linux enthusiasts will work on it for our beloved OS.

The place that kind of functionality would go, should someone make it, would be systemd, as the process that starts and stops other processes.

Have you an opinion on nyrna? I'm curious because from my point of view I don't see the real difficult to have a quick resume feature on Linux (or macOS...) but in the other hand it seems developers might have ones.
On their Github page they mention CRIU, but it doesn't work with X applications...
whizse Nov 11, 2020
Skimming through the Nyrna source, it really is just a simple wrapper around SIGSTOP / SIGCONT.
CatKiller Nov 11, 2020
Quoting: CyrilHave you an opinion on nyrna?


I'd not heard of it till you mentioned it. From a quick look, it seems quite simplistic.

QuoteI'm curious because from my point of view I don't see the real difficult to have a quick resume feature on Linux (or macOS...) but in the other hand it seems developers might have ones.

For the right implementation of the thing you're after, you'd want something that could keep track of the process and any child processes, and their memory usage, so that all the processes can be suspended together, their RAM contents put into an image which is saved to disc (optionally over restarts) and unloaded, then reloading the RAM image in such a way that the processes don't notice that the actual memory addresses have changed, then restart the processes and recreate their windows without any of them getting confused. It seems like the sort of thing that's doable from systemd/cgroups/some kind of containerisation, as long as there's sufficient interest. Most use cases for that kind of thing would just use a VM, though.
Cyril Nov 11, 2020
At least Microsoft did it with their console, but as said we don't have the source code and don't know how precisely (even if it's not for Linux though, it could be interesting).
CatKiller Nov 11, 2020
Quoting: CyrilAt least Microsoft did it with their console, but as said we don't have the source code and don't know how precisely (even if it's not for Linux though, it could be interesting).
The Xbox runs each game in a separate Hyper-V VM.
Cyril Nov 12, 2020
Quoting: CatKiller
Quoting: CyrilAt least Microsoft did it with their console, but as said we don't have the source code and don't know how precisely (even if it's not for Linux though, it could be interesting).
The Xbox runs each game in a separate Hyper-V VM.

So I suppose with that they can achieve it without negative impact on performances. I know nothing about Hyper-V, but it seems it's available on Linux, isn't it?
If yes, anyone have tested it?

On a console, the user don't notice it, it works OOTB. But with a PC, I'm wondering if setup VMs etc worth it... Maybe it can be pretty simple, I don't know.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.