Skip to content

A Headless Docker image with noVNC for debugging and Sunshine for playing various gaming applications with GPU support

License

Notifications You must be signed in to change notification settings

QuaiGoner/docker-box

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gaming in Docker

All credits to https://github.com/Steam-Headless/docker-steam-headless This project was made for personal-use only, but all contributions are welcome via PRs.

The goal is to have single-docker image endpoint for retro and some-modern gaming through Moonlight (https://github.com/moonlight-stream) with (maybe) multi-client support.

Changes from original project (docker-steam-headless):


Installation:

  • [Building and starting a container]
git clone https://github.com/QuaiGoner/docker-box && cd docker-box && docker build -t docker-box .

#Change /home/default/ROMs/ mountpoint to your likings in compose file

docker compose up -d


TODO:

  • More refactoring and plug&play
    • Need Help: Closing applications from Moonlight with retaining session - starting is working, but not closing. Also when pausing session in moonligt - app gets killed (Simillar issue here: Steam-Headless#23)
    • Need Help: Resolve High CPU Usage (i guess because of a dummy xorg driver. Probably will be fixed with Wayland)
    • Supervise EmulationStation
    • Get rid of many sh init scripts (move to entrypoint or Dockerfile)
  • Add More Emulators
    • Wine/Lutris for Windows Games
    • Xenia
    • Preinstall more cores to RA
  • Github workflows
    • Build and publish latest image
    • Dockerfile testing
    • Shell testing

Long-distance TODO:

  • Rendering application window only (Wayland?)
  • Test HW Acceleration of Sunshine encoding - seems to be working, but vainfo doesnt give anything, needs proper testing on all GPU vendors
    • AMD
    • NVIDIA
    • Intel
  • Test 3D HW Acceleration in games
    • AMD
    • NVIDIA
    • Intel
  • Make image more lightweight with package trimming
  • Create virtual application windows dimensions based on the client (Resolution/HDR, now its hardcoded in xorg.conf and ENV) or in docker-compose
  • Different images for different GPUs?
  • Multi-tenant

About

A Headless Docker image with noVNC for debugging and Sunshine for playing various gaming applications with GPU support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 81.1%
  • Dockerfile 18.9%