Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nvidia driver missmatch with images #150

Closed
yodatak opened this issue Jul 26, 2023 · 6 comments
Closed

Nvidia driver missmatch with images #150

yodatak opened this issue Jul 26, 2023 · 6 comments

Comments

@yodatak
Copy link

yodatak commented Jul 26, 2023

Hi thanks for this awsome initiative i would love use it but i got this issue with kubernetes install
i got this error with nvidia runtime

Container: firefox
Disconnected
INFO: Detected UID 1000 from mounted volume
INFO: Detected GID 1000 from mounted volume
nvidia driver mismatch Host(535.54) <=> Container(470.103)
Automatic driver match will be attempted ...
Removing old packages libnvidia-common-470 libnvidia-gl-460:amd64 libnvidia-gl-470:amd64 ...
Installing package libnvidia-gl-535=535.54.03-0ubuntu0.20.04.4 ...
debconf: delaying package configuration, since apt-utils is not installed
Unable to init server: Could not connect: Connection refused
2023-07-27T00:46:02.216174415+02:00 Error: cannot open display: :99

Do you know how to fix that ?

Container: xorg
Disconnected
Allow /dev/uinput r/w to the group
2023-07-27T00:46:01.613373447+02:00 Adding user 'root' to groups: root,systemd-resolve
Wed, 26 Jul 2023 23:46:01 +0100: /startup.sh: Detected Nvidia drivers, installing them...
2023-07-27T00:46:04.100629714+02:00 Failed to locate a package with the same driver version (535.54)
Xorg may fail to start; try mounting drivers from your host as a volume.

@ABeltramo
Copy link
Member

I don't have a k8s setup myself and I'm afraid that the charts that are around are probably outdated or pointing to old versions of GOW.
Can you share more info on how are you running it and what's your setup?

@yodatak
Copy link
Author

yodatak commented Aug 19, 2023

Hello i use
https://artifacthub.io/packages/helm/angelnu/games-on-whales

the steam error

2023-08-19 19:02:22] Launching the container's startup script as user 'retro'
[2023-08-19 19:02:22] Starting Steam with DISPLAY=:99
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
[2023-08-19 19:02:22] Startup - updater built Nov 22 2021 22:06:59
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
src/steamexe/updateui_xwin.cpp (338) : Could not open connection to X
src/steamexe/updateui_xwin.cpp (338) : Could not open connection to X
src/steamexe/main.cpp (849) : failed to initialize update status ui, or create initial window
sh: 1: zenity: not found
src/steamexe/main.cpp (849) : failed to initialize update status ui, or create initial window
cat: '/home/retro/.steam/debian-installation/ubuntu12_32/steam-runtime.tar.xz.part*': No such file or directory
tar: This does not look like a tar archive
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now

firefox
2023-08-19T21:07:41.550514342+02:00 [2023-08-19 19:07:41] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
2023-08-19T21:07:41.557467468+02:00 [2023-08-19 19:07:41] **** Setting up Gamescope ****
2023-08-19T21:07:41.567118219+02:00 [2023-08-19 19:07:41] Launching the container's startup script as user 'retro'
2023-08-19T21:07:41.585152300+02:00 [2023-08-19 19:07:41] Starting Firefox
2023-08-19T21:07:41.616379026+02:00 Error: cannot open display: :99

sunshine
2023-08-19T21:06:41.351964793+02:00 [2023-08-19 19:06:41] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2023-08-19 19:06:41] **** Setting up Gamescope ****
2023-08-19T21:06:41.363165903+02:00 [2023-08-19 19:06:41] Launching the container's startup script as user 'retro'
[2023-08-19 19:06:41] Waiting for X Server :99 to be available

retroarch
2023-08-19T20:56:15.358231803+02:00 MESA-LOADER: failed to open simpledrm: /usr/lib/dri/simpledrm_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
2023-08-19T20:56:15.390978880+02:00 kmsro: driver missing

pulseaudio
1481+02:00 W: [pulseaudio] authkey.c: Failed to open cookie file '/root/.config/pulse/cookie': No such file or directory
2023-08-19T20:56:03.853513749+02:00 W: [pulseaudio] authkey.c: Failed to load authentication key '/root/.config/pulse/cookie': No such file or directory
2023-08-19T20:56:03.853523530+02:00 W: [pulseaudio] authkey.c: Failed to open cookie file '/root/.pulse-cookie': No such file or directory
2023-08-19T20:56:03.853539986+02:00 W: [pulseaudio] authkey.c: Failed to load authentication key '/root/.pulse-cookie': No such file or directory
2023-08-19T20:56:03.853835810+02:00 W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
2023-08-19T20:56:03.853839968+02:00 W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

by default variables are outaded ( the repository is archived since one year i think its bether to maintain our helm chart here in this repo)

exemple

sunshine:
  image:
    # -- sunshine image repository
    repository: ghcr.io/games-on-whales/sunshine
    # -- sunshine image tag
    tag: 1.0.0

with this variables:

---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: games-on-whales
  namespace: games
spec:
  chart:
    spec:
      chart: games-on-whales
      interval: 15m
      reconcileStrategy: ChartVersion
      sourceRef:
        kind: HelmRepository
        name: angelnu
        namespace: flux-system
      version: 2.0.0
  interval: 5m
  values:
    TZ: Europe/Paris


    ingress:
      main:
        enabled: true
        ingressClassName: traefik
        hosts:
          - host: XXXXX
            paths:
              - path: /
                pathType: Prefix
        tls:
          - hosts:
              - XXXXX




    persistence:
      home:
        enabled: true
        type: emptyDir
        mountPath: /home/retro
    



    #
    # IMPORTANT NOTE
    #
    # This chart inherits from our common library chart. You can check the default values/options here:
    # https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
    #


    # -- (object) Pass GPU resources to Xorg, steam and retroarch containers
    # See Custom configuration section in the Readme
    graphic_resources:

    sunshine:
      image:
        # -- sunshine image repository
        repository: ghcr.io/games-on-whales/sunshine
        # -- sunshine image tag
        tag: edge
        # -- sunshine image pull policy
        pullPolicy: Always
      # -- sunshine web interface user
      user: admin
      # -- sunshine web interface pasword
      password: admin
      # -- sunshine log level
      logLevel: info
      # -- sunshine additional env settings
      env: {}
    xorg:
      image:
        # -- xorg image repository
        repository: ghcr.io/games-on-whales/xorg
        # -- xorg image tag
        tag: edge
        # -- xorg image pull policy
        pullPolicy: Always
      # -- xorg display ID
      display: :99
      # -- xorg refresh rate
      refreshrate: 60
      # -- xorg resolution
      resolution: 1920x1080
    pulseaudio:
      image:
        # -- pulseaudio image repository
        repository: ghcr.io/games-on-whales/pulseaudio
        # -- pulseaudio image tag
        tag: edge
        # -- pulseaudio image pull policy
        pullPolicy: Always
    retroarch:
      # -- enable/disable retroarch container
      enabled: true
      image:
        # -- retroarch image repository
        repository: ghcr.io/games-on-whales/retroarch
        # -- retroarch image tag
        tag: edge
        # -- retroarch image pull policy
        pullPolicy: Always
      # -- retroarch log level
      logLevel: info
      # -- retroarch extra volume mounts
      volumeMounts: []
    steam:
      # -- enable/disable steam container
      enabled: true
      image:
        # -- steam image repository
        repository: ghcr.io/games-on-whales/steam
        # -- steam image tag
        tag: edge
        # -- steam image pull policy
        pullPolicy: Always
      # -- enable proton log
      protonLog: 1
      # -- steam extra volume mounts
      volumeMounts: []
    firefox:
      # -- enable/disable firefox container
      enabled: true
      image:
        # -- image repository
        repository: ghcr.io/games-on-whales/firefox
        # -- image tag
        tag: edge
        # -- image pull policy
        pullPolicy: Always
      # -- firefox log level
      logLevel: info
      # -- firefox extra volume mounts
      volumeMounts: []
    mkhomeretrodirs:
      image:
        # -- image repository
        repository: busybox
        # -- image tag
        tag: 1.34.0
        # -- image pull policy
        pullPolicy: IfNotPresent

    # -- Configure pulse audio settings
    # @default -- See values.yaml
    pulse:
      config:
        default.pa: |-
          .fail
              load-module module-null-sink sink_name=sunshine
              set-default-sink sunshine
              load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse/pulse-socket
        client.conf: |-
          default-sink = sink-sunshine-stereo
          autospawn = no
          daemon-binary = /bin/true
        daemon.conf: |-
          exit-idle-time = -1
          flat-volumes = yes

@ABeltramo
Copy link
Member

its bether to maintain our helm chart here in this repo

I agree, we should properly support it and bring it here.
I don't personally have much experience with k8s, PRs are very welcome if you would like to contribute!

Lately we are also working hard at Wolf which will spin up and down containers on demand and supports multiple isolated streaming sessions; it would be cool to see if that could work over k8s as well..

@yodatak
Copy link
Author

yodatak commented Aug 19, 2023

does the docker-compose exemple in the repo is complete ? it use wayland and pipewire ?

@ABeltramo
Copy link
Member

You are talking of Wolf?
We don't need pipewire since we include a little custom Wayland compositor inside so that we can directly grab the video buffer.
It's a single container that will start a PulseAudio container on startup and the game containers based on the remote Moonlight sessions.

@yousecjoe
Copy link

I don't personally have much experience with k8s, PRs are very welcome if you would like to contribute!

; it would be cool to see if that could work over k8s as well..

I'm also interested in the k8s support initiative. I have a k8s cluster, and my GoW/Wolf server is currently one of the nodes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants