Skip to content

Instantly share code, notes, and snippets.

@ellyq
Created December 7, 2025 23:31
Show Gist options
  • Select an option

  • Save ellyq/db86e914be584fab5f6c3547f4ddbf29 to your computer and use it in GitHub Desktop.

Select an option

Save ellyq/db86e914be584fab5f6c3547f4ddbf29 to your computer and use it in GitHub Desktop.
Steam + VR inside docker
FROM fedora:latest
# Docker env
ENV \
UID=1000 \
GID=1000 \
UMASK=077 \
USER="user" \
USER_PASSWORD="666" \
USER_HOME="/home/user" \
TZ="Europe/Berlin"
# Install packages
RUN echo "max_parallel_downloads=20" >> /etc/dnf/dnf.conf \
dnf update --refresh -y; \
dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm; \
dnf install -y util-linux vim steam gamescope lsb_release pciutils usbutils
# Additional packages for VR on Linux
RUN dnf install -y envision libappindicator inotify-tools procps-ng bc boost-devel boost-devel boost-devel boost-devel boost-devel boost-devel bzip2-devel bzip2-devel cmake eigen3-devel fmt-devel fmt-devel gcc-c++ gcc git git-lfs glew-devel glew-devel glslang-devel glslc gtest-devel jq libbsd-devel libdrm-devel libepoxy-devel mesa-libGL-devel systemd-devel libusb1 libusb1-devel libX11-devel libxcb-devel libXrandr-devel lz4-devel mesa-libGL-devel ninja-build opencv-devel openxr-devel SDL2-devel tbb-devel vulkan-devel vulkan-loader-devel wayland-devel wayland-protocols-devel bluez-libs-devel libxkbcommon-devel libuvc-devel openjpeg-devel gstreamer1-devel dbus-devel
# Add user
RUN useradd ${USER};usermod -aG wheel,video,input,${USER} ${USER}; \
echo "${USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
[Desktop Entry]
# Place this file in ~/.local/share/applications/
# Translators: Do NOT translate or transliterate this text
Name=Envision
Comment=GUI for Monado
Type=Application
Exec=/usr/bin/docker exec -i games /usr/sbin/envision
Terminal=false
Categories=GNOME;GTK;Game;
# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
Keywords=vr;virtual;reality;monado;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=org.gabmus.envision
StartupNotify=true
X-GNOME-UsesNotifications=true
docker run --rm --privileged=true --name games \
--volume '/dev:/dev' \
--volume '/run/udev:/run/udev:ro' \
--volume '/etc/udev:/etc/udev:ro' \
--volume '/mnt/Games:/mnt/Games' \
--volume './games/home:/home/user' \
--volume '/run/user/1000:/run/user/1000' \
--volume '/tmp/.X11-unix:/tmp/.X11-unix' \
--env EDITOR=vim \
--env DISPLAY=$DISPLAY \
--env XAUTHORITY=$XAUTHORITY \
--env WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
--env XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
--env XDG_SESSION_TYPE=$XDG_SESSION_TYPE \
--network=host -it --user user elly/games:latest
[Desktop Entry]
# Place this file in ~/.local/share/applications/
Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends;
Categories=Network;FileTransfer;Game;
Comment=Application for managing and playing games on Steam
Comment[bg]=Приложение за ръководене и пускане на игри в Steam
Comment[cs]=Aplikace pro spravování a hraní her ve službě Steam
Comment[da]=Applikation til at håndtere og spille spil på Steam
Comment[de]=Anwendung zum Verwalten und Spielen von Spielen auf Steam
Comment[el]=Εφαρμογή διαχείρισης παιχνιδιών στο Steam
Comment[es]=Aplicación para administrar y ejecutar juegos en Steam
Comment[fi]=Steamin pelien hallintaan ja pelaamiseen tarkoitettu sovellus
Comment[fr]=Application de gestion et d'utilisation des jeux sur Steam
Comment[hu]=Alkalmazás a Steames játékok futtatásához és kezeléséhez
Comment[it]=Applicazione per la gestione e l'esecuzione di giochi su Steam
Comment[ja]=Steam 上でゲームを管理&プレイするためのアプリケーション
Comment[ko]=Steam에 있는 게임을 관리하고 플레이할 수 있는 응용 프로그램
Comment[nl]=Applicatie voor het beheer en het spelen van games op Steam
Comment[no]=Program for å administrere og spille spill på Steam
Comment[pl]=Aplikacja do zarządzania i uruchamiania gier na platformie Steam
Comment[pt_BR]=Aplicativo para jogar e gerenciar jogos no Steam
Comment[pt_PT]=Aplicação para organizar e executar jogos no Steam
Comment[ro]=Aplicație pentru administrarea și jucatul jocurilor pe Steam
Comment[ru]=Приложение для игр и управления играми в Steam
Comment[sv]=Ett program för att hantera samt spela spel på Steam
Comment[th]=โปรแกรมสำหรับจัดการและเล่นเกมบน Steam
Comment[tr]=Steam üzerinden oyun oynama ve düzenleme uygulaması
Comment[uk]=Програма для керування іграми та запуску ігор у Steam
Comment[vi]=Ứng dụng để quản lý và chơi trò chơi trên Steam
Comment[zh_CN]=管理和进行 Steam 游戏的应用程序
Comment[zh_TW]=管理並執行 Steam 遊戲的應用程式
Exec=/usr/bin/docker exec -i games /bin/steam
Icon=com.valvesoftware.Steam
MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink;
Name=Steam
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=Steam
Terminal=false
TerminalOptions=
Type=Application
X-Desktop-File-Install-Version=0.28
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action BigPicture]
Exec=/usr/bin/docker exec -i games /bin/steam steam://open/bigpicture
Name=Big Picture
[Desktop Action Community]
Exec=/usr/bin/docker exec -i games /bin/steam steam://url/CommunityHome/
Name=Community
Name[bg]=Общност
Name[cs]=Komunita
Name[da]=Fællesskab
Name[de]=Community
Name[el]=Κοινότητα
Name[es]=Comunidad
Name[fi]=Yhteisö
Name[fr]=Communauté
Name[hu]=Közösség
Name[it]=Comunità
Name[ja]=コミュニティ
Name[ko]=커뮤니티
Name[nl]=Community
Name[no]=Samfunn
Name[pl]=Społeczność
Name[pt_BR]=Comunidade
Name[pt_PT]=Comunidade
Name[ro]=Comunitate
Name[ru]=Сообщество
Name[sv]=Gemenskap
Name[th]=ชุมชน
Name[tr]=Topluluk
Name[uk]=Спільнота
Name[vi]=Cộng đồng
Name[zh_CN]=社区
Name[zh_TW]=社群
[Desktop Action Friends]
Exec=/usr/bin/docker exec -i games /bin/steam steam://open/friends
Name=Friends
Name[bg]=Приятели
Name[cs]=Přátelé
Name[da]=Venner
Name[de]=Freunde
Name[el]=Φίλοι
Name[es]=Amigos
Name[fi]=Kaverit
Name[fr]=Amis
Name[hu]=Barátok
Name[it]=Amici
Name[ja]=フレンド
Name[ko]=친구
Name[nl]=Vrienden
Name[no]=Venner
Name[pl]=Znajomi
Name[pt_BR]=Amigos
Name[pt_PT]=Amigos
Name[ro]=Prieteni
Name[ru]=Друзья
Name[sv]=Vänner
Name[th]=เพื่อน
Name[tr]=Arkadaşlar
Name[uk]=Друзі
Name[vi]=Bạn bè
Name[zh_CN]=好友
Name[zh_TW]=好友
[Desktop Action Library]
Exec=/usr/bin/docker exec -i games /bin/steam steam://open/games
Name=Library
Name[bg]=Библиотека
Name[cs]=Knihovna
Name[da]=Bibliotek
Name[de]=Bibliothek
Name[el]=Συλλογή
Name[es]=Biblioteca
Name[fi]=Kokoelma
Name[fr]=Bibliothèque
Name[hu]=Könyvtár
Name[it]=Libreria
Name[ja]=ライブラリ
Name[ko]=라이브러리
Name[nl]=Bibliotheek
Name[no]=Bibliotek
Name[pl]=Biblioteka
Name[pt_BR]=Biblioteca
Name[pt_PT]=Biblioteca
Name[ro]=Colecţie
Name[ru]=Библиотека
Name[sv]=Bibliotek
Name[th]=คลัง
Name[tr]=Kütüphane
Name[uk]=Бібліотека
Name[vi]=Thư viện
Name[zh_CN]=库
Name[zh_TW]=收藏庫
[Desktop Action News]
Exec=/usr/bin/docker exec -i games /bin/steam steam://openurl/https://store.steampowered.com/news
Name=News
Name[bg]=Новини
Name[cs]=Zprávy
Name[da]=Nyheder
Name[de]=Neuigkeiten
Name[el]=Νέα
Name[es]=Noticias
Name[fi]=Uutiset
Name[fr]=Actualités
Name[hu]=Hírek
Name[it]=Notizie
Name[ja]=ニュース
Name[ko]=뉴스
Name[nl]=Nieuws
Name[no]=Nyheter
Name[pl]=Aktualności
Name[pt_BR]=Notícias
Name[pt_PT]=Novidades
Name[ro]=Știri
Name[ru]=Новости
Name[sv]=Nyheter
Name[th]=ข่าวสาร
Name[tr]=Haberler
Name[uk]=Новини
Name[vi]=Tin tức
Name[zh_CN]=新闻
Name[zh_TW]=新聞
[Desktop Action Screenshots]
Exec=/usr/bin/docker exec -i games /bin/steam steam://open/screenshots
Name=Screenshots
Name[bg]=Снимки
Name[cs]=Snímky obrazovky
Name[da]=Skærmbilleder
Name[de]=Screenshots
Name[el]=Φωτογραφίες
Name[es]=Capturas
Name[fi]=Kuvankaappaukset
Name[fr]=Captures d'écran
Name[hu]=Képernyőmentések
Name[it]=Screenshot
Name[ja]=スクリーンショット
Name[ko]=스크린샷
Name[nl]=Screenshots
Name[no]=Skjermbilder
Name[pl]=Zrzuty ekranu
Name[pt_BR]=Capturas de tela
Name[pt_PT]=Capturas de ecrã
Name[ro]=Capturi de ecran
Name[ru]=Скриншоты
Name[sv]=Skärmdumpar
Name[th]=ภาพหน้าจอ
Name[tr]=Ekran Görüntüleri
Name[uk]=Скріншоти
Name[vi]=Ảnh chụp
Name[zh_CN]=截图
Name[zh_TW]=螢幕擷圖
[Desktop Action Servers]
Exec=/usr/bin/docker exec -i games /bin/steam steam://open/servers
Name=Servers
Name[bg]=Сървъри
Name[cs]=Servery
Name[da]=Servere
Name[de]=Server
Name[el]=Διακομιστές
Name[es]=Servidores
Name[fi]=Palvelimet
Name[fr]=Serveurs
Name[hu]=Szerverek
Name[it]=Server
Name[ja]=サーバー
Name[ko]=서버
Name[nl]=Servers
Name[no]=Tjenere
Name[pl]=Serwery
Name[pt_BR]=Servidores
Name[pt_PT]=Servidores
Name[ro]=Servere
Name[ru]=Серверы
Name[sv]=Servrar
Name[th]=เซิร์ฟเวอร์
Name[tr]=Sunucular
Name[uk]=Сервери
Name[vi]=Máy chủ
Name[zh_CN]=服务器
Name[zh_TW]=伺服器
[Desktop Action Settings]
Exec=/usr/bin/docker exec -i games /bin/steam steam://open/settings
Name=Settings
Name[bg]=Настройки
Name[cs]=Nastavení
Name[da]=Indstillinger
Name[de]=Einstellungen
Name[el]=Ρυθμίσεις
Name[es]=Parámetros
Name[fi]=Asetukset
Name[fr]=Paramètres
Name[hu]=Beállítások
Name[it]=Impostazioni
Name[ja]=設定
Name[ko]=설정
Name[nl]=Instellingen
Name[no]=Innstillinger
Name[pl]=Ustawienia
Name[pt_BR]=Configurações
Name[pt_PT]=Definições
Name[ro]=Setări
Name[ru]=Настройки
Name[sv]=Inställningar
Name[th]=การตั้งค่า
Name[tr]=Ayarlar
Name[uk]=Налаштування
Name[vi]=Thiết lập
Name[zh_CN]=设置
Name[zh_TW]=設定
[Desktop Action Store]
Exec=/usr/bin/docker exec -i games /bin/steam steam://store
Name=Store
Name[bg]=Магазин
Name[cs]=Obchod
Name[da]=Butik
Name[de]=Shop
Name[el]=ΚΑΤΑΣΤΗΜΑ
Name[es]=Tienda
Name[fi]=Kauppa
Name[fr]=Magasin
Name[hu]=Áruház
Name[it]=Negozio
Name[ja]=ストア
Name[ko]=상점
Name[nl]=Winkel
Name[no]=Butikk
Name[pl]=Sklep
Name[pt_BR]=Loja
Name[pt_PT]=Loja
Name[ro]=Magazin
Name[ru]=Магазин
Name[sv]=Butik
Name[th]=ร้านค้า
Name[tr]=Mağaza
Name[uk]=Крамниця
Name[vi]=Cửa hàng
Name[zh_CN]=商店
Name[zh_TW]=商店
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment