After 3 years in the making I’m excited to announce the launch of Games on Whales, an innovative open-source project that revolutionizes virtual desktops and gaming. Our mission is to enable multiple users to stream different content from a single machine, with full HW acceleration and low latency.

With Games on Whales, you can:

  • Multi-user: Share a single remote host hardware with friends or colleagues, each streaming their own content (gaming, productivity, or anything else!)
  • Headless: Create virtual desktops on demand, with automatic resolution and FPS matching, without the need for a monitor or dummy plug
  • Advanced Input Support: Enjoy seamless control with mouse, keyboard, and joypads, including Gyro and Acceleration support (a first in Linux!)
  • Low latency: Uses the Moonlight protocol to stream content to a wide variety of supported clients.
  • Linux and Docker First: Our curated Docker images include popular applications like Steam, Firefox, Lutris, Retroarch, and more!
  • Fully Open Source: MIT licensed, and we welcome contributions from the community.

Interested in how this works under the hood? You can read more about it in our developer guide or deep dive into the code.

18 points

This looks awesome and something I’ve been hoping to do for a few years. Can’t wait to try this on my home server.

permalink
report
reply
8 points

Thanks! Let me know how it goes!

permalink
report
parent
reply
13 points

I tried to do sth similar with limited success using Steam remote play. This is great but I have 2 questions:

  • Did you look into memory deduplication?
  • Is client software sunshine or custom software?
permalink
report
reply
31 points

Great questions!

Did you look into memory deduplication?

For the Steam library I suppose? There’s been some discussions around it both in Discord and Github #83 #69 It’s something that I should definitely research further but I’d really like to address it even if it’s just something that might be done outside of our container… Would you like to help us?

Is client software sunshine or custom software?

Wolf is an implementation of a full Moonlight backend from scratch; there’s has been many reasons for this but mostly it’s because Sunshine has a lot of global and intertwined state and it would be very hard to add support for multiple independent users. I try to contribute upstream where possible; for example I’ve helped merging our custom library for virtual inputs so that users of Sunshine could also benefit from the new virtual joypad implementation and support for Gyro, Acceleration and so on…

permalink
report
parent
reply
11 points

For the Steam library I suppose?

I meant RAM deduplication. https://duckduckgo.com/?q=linux+same+page+merging&t=fpas&ia=web

For on disk deduplication, Steam supports user-specified locations for installing games and dependencies like Steam Linux Runtime. 2 users can theoretically use the same Steam library at the same time. To evade issues, auto updates should be disabled in the Steam clients. Steam doesn’t support completely disabling updates afaik, the best is setting update period to 3.00-4.00 AM. DXVK cache files must be located outside the Steam library folder. Otherwise if 2 people play the same game with Proton at the same time, cache files may be corrupted. (the default is the folder with game exe) Info on changing cache file location: link

permalink
report
parent
reply
16 points

Does it support multiple screen/displays?

permalink
report
reply
22 points

It does! It’ll automatically create new virtual displays on demand when a new client connects and it’ll match the client resolution and framerate.

permalink
report
parent
reply
8 points

Is there also a way to simulate splitscreen with that?

permalink
report
parent
reply
15 points

Not yet, but we are working on it!

permalink
report
parent
reply
2 points

Looks awesome! Any idea if this will run on WSL?

permalink
report
reply
6 points

How so you force steam to run multiple instance of the same game ?

Or just multiple different games at once?

permalink
report
reply
1 point

As far as I can tell, it’s creating container VMs that have Steam installed inside separately.

permalink
report
parent
reply
2 points
*

still steam prevents you from running more than one game at once from one account. can’t start vampire survivors on the deck and play manor lords on the other pc using the same account. family sharing and using multiple accounts should work, though 🤔

permalink
report
parent
reply
2 points

Yeah, I think that’s the general idea. They are seperate instances of Steam that could be signed into different accounts. So yeah, if you’re doing multiplayer of one game, each account would need to own it. That would be the exact same limitation at a LAN party anyway. This just lets you host said LAN party on a single beefy box, and use thin clients for each gamer, like an RPi4, a tablet or even an Apple/Android TV.

permalink
report
parent
reply
10 points

I believe this is akin to an open-source version of Stadia or Geforce now. Essentially, you have a powerful server that can be used by multiple users to play their own games. So, along with a couple of friends, you could purchase a powerful server, and then connect to it with a weak home computer.

permalink
report
parent
reply
3 points

It looks they are just containers. No hardware or kernel emulation needed.

permalink
report
parent
reply
2 points

That doesn’t necessarily seem to be the case:

permalink
report
parent
reply
7 points

As others have pointed out below it’s going to run multiple separated instances of Steam with the limitations that Valve impose (there’s not much we can do there). This project is not limited to Steam though, you could easily run another session from a different device with something like Lutris or Pegasus.

permalink
report
parent
reply

Selfhosted

!selfhosted@lemmy.world

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

Community stats

  • 3.7K

    Monthly active users

  • 2K

    Posts

  • 23K

    Comments