Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

Google open sourced CDC File Transfer from the ashes of Stadia

By - | Views: 53,037

As Google hover over the nuke from orbit button on Stadia, they're at least releasing some of it as open source like CDC File Transfer.

Noted on their GitHub page, it's a way for syncing and streaming files from Windows to Linux. The question is: why another way to sync files? There's tons of ways that already exist. Well, they explained that too.

Developers could use scp, but they noted it was "impractical" especially with more people working from home as it "always copies full files". So they made cdc_rsync and cdc_stream to help developers who quickly iterate on games. Something that could potentially be useful for developers checking out stuff on Steam Deck too.

CDC RSync is designed for syncing files from Windows to Linux but optimized for existing files possibly being on the end machine. They go into detail on why and how it's different to rsync, including showing it performing better for this specific case because of how they split up files into chunks differently at variable sizes. While CDC Stream is for streaming files from Windows to Linux, they say it's "conceptually" similar to sshfs but "optimized for read speed".

For anyone interested in trying it out, they provide release builds for Ubuntu.

Article taken from GamingOnLinux.com.
21 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
10 comments

buckysrevenge Jan 6, 2023
Hopefully they'll find time to open more stadia related resources *cough*the controller firmware*cough cough*
Klaas Jan 6, 2023
I wonder if I'm the only one that reads CDC as centers for desease control. An unfortunate name.

All in all this reminds me of https://xkcd.com/927/
Thetargos Jan 6, 2023
Quoting: KlaasI wonder if I'm the only one that reads CDC as centers for desease control. An unfortunate name.

All in all this reminds me of https://xkcd.com/927/
Nailed it, on both accounts! LOL!

I thought of the same (both CDC and regarding yet another sync protocol)
MayeulC Jan 6, 2023
I'm surprised, I thought rsync already used rolling hashes.

There's also casync in that space: https://github.com/systemd/casync/ (the blog post is quite nice IIRC).

If it's similar but better than rsync, I feel like these improvements should be folded into rsync.


Last edited by MayeulC on 6 January 2023 at 9:28 pm UTC
Philadelphus Jan 6, 2023
Quoting: MayeulCI'm surprised, I thought rsync already used rolling hashes.

There's also casync in that space: https://github.com/systemd/casync/ (the blog post is quite nice IIRC).

If it's similar but better than rsync, I feel like these improvements shoukd be folded into rsync.
If it's open source, perhaps they will be.
elmapul Jan 6, 2023
that is cool and all, but i rather not see the exclusive games die (guilty i'm looking at you) than seeing anything being open source from this mess.
TheRiddick Jan 7, 2023
Did they have their own translation layer or api for windows under Linux games or were they just using custom DXVK?
mr-victory Jan 7, 2023
Quoting: TheRiddickDid they have their own translation layer or api for windows under Linux games or were they just using custom DXVK?
They clearly mentioned DXVK in their "how to write compatibility layer for Windows" keynote.
Orkultus Jan 7, 2023
I just want them to patch the game pad, so we can use it as a bluetooth controller.
F.Ultra Jan 8, 2023
View PC info
  • Supporter
Quoting: MayeulCI'm surprised, I thought rsync already used rolling hashes.

There's also casync in that space: https://github.com/systemd/casync/ (the blog post is quite nice IIRC).

If it's similar but better than rsync, I feel like these improvements should be folded into rsync.

Perhaps semantics but rsync uses a rolling checksum (a variant of adler-32) combined with a strong hash. Casync looks really promising but unfortunately it needs a prepare stage that is probably why it so far haven't seen wide adoption and implementing that in rsync would require a total rewrite so that will probably never happen either (plus I don't think the rsync devs wants that need to prepare the files for transfer), the CDC improvements however should be a great contender for a new version of the rsync protocol/algorithm, just unfortunate that google decided to go NIH instead of proposing this change upstream to rsync.

Anyone interested should contact Wayne at [email protected]
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!
The comments on this article are closed.