Giter Club home page Giter Club logo

gow's Introduction

GOW - Games on Whales

Linux build and test Discord GitHub license Donate button

A collection of Docker images ready to be used by Wolf in order to run games and apps on a remote host!
Read more on our documentation

Screenshot of GOW running

gow's People

Contributors

abeltramo avatar angelnu avatar dafrenchyman avatar dependabot[bot] avatar diadatp avatar drakulix avatar josh5 avatar kayakyakr avatar matthew-graves avatar murazaki avatar quaigoner avatar reenignearcher avatar robjh avatar rty813 avatar sparticuz avatar vinibutturi avatar zb140 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gow's Issues

`http://<IP>:47990` doesn't load and `curl <IP>:47989/pin/####` gives `/pin denied`

I'm on unraid 6.11.5 and I have the nvidia plugin.

# lshw -class video | grep -i driver
       configuration: driver=nvidia latency=0
       configuration: driver=i915 latency=0
# nvidia-container-cli --load-kmods info
NVRM version:   525.89.02
CUDA version:   12.0

Device Index:   0
Device Minor:   0
Model:          NVIDIA GeForce GTX 970
Brand:          GeForce
GPU UUID:       GPU-0074c19f-28d7-b2ab-2f71-bda832e1c024
Bus Location:   00000000:01:00.0
Architecture:   5.2
# ls -la /dev/uinput
crw------- 1 root root 10, 223 Feb 25 10:33 /dev/uinput
# ls -la /dev/dri/
total 0
drwxrwxrwx  3 root root       140 Feb 25 10:33 ./
drwxr-xr-x 17 root root      3540 Mar 17 14:17 ../
drwxrwxrwx  2 root root       120 Feb 25 10:33 by-path/
crw-rw----  1 root video 226,   0 Mar  3 09:41 card0
crw-rw----  1 root video 226,   1 Mar  3 09:41 card1
crwxrwxrwx  1 root video 226, 128 Mar  3 09:41 renderD128
crwxrwxrwx  1 root video 226, 129 Mar  3 09:41 renderD129
# docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y
Deleted Containers:
1693c55384e076e1f7d8c431f6d98bfb8018f32b5557539a203d589887f3b857
19fe35047b6568c5f0a3cb0bf362f6a734a2b3def529076c1c9c2456c3c39413
7e1d286f60a4a9ae38fef4af5af5840cfe726b77797437f19f8f83b9d05b13cd
8713ee1604dcab7e0823885f7bc42ff57bd390b20305c690607d402834e9f1b3
a467893ea025556de84e779020c555c5d7cdbd1950f30c4434dc96f0aa39e55a
1e153db5a188ea70aeb5d6902488b3c754e86e6de904f30d6dfc5370b91eca87

Deleted Networks:
br0
gow_default

Total reclaimed space: 2.014MB
# rm -rf local_state/*
# rm -rf local_state/.*
# chown -R 1000:1000 local_state/
# ./run-gow --gpu nvidia --platform headless --app firefox up
Running docker compose...
[+] Running 6/6
 ⠿ Network gow_default       Created                                                                                                                                                                                                                                     0.1s
 ⠿ Container gow-firefox-1   Created                                                                                                                                                                                                                                     0.3s
 ⠿ Container gow-udevd-1     Created                                                                                                                                                                                                                                     0.2s
 ⠿ Container gow-xorg-1      Created                                                                                                                                                                                                                                     0.1s
 ⠿ Container gow-sunshine-1  Created                                                                                                                                                                                                                                     0.2s
 ⠿ Container gow-pulse-1     Created                                                                                                                                                                                                                                     0.2s
Attaching to gow-firefox-1, gow-pulse-1, gow-sunshine-1, gow-udevd-1, gow-xorg-1
gow-udevd-1     | [2023-03-17 21:54:51]
gow-udevd-1     | [2023-03-17 21:54:51] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
gow-udevd-1     | [2023-03-17 21:54:51] **** Configure default user ****
gow-udevd-1     | [2023-03-17 21:54:51] Container running as root. Nothing to do.
gow-udevd-1     | [2023-03-17 21:54:51] DONE
gow-udevd-1     | [2023-03-17 21:54:51]
gow-udevd-1     | [2023-03-17 21:54:51] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
gow-udevd-1     | [2023-03-17 21:54:51] **** Configure devices ****
gow-udevd-1     | [2023-03-17 21:54:51] Exec device groups
gow-udevd-1     | [2023-03-17 21:54:51] Adding user 'root' to groups: gow-gid-71,root
gow-udevd-1     | [2023-03-17 21:54:51] DONE
gow-udevd-1     | [2023-03-17 21:54:51] Launching the container's startup script as user 'root'
gow-udevd-1     | monitor will print the received events for:
gow-udevd-1     | UDEV - the event which udev sends out after rule processing
gow-udevd-1     | KERNEL - the kernel uevent
gow-udevd-1     |
gow-udevd-1     | UDEV  [1750962.623862] change   /devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-3 (drm)
gow-udevd-1     | UDEV  [1750962.623962] change   /devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1 (drm)
gow-udevd-1     | UDEV  [1750962.624050] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/scsi_host/host6 (scsi_host)
gow-udevd-1     | UDEV  [1750962.624131] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0 (scsi)
gow-udevd-1     | UDEV  [1750962.624211] change   /devices/pci0000:00/0000:00:1f.2/ata6/link6/ata_link/link6 (ata_link)
gow-udevd-1     | KERNEL[1750962.624345] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/block/sdf (block)
gow-udevd-1     | UDEV  [1750962.624432] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0 (scsi)
gow-udevd-1     | UDEV  [1750962.624514] change   /devices/pci0000:00/0000:00:1f.2/ata6/link6/dev6.0/ata_device/dev6.0 (ata_device)
gow-udevd-1     | UDEV  [1750962.624744] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/bsg/6:0:0:0 (bsg)
gow-udevd-1     | UDEV  [1750962.624883] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/scsi_device/6:0:0:0 (scsi_device)
gow-udevd-1     | UDEV  [1750962.624991] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/scsi_disk/6:0:0:0 (scsi_disk)
gow-udevd-1     | UDEV  [1750962.625190] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/scsi_generic/sg5 (scsi_generic)
gow-udevd-1     | UDEV  [1750962.625350] change   /devices/pci0000:00/0000:00:1f.3/i2c-0 (i2c)
gow-udevd-1     | UDEV  [1750962.625470] change   /devices/pci0000:00/0000:00:1f.3/i2c-0/0-0050 (i2c)
gow-udevd-1     | UDEV  [1750962.625725] change   /devices/pci0000:00/0000:00:1f.3/i2c-0/0-0051 (i2c)
gow-udevd-1     | UDEV  [1750962.625822] change   /devices/pci0000:00/0000:00:1f.3/i2c-0/0-0052 (i2c)
gow-udevd-1     | UDEV  [1750962.632651] change   /devices/pci0000:00/0000:00:1f.3/i2c-0/0-0053 (i2c)
gow-udevd-1     | UDEV  [1750962.633184] change   /devices/pci0000:00/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00 (wmi_bus)
gow-udevd-1     | KERNEL[1750962.633353] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/block/sde (block)
gow-udevd-1     | UDEV  [1750962.634359] change   /devices/pci0000:00/0000:00:1c.3/0000:03:00.0 (pci)
gow-udevd-1     | UDEV  [1750962.634524] change   /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0 (usb)
gow-udevd-1     | UDEV  [1750962.634613] change   /devices/pci0000:00/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/F6CB5C3C-9CAE-4EBD-B577-931EA32A2CC0 (wmi)
gow-udevd-1     | UDEV  [1750962.634702] change   /devices/pci0000:00/0000:00:1f.2/ata4/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0 (bsg)
gow-udevd-1     | UDEV  [1750962.634784] change   /devices/pci0000:00/0000:00:1f.2/ata4/link4/dev4.0/ata_device/dev4.0 (ata_device)
gow-udevd-1     | UDEV  [1750962.634865] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5 (scsi)
gow-udevd-1     | UDEV  [1750962.635315] change   /devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie010 (pci_express)
gow-udevd-1     | UDEV  [1750962.635628] change   /devices/platform/PNP0C0B:00 (platform)
gow-udevd-1     | UDEV  [1750962.636104] change   /devices/platform/PNP0C0B:01 (platform)
gow-udevd-1     | UDEV  [1750962.636596] change   /devices/platform/PNP0C0B:02 (platform)
gow-udevd-1     | UDEV  [1750962.637008] change   /devices/platform/PNP0C0B:03 (platform)
gow-udevd-1     | UDEV  [1750962.637730] change   /devices/pci0000:00/0000:00:1f.2/ata4/host4/target4:0:0/4:0:0:0/block/sdd (block)
gow-udevd-1     | UDEV  [1750962.639781] change   /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13:1.0/host0/target0:0:0/0:0:0:0/block/sda (block)
gow-udevd-1     | UDEV  [1750962.640469] change   /devices/pci0000:00/0000:00:1f.2/ata2/host2/target2:0:0/2:0:0:0/bsg/2:0:0:0 (bsg)
gow-udevd-1     | UDEV  [1750962.643856] change   /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/pci_bus/0000:04 (pci_bus)
gow-udevd-1     | UDEV  [1750962.645959] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0 (scsi)
gow-udevd-1     | UDEV  [1750962.646014] change   /devices/pci0000:00/0000:00:1f.2/ata3/host3/target3:0:0/3:0:0:0/bsg/3:0:0:0 (bsg)
gow-udevd-1     | UDEV  [1750962.646032] change   /devices/pci0000:00/0000:00:1f.2/ata3/host3/target3:0:0/3:0:0:0/scsi_disk/3:0:0:0 (scsi_disk)
gow-udevd-1     | UDEV  [1750962.646048] change   /devices/platform/Fixed MDIO bus.0 (platform)
gow-udevd-1     | UDEV  [1750962.646067] change   /devices/pci0000:00/0000:00:1f.2/ata3/host3/target3:0:0/3:0:0:0/scsi_device/3:0:0:0 (scsi_device)
gow-udevd-1     | UDEV  [1750962.646162] change   /devices/platform/ACPI000C:00 (platform)
gow-udevd-1     | UDEV  [1750962.646554] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/scsi_host/host5 (scsi_host)
gow-udevd-1     | UDEV  [1750962.646577] change   /devices/platform/PNP0A0A:00 (platform)
gow-udevd-1     | UDEV  [1750962.646592] change   /devices/platform/PNP0C0C:00 (platform)
gow-udevd-1     | UDEV  [1750962.646733] change   /devices/pnp0/00:00 (pnp)
gow-udevd-1     | UDEV  [1750962.648935] change   /devices/platform/pcspkr (platform)
gow-udevd-1     | UDEV  [1750962.648981] change   /devices/pnp0/00:01 (pnp)
gow-udevd-1     | UDEV  [1750962.648998] change   /devices/pnp0/00:03 (pnp)
gow-udevd-1     | UDEV  [1750962.649080] change   /devices/pnp0/00:02 (pnp)
gow-udevd-1     | UDEV  [1750962.649101] change   /devices/pnp0/00:04 (pnp)
gow-udevd-1     | UDEV  [1750962.649181] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0 (scsi)
gow-udevd-1     | UDEV  [1750962.649385] change   /devices/platform/Fixed MDIO bus.0/mdio_bus/fixed-0 (mdio_bus)
gow-udevd-1     | UDEV  [1750962.651187] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/scsi_device/5:0:0:0 (scsi_device)
gow-udevd-1     | UDEV  [1750962.651230] change   /devices/platform/PNP0C0B:04 (platform)
gow-udevd-1     | UDEV  [1750962.651250] change   /devices/platform/PNP0C14:01 (platform)
gow-udevd-1     | UDEV  [1750962.651266] change   /devices/pnp0/00:02/cmos_nvram0 (nvmem)
gow-udevd-1     | UDEV  [1750962.651283] change   /devices/platform/coretemp.0 (platform)
gow-udevd-1     | UDEV  [1750962.651308] change   /devices/platform/microcode (platform)
gow-udevd-1     | UDEV  [1750962.651386] change   /devices/platform/serial8250 (platform)
gow-udevd-1     | UDEV  [1750962.651492] change   /devices/pnp0/00:02/rtc/rtc0 (rtc)
gow-udevd-1     | UDEV  [1750962.651582] change   /devices/pnp0/00:02/wakeup/wakeup27 (wakeup)
gow-udevd-1     | UDEV  [1750962.651860] change   /devices/pnp0/00:06 (pnp)
gow-udevd-1     | UDEV  [1750962.652366] change   /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01 (wmi_bus)
gow-udevd-1     | UDEV  [1750962.652527] change   /devices/pnp0/00:07 (pnp)
gow-udevd-1     | UDEV  [1750962.653206] change   /devices/pnp0/00:02/rtc/rtc0/alarmtimer.0.auto (platform)
gow-udevd-1     | UDEV  [1750962.653558] change   /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/466747A0-70EC-11DE-8A39-0800200C9A66 (wmi)
gow-udevd-1     | UDEV  [1750962.654340] change   /devices/platform/coretemp.0/hwmon/hwmon1 (hwmon)
gow-udevd-1     | UDEV  [1750962.659309] change   /devices/pnp0/00:02/rtc/rtc0/alarmtimer.0.auto/wakeup/wakeup28 (wakeup)
gow-udevd-1     | UDEV  [1750962.659502] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/bsg/5:0:0:0 (bsg)
gow-udevd-1     | UDEV  [1750962.659628] change   /devices/power (event_source)
gow-udevd-1     | UDEV  [1750962.661739] change   /devices/pnp0/00:05 (pnp)
gow-udevd-1     | UDEV  [1750962.661873] change   /devices/software (event_source)
gow-udevd-1     | UDEV  [1750962.662015] change   /devices/system/clockevents/broadcast (clockevents)
gow-udevd-1     | UDEV  [1750962.662118] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/scsi_generic/sg4 (scsi_generic)
gow-udevd-1     | UDEV  [1750962.662483] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/scsi_disk/5:0:0:0 (scsi_disk)
gow-udevd-1     | UDEV  [1750962.662807] change   /devices/system/clockevents/clockevent2 (clockevents)
gow-udevd-1     | UDEV  [1750962.663107] change   /devices/pnp0/00:06/tty/ttyS0 (tty)
gow-udevd-1     | UDEV  [1750962.663634] change   /devices/system/cpu/cpu0 (cpu)
gow-udevd-1     | UDEV  [1750962.663758] change   /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/ABBC0F72-8EA1-11D1-00A0-C90629100000 (wmi)
gow-udevd-1     | UDEV  [1750962.663865] change   /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/05901221-D566-11D1-B2F0-00A0C9062910 (wmi)
gow-udevd-1     | UDEV  [1750962.663970] change   /devices/system/clocksource/clocksource0 (clocksource)
gow-udevd-1     | UDEV  [1750962.664081] change   /devices/system/clockevents/clockevent1 (clockevents)
gow-udevd-1     | UDEV  [1750962.664163] change   /devices/system/clockevents/clockevent3 (clockevents)
gow-udevd-1     | UDEV  [1750962.664276] change   /devices/system/machinecheck/machinecheck1 (machinecheck)
gow-udevd-1     | UDEV  [1750962.664383] change   /devices/system/cpu/cpu3 (cpu)
gow-udevd-1     | UDEV  [1750962.664465] change   /devices/system/machinecheck/machinecheck3 (machinecheck)
gow-udevd-1     | UDEV  [1750962.664561] change   /devices/system/machinecheck/machinecheck2 (machinecheck)
gow-udevd-1     | UDEV  [1750962.664641] change   /devices/system/memory/memory10 (memory)
gow-udevd-1     | UDEV  [1750962.664740] change   /devices/system/memory/memory1 (memory)
gow-udevd-1     | UDEV  [1750962.664816] change   /devices/system/memory/memory0 (memory)
gow-udevd-1     | UDEV  [1750962.665016] change   /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/97845ED0-4E6D-11DE-8A39-0800200C9A66 (wmi)
gow-udevd-1     | UDEV  [1750962.665096] change   /devices/system/memory/memory102 (memory)
gow-udevd-1     | UDEV  [1750962.665192] change   /devices/system/memory/memory100 (memory)
gow-udevd-1     | UDEV  [1750962.665283] change   /devices/system/cpu/cpu2 (cpu)
gow-udevd-1     | UDEV  [1750962.665372] change   /devices/system/memory/memory101 (memory)
gow-udevd-1     | UDEV  [1750962.665552] change   /devices/system/machinecheck/machinecheck0 (machinecheck)
gow-udevd-1     | UDEV  [1750962.665630] change   /devices/system/memory/memory104 (memory)
gow-udevd-1     | UDEV  [1750962.665707] change   /devices/system/memory/memory108 (memory)
gow-udevd-1     | UDEV  [1750962.665940] change   /devices/system/memory/memory106 (memory)
gow-udevd-1     | UDEV  [1750962.666110] change   /devices/system/cpu/cpu1 (cpu)
gow-udevd-1     | UDEV  [1750962.666196] change   /devices/system/memory/memory107 (memory)
gow-udevd-1     | UDEV  [1750962.666278] change   /devices/system/clockevents/clockevent0 (clockevents)
gow-udevd-1     | UDEV  [1750962.666357] change   /devices/system/memory/memory110 (memory)
gow-udevd-1     | UDEV  [1750962.667700] change   /devices/system/memory/memory109 (memory)
gow-udevd-1     | UDEV  [1750962.668123] change   /devices/system/memory/memory11 (memory)
gow-udevd-1     | UDEV  [1750962.668823] change   /devices/system/memory/memory103 (memory)
gow-udevd-1     | UDEV  [1750962.668928] change   /devices/system/memory/memory111 (memory)
gow-udevd-1     | UDEV  [1750962.669046] change   /devices/system/memory/memory112 (memory)
... i deleted some stuff that all looked teh same to get to the 65536 character limit...
gow-udevd-1     | UDEV  [1750962.703297] change   /devices/virtual/vtconsole/vtcon1 (vtconsole)
gow-udevd-1     | UDEV  [1750962.703316] change   /devices/virtual/workqueue/blkcg_punt_bio (workqueue)
gow-udevd-1     | UDEV  [1750962.703333] change   /devices/virtual/workqueue/scsi_tmf_0 (workqueue)
gow-udevd-1     | UDEV  [1750962.703371] change   /devices/virtual/workqueue/scsi_tmf_1 (workqueue)
gow-udevd-1     | UDEV  [1750962.703390] change   /devices/virtual/workqueue/scsi_tmf_2 (workqueue)
gow-udevd-1     | UDEV  [1750962.703435] change   /devices/virtual/workqueue/scsi_tmf_3 (workqueue)
gow-udevd-1     | UDEV  [1750962.703450] change   /devices/virtual/workqueue/scsi_tmf_4 (workqueue)
gow-udevd-1     | UDEV  [1750962.703489] change   /devices/virtual/workqueue/scsi_tmf_5 (workqueue)
gow-udevd-1     | UDEV  [1750962.703525] change   /devices/virtual/workqueue/scsi_tmf_6 (workqueue)
gow-udevd-1     | UDEV  [1750962.703543] change   /devices/virtual/workqueue/writeback (workqueue)
gow-udevd-1     | UDEV  [1750962.703573] change   /devices/virtual/block/dm-0 (block)
gow-udevd-1     | UDEV  [1750962.703652] change   /devices/virtual/block/dm-1 (block)
gow-udevd-1     | UDEV  [1750962.703681] change   /devices/virtual/block/md1 (block)
gow-udevd-1     | UDEV  [1750962.703702] change   /devices/virtual/block/md2 (block)
gow-udevd-1     | UDEV  [1750962.703777] change   /devices/virtual/block/dm-2 (block)
gow-udevd-1     | UDEV  [1750962.703853] change   /devices/pci0000:00/0000:00:1f.2/ata2/host2/target2:0:0/2:0:0:0/block/sdb (block)
gow-udevd-1     | KERNEL[1750962.724263] change   /devices/pci0000:00/0000:00:1f.2/ata2/host2/target2:0:0/2:0:0:0/block/sdb (block)
gow-udevd-1     | KERNEL[1750962.724437] change   /devices/pci0000:00/0000:00:1f.2/ata3/host3/target3:0:0/3:0:0:0/block/sdc (block)
gow-udevd-1     | KERNEL[1750962.724535] change   /devices/pci0000:00/0000:00:1f.2/ata4/host4/target4:0:0/4:0:0:0/block/sdd (block)
gow-udevd-1     | KERNEL[1750962.725384] change   /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13:1.0/host0/target0:0:0/0:0:0:0/block/sda (block)
gow-udevd-1     | KERNEL[1750962.732440] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/block/sde (block)
gow-udevd-1     | KERNEL[1750962.739583] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/block/sdf (block)
gow-udevd-1     | UDEV  [1750962.858370] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/block/sdf (block)
gow-udevd-1     | KERNEL[1750962.861130] remove   /devices/virtual/net/veth412bedc (net)
gow-udevd-1     | UDEV  [1750962.861318] remove   /devices/virtual/net/veth412bedc (net)
gow-xorg-1      | [2023-03-17 21:54:52]
gow-xorg-1      | [2023-03-17 21:54:52] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
gow-xorg-1      | [2023-03-17 21:54:52] **** Configure default user ****
gow-xorg-1      | [2023-03-17 21:54:52] Container running as root. Nothing to do.
gow-xorg-1      | [2023-03-17 21:54:52] DONE
gow-xorg-1      | [2023-03-17 21:54:52]
gow-xorg-1      | [2023-03-17 21:54:52] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
gow-xorg-1      | [2023-03-17 21:54:52] **** Configure devices ****
gow-xorg-1      | [2023-03-17 21:54:52] Exec device groups
gow-udevd-1     | KERNEL[1750963.289412] add      /devices/virtual/net/veth793b343 (net)
gow-udevd-1     | KERNEL[1750963.289466] add      /devices/virtual/net/veth793b343/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750963.289482] add      /devices/virtual/net/veth793b343/queues/rx-1 (queues)
gow-udevd-1     | KERNEL[1750963.289494] add      /devices/virtual/net/veth793b343/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.289506] add      /devices/virtual/net/veth793b343/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.289692] add      /devices/virtual/net/veth793b343/queues/tx-0 (queues)
gow-udevd-1     | KERNEL[1750963.289712] add      /devices/virtual/net/veth793b343/queues/tx-1 (queues)
gow-udevd-1     | KERNEL[1750963.289724] add      /devices/virtual/net/veth793b343/queues/tx-2 (queues)
gow-udevd-1     | KERNEL[1750963.289734] add      /devices/virtual/net/veth793b343/queues/tx-3 (queues)
gow-udevd-1     | KERNEL[1750963.289748] add      /devices/virtual/net/vethceaf0d3 (net)
gow-udevd-1     | KERNEL[1750963.289768] add      /devices/virtual/net/vethceaf0d3/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750963.289785] add      /devices/virtual/net/vethceaf0d3/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.289802] add      /devices/virtual/net/veth793b343 (net)
gow-udevd-1     | KERNEL[1750963.289991] add      /devices/virtual/net/vethceaf0d3/queues/rx-2 (queues)
gow-udevd-1     | UDEV  [1750963.290105] add      /devices/virtual/net/vethceaf0d3 (net)
gow-udevd-1     | KERNEL[1750963.290126] add      /devices/virtual/net/vethceaf0d3/queues/rx-3 (queues)
gow-udevd-1     | UDEV  [1750963.290679] add      /devices/virtual/net/veth793b343/queues/tx-2 (queues)
gow-udevd-1     | KERNEL[1750963.290691] add      /devices/virtual/net/vethceaf0d3/queues/tx-0 (queues)
gow-udevd-1     | UDEV  [1750963.290803] add      /devices/virtual/net/veth793b343/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.290882] add      /devices/virtual/net/vethceaf0d3/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.290952] add      /devices/virtual/net/veth793b343/queues/tx-0 (queues)
gow-udevd-1     | KERNEL[1750963.291027] add      /devices/virtual/net/vethceaf0d3/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.291097] add      /devices/virtual/net/vethceaf0d3/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.291163] add      /devices/virtual/net/vethceaf0d3/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.291230] add      /devices/virtual/net/veth793b343/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.291292] remove   /devices/virtual/net/vethceaf0d3/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.291362] add      /devices/virtual/net/vethceaf0d3/queues/rx-1 (queues)
gow-udevd-1     | KERNEL[1750963.291425] remove   /devices/virtual/net/vethceaf0d3/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.291492] add      /devices/virtual/net/vethceaf0d3/queues/tx-0 (queues)
gow-udevd-1     | KERNEL[1750963.291557] remove   /devices/virtual/net/vethceaf0d3/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.291567] add      /devices/virtual/net/vethceaf0d3/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.291626] remove   /devices/virtual/net/vethceaf0d3/queues/rx-3 (queues)
gow-udevd-1     | UDEV  [1750963.291695] add      /devices/virtual/net/vethceaf0d3/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750963.291759] remove   /devices/virtual/net/vethceaf0d3/queues/rx-2 (queues)
gow-udevd-1     | UDEV  [1750963.291824] remove   /devices/virtual/net/vethceaf0d3/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.291898] remove   /devices/virtual/net/vethceaf0d3/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.291964] add      /devices/virtual/net/vethceaf0d3/queues/tx-1 (queues)
gow-udevd-1     | KERNEL[1750963.292493] remove   /devices/virtual/net/veth793b343/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.292504] add      /devices/virtual/net/vethceaf0d3/queues/tx-3 (queues)
gow-udevd-1     | KERNEL[1750963.292510] remove   /devices/virtual/net/veth793b343/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.292531] add      /devices/virtual/net/veth793b343/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750963.292537] remove   /devices/virtual/net/veth793b343/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.292544] remove   /devices/virtual/net/vethceaf0d3/queues/tx-1 (queues)
gow-udevd-1     | KERNEL[1750963.292564] remove   /devices/virtual/net/veth793b343/queues/rx-3 (queues)
gow-udevd-1     | UDEV  [1750963.292584] add      /devices/virtual/net/vethceaf0d3/queues/tx-2 (queues)
gow-udevd-1     | KERNEL[1750963.292597] remove   /devices/virtual/net/veth793b343/queues/rx-2 (queues)
gow-udevd-1     | UDEV  [1750963.292611] remove   /devices/virtual/net/vethceaf0d3/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.292622] remove   /devices/virtual/net/veth793b343/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.292647] remove   /devices/virtual/net/vethceaf0d3/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.292664] remove   /devices/virtual/net/veth793b343/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.292677] remove   /devices/virtual/net/vethceaf0d3/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.292691] add      /devices/virtual/net/veth793b343/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.292713] add      /devices/virtual/net/veth793b343/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.292732] remove   /devices/virtual/net/veth793b343/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.292747] add      /devices/virtual/net/veth793b343/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.292762] remove   /devices/virtual/net/veth793b343/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.292775] remove   /devices/virtual/net/veth793b343/queues/rx-3 (queues)
gow-udevd-1     | UDEV  [1750963.292798] remove   /devices/virtual/net/veth793b343/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.292811] remove   /devices/virtual/net/veth793b343/queues/rx-2 (queues)
gow-udevd-1     | UDEV  [1750963.292829] remove   /devices/virtual/net/vethceaf0d3/queues/rx-1 (queues)
gow-xorg-1      | [2023-03-17 21:54:52] Adding user 'root' to groups: gow-gid-71,root
gow-udevd-1     | KERNEL[1750963.466212] add      /devices/virtual/net/vetha671c05 (net)
gow-udevd-1     | KERNEL[1750963.466239] add      /devices/virtual/net/vetha671c05/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750963.466246] add      /devices/virtual/net/vetha671c05/queues/rx-1 (queues)
gow-udevd-1     | KERNEL[1750963.466251] add      /devices/virtual/net/vetha671c05/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.466256] add      /devices/virtual/net/vetha671c05/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.466261] add      /devices/virtual/net/vetha671c05/queues/tx-0 (queues)
gow-udevd-1     | KERNEL[1750963.466266] add      /devices/virtual/net/vetha671c05/queues/tx-1 (queues)
gow-udevd-1     | KERNEL[1750963.466272] add      /devices/virtual/net/vetha671c05/queues/tx-2 (queues)
gow-udevd-1     | KERNEL[1750963.466277] add      /devices/virtual/net/vetha671c05/queues/tx-3 (queues)
gow-udevd-1     | KERNEL[1750963.466654] add      /devices/virtual/net/veth635e6f0 (net)
gow-udevd-1     | KERNEL[1750963.466674] add      /devices/virtual/net/veth635e6f0/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750963.466680] add      /devices/virtual/net/veth635e6f0/queues/rx-1 (queues)
gow-udevd-1     | KERNEL[1750963.466686] add      /devices/virtual/net/veth635e6f0/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.466692] add      /devices/virtual/net/veth635e6f0/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.466697] add      /devices/virtual/net/veth635e6f0/queues/tx-0 (queues)
gow-udevd-1     | KERNEL[1750963.466703] add      /devices/virtual/net/veth635e6f0/queues/tx-1 (queues)
gow-udevd-1     | KERNEL[1750963.466709] add      /devices/virtual/net/veth635e6f0/queues/tx-2 (queues)
gow-udevd-1     | KERNEL[1750963.466714] add      /devices/virtual/net/veth635e6f0/queues/tx-3 (queues)
gow-udevd-1     | KERNEL[1750963.466719] remove   /devices/virtual/net/veth635e6f0/queues/tx-3 (queues)
gow-udevd-1     | KERNEL[1750963.466726] remove   /devices/virtual/net/veth635e6f0/queues/tx-2 (queues)
gow-udevd-1     | KERNEL[1750963.466731] remove   /devices/virtual/net/veth635e6f0/queues/tx-1 (queues)
gow-udevd-1     | KERNEL[1750963.466778] remove   /devices/virtual/net/veth635e6f0/queues/rx-3 (queues)
gow-udevd-1     | UDEV  [1750963.466828] add      /devices/virtual/net/veth635e6f0 (net)
gow-udevd-1     | UDEV  [1750963.466872] add      /devices/virtual/net/vetha671c05 (net)
gow-udevd-1     | UDEV  [1750963.467574] add      /devices/virtual/net/veth635e6f0/queues/rx-0 (queues)
gow-udevd-1     | UDEV  [1750963.467687] add      /devices/virtual/net/veth635e6f0/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.467865] remove   /devices/virtual/net/veth635e6f0/queues/rx-2 (queues)
gow-udevd-1     | UDEV  [1750963.467972] add      /devices/virtual/net/veth635e6f0/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.468092] remove   /devices/virtual/net/veth635e6f0/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.468201] add      /devices/virtual/net/vetha671c05/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.468343] add      /devices/virtual/net/veth635e6f0/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.468478] add      /devices/virtual/net/vetha671c05/queues/tx-0 (queues)
gow-udevd-1     | UDEV  [1750963.468553] add      /devices/virtual/net/veth635e6f0/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.468562] add      /devices/virtual/net/veth635e6f0/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.468693] remove   /devices/virtual/net/veth635e6f0/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.468701] add      /devices/virtual/net/vetha671c05/queues/rx-2 (queues)
gow-udevd-1     | UDEV  [1750963.468779] remove   /devices/virtual/net/veth635e6f0/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.468841] add      /devices/virtual/net/vetha671c05/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.468881] add      /devices/virtual/net/vetha671c05/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750963.468929] remove   /devices/virtual/net/vetha671c05/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.468938] remove   /devices/virtual/net/veth635e6f0/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.468993] remove   /devices/virtual/net/vetha671c05/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.469064] add      /devices/virtual/net/vetha671c05/queues/rx-3 (queues)
gow-udevd-1     | KERNEL[1750963.469622] remove   /devices/virtual/net/vetha671c05/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.469633] remove   /devices/virtual/net/veth635e6f0/queues/rx-2 (queues)
gow-udevd-1     | KERNEL[1750963.469638] remove   /devices/virtual/net/vetha671c05/queues/rx-3 (queues)
gow-udevd-1     | UDEV  [1750963.469647] add      /devices/virtual/net/veth635e6f0/queues/tx-2 (queues)
gow-udevd-1     | KERNEL[1750963.469652] remove   /devices/virtual/net/vetha671c05/queues/rx-2 (queues)
gow-udevd-1     | UDEV  [1750963.469659] add      /devices/virtual/net/vetha671c05/queues/tx-1 (queues)
gow-udevd-1     | KERNEL[1750963.469664] remove   /devices/virtual/net/vetha671c05/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.469672] add      /devices/virtual/net/veth635e6f0/queues/tx-0 (queues)
gow-udevd-1     | UDEV  [1750963.469681] remove   /devices/virtual/net/veth635e6f0/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.469688] remove   /devices/virtual/net/veth635e6f0/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.469695] add      /devices/virtual/net/vetha671c05/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.469701] remove   /devices/virtual/net/vetha671c05/queues/tx-2 (queues)
gow-udevd-1     | UDEV  [1750963.469708] remove   /devices/virtual/net/vetha671c05/queues/rx-3 (queues)
gow-udevd-1     | UDEV  [1750963.469714] remove   /devices/virtual/net/vetha671c05/queues/tx-1 (queues)
gow-udevd-1     | UDEV  [1750963.469721] remove   /devices/virtual/net/vetha671c05/queues/tx-3 (queues)
gow-udevd-1     | UDEV  [1750963.469728] remove   /devices/virtual/net/vetha671c05/queues/rx-1 (queues)
gow-udevd-1     | UDEV  [1750963.469734] remove   /devices/virtual/net/vetha671c05/queues/rx-2 (queues)
gow-xorg-1      | [2023-03-17 21:54:52] DONE
gow-xorg-1      | [2023-03-17 21:54:52] Launching the container's startup script as user 'root'
gow-xorg-1      | [2023-03-17 21:54:52] Detected Nvidia drivers, installing them...
gow-xorg-1      | Found an existing nvidia_drv.so
gow-xorg-1      | Starting Xorg (:99, log level 3)
gow-xorg-1      | error: could not open display
gow-xorg-1      |
gow-xorg-1      | X.Org X Server 1.21.1.3
gow-xorg-1      | X Protocol Version 11, Revision 0
gow-xorg-1      | Current Operating System: Linux Delta 5.19.17-Unraid #2 SMP PREEMPT_DYNAMIC Wed Nov 2 11:54:15 PDT 2022 x86_64
gow-xorg-1      | Kernel command line: BOOT_IMAGE=/bzimage initrd=/bzroot
gow-xorg-1      | xorg-server 2:21.1.3-2ubuntu2.7 (For technical support please see http://www.ubuntu.com/support)
gow-xorg-1      | Current version of pixman: 0.40.0
gow-xorg-1      |       Before reporting problems, check http://wiki.x.org
gow-xorg-1      |       to make sure that you have the latest version.
gow-xorg-1      | Markers: (--) probed, (**) from config file, (==) default setting,
gow-xorg-1      |       (++) from command line, (!!) notice, (II) informational,
gow-xorg-1      |       (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
gow-xorg-1      | (==) Log file: "/var/log/Xorg.99.log", Time: Fri Mar 17 21:54:52 2023
gow-xorg-1      | (==) Using system config directory "/usr/share/X11/xorg.conf.d"
gow-udevd-1     | UDEV  [1750963.661586] change   /devices/pci0000:00/0000:00:1f.2/ata4/host4/target4:0:0/4:0:0:0/block/sdd/sdd1 (block)
gow-udevd-1     | UDEV  [1750963.666464] change   /devices/pci0000:00/0000:00:1f.2/ata4/host4/target4:0:0/4:0:0:0/block/sdd (block)
gow-udevd-1     | UDEV  [1750963.671201] change   /devices/pci0000:00/0000:00:1f.2/ata4/host4/target4:0:0/4:0:0:0/block/sdd (block)
gow-udevd-1     | UDEV  [1750963.683463] change   /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1 (block)
gow-udevd-1     | UDEV  [1750963.684517] change   /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13:1.0/host0/target0:0:0/0:0:0:0/block/sda (block)
gow-udevd-1     | UDEV  [1750963.685349] change   /devices/pci0000:00/0000:00:14.0/usb3/3-13/3-13:1.0/host0/target0:0:0/0:0:0:0/block/sda (block)
gow-udevd-1     | UDEV  [1750963.695956] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/block/sde/sde1 (block)
gow-udevd-1     | UDEV  [1750963.699306] change   /devices/pci0000:00/0000:00:1f.2/ata3/host3/target3:0:0/3:0:0:0/block/sdc/sdc1 (block)
gow-udevd-1     | UDEV  [1750963.700654] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/block/sde (block)
gow-udevd-1     | UDEV  [1750963.704140] change   /devices/pci0000:00/0000:00:1f.2/ata3/host3/target3:0:0/3:0:0:0/block/sdc (block)
gow-udevd-1     | UDEV  [1750963.707994] change   /devices/pci0000:00/0000:00:1f.2/ata5/host5/target5:0:0/5:0:0:0/block/sde (block)
gow-udevd-1     | UDEV  [1750963.709055] change   /devices/pci0000:00/0000:00:1f.2/ata3/host3/target3:0:0/3:0:0:0/block/sdc (block)
gow-udevd-1     | UDEV  [1750963.774176] change   /devices/pci0000:00/0000:00:1f.2/ata2/host2/target2:0:0/2:0:0:0/block/sdb/sdb1 (block)
gow-udevd-1     | UDEV  [1750963.778963] change   /devices/pci0000:00/0000:00:1f.2/ata2/host2/target2:0:0/2:0:0:0/block/sdb (block)
gow-udevd-1     | UDEV  [1750963.783928] change   /devices/pci0000:00/0000:00:1f.2/ata2/host2/target2:0:0/2:0:0:0/block/sdb (block)
gow-firefox-1   | [2023-03-17 21:54:52]
gow-firefox-1   | [2023-03-17 21:54:52] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
gow-firefox-1   | [2023-03-17 21:54:52] **** Configure default user ****
gow-firefox-1   | [2023-03-17 21:54:52] Setting default user uid=1000(retro) gid=1000(retro)
gow-firefox-1   | usermod: no changes
gow-udevd-1     | UDEV  [1750963.901361] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/block/sdf/sdf1 (block)
gow-udevd-1     | UDEV  [1750963.902203] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/block/sdf/sdf2 (block)
gow-udevd-1     | UDEV  [1750963.912769] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/block/sdf (block)
gow-udevd-1     | UDEV  [1750963.923153] change   /devices/pci0000:00/0000:00:1f.2/ata6/host6/target6:0:0/6:0:0:0/block/sdf (block)
gow-firefox-1   | [2023-03-17 21:54:52] Setting umask to 000
gow-firefox-1   | [2023-03-17 21:54:52] Ensure retro home directory is writable
gow-firefox-1   | [2023-03-17 21:54:52] DONE
gow-firefox-1   | [2023-03-17 21:54:52]
gow-firefox-1   | [2023-03-17 21:54:52] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
gow-firefox-1   | [2023-03-17 21:54:52] **** Configure devices ****
gow-firefox-1   | [2023-03-17 21:54:52] Exec device groups
gow-firefox-1   | [2023-03-17 21:54:52] Not modifying user groups ()
gow-firefox-1   | [2023-03-17 21:54:52] DONE
gow-firefox-1   | [2023-03-17 21:54:52] Launching the container's startup script as user 'retro'
gow-firefox-1   | [2023-03-17 21:54:52] Waiting for X Server :99 to be available
gow-udevd-1     | KERNEL[1750964.426257] remove   /devices/virtual/net/veth793b343 (net)
gow-udevd-1     | UDEV  [1750964.426336] remove   /devices/virtual/net/veth793b343 (net)
gow-udevd-1     | KERNEL[1750964.497128] remove   /devices/virtual/net/vetha671c05 (net)
gow-udevd-1     | UDEV  [1750964.497492] remove   /devices/virtual/net/vetha671c05 (net)
gow-pulse-1     | [2023-03-17 21:54:53]
gow-pulse-1     | [2023-03-17 21:54:53] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
gow-pulse-1     | [2023-03-17 21:54:53] **** Configure default user ****
gow-pulse-1     | [2023-03-17 21:54:53] Container running as root. Nothing to do.
gow-pulse-1     | [2023-03-17 21:54:53] DONE
gow-pulse-1     | [2023-03-17 21:54:53]
gow-pulse-1     | [2023-03-17 21:54:53] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
gow-pulse-1     | [2023-03-17 21:54:53] **** Configure devices ****
gow-pulse-1     | [2023-03-17 21:54:53] Exec device groups
gow-pulse-1     | [2023-03-17 21:54:53] Not modifying user groups ()
gow-pulse-1     | [2023-03-17 21:54:53] DONE
gow-pulse-1     | [2023-03-17 21:54:53] Launching the container's startup script as user 'root'
gow-pulse-1     | [2023-03-17 21:54:53] Removing all files from /root/.config/pulse
gow-pulse-1     | [2023-03-17 21:54:53] Starting pulseaudio
gow-firefox-1   | [2023-03-17 21:54:53] Starting Firefox
gow-xorg-1      | Detected outputs:
gow-xorg-1      |     - VGA-1
gow-xorg-1      |     - HDMI-1
gow-xorg-1      |     - DP-1
gow-xorg-1      |     - HDMI-2
gow-xorg-1      |     - HDMI-3
gow-xorg-1      |     - DVI-I-1-0
gow-xorg-1      |     - DVI-I-1-1
gow-xorg-1      |     - HDMI-1-0
gow-xorg-1      |     - DP-1-0
gow-xorg-1      |     - DP-1-1
gow-xorg-1      |     - DVI-D-1-0
gow-xorg-1      |
gow-xorg-1      | Setting HDMI-0 output to: 1920x1080@60
gow-xorg-1      | warning: output HDMI-0 not found; ignoring
gow-pulse-1     | W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | W: [pulseaudio] authkey.c: Failed to open cookie file '/root/.config/pulse/cookie': No such file or directory
gow-pulse-1     | W: [pulseaudio] authkey.c: Failed to load authentication key '/root/.config/pulse/cookie': No such file or directory
gow-pulse-1     | W: [pulseaudio] authkey.c: Failed to open cookie file '/root/.pulse-cookie': No such file or directory
gow-pulse-1     | W: [pulseaudio] authkey.c: Failed to load authentication key '/root/.pulse-cookie': No such file or directory
gow-pulse-1     | E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
gow-pulse-1     | 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
gow-pulse-1     | 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
gow-firefox-1   | MESA: error: Failed to query drm device.
gow-firefox-1   | libGL error: glx: failed to create dri3 screen
gow-firefox-1   | libGL error: failed to load driver: crocus
gow-firefox-1   | libGL error: failed to open /dev/dri/card0: No such file or directory
gow-firefox-1   | libGL error: failed to load driver: crocus
gow-sunshine-1  | [2023-03-17 21:54:54]
gow-sunshine-1  | [2023-03-17 21:54:54] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
gow-sunshine-1  | [2023-03-17 21:54:54] **** Configure default user ****
gow-sunshine-1  | [2023-03-17 21:54:54] Setting default user uid=1000(retro) gid=1000(retro)
gow-sunshine-1  | usermod: no changes
gow-sunshine-1  | [2023-03-17 21:54:54] Setting umask to 000
gow-sunshine-1  | [2023-03-17 21:54:54] Ensure retro home directory is writable
gow-sunshine-1  | [2023-03-17 21:54:54] DONE
gow-sunshine-1  | [2023-03-17 21:54:54]
gow-sunshine-1  | [2023-03-17 21:54:54] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
gow-sunshine-1  | [2023-03-17 21:54:54] **** Configure devices ****
gow-sunshine-1  | [2023-03-17 21:54:54] Exec device groups
gow-sunshine-1  | [2023-03-17 21:54:54] Adding user 'retro' to groups: gow-gid-71,gow-gid-18,root
gow-sunshine-1  | [2023-03-17 21:54:54] DONE
gow-sunshine-1  | [2023-03-17 21:54:54] Launching the container's startup script as user 'retro'
gow-sunshine-1  | [2023-03-17 21:54:54] Waiting for X Server :99 to be available
gow-sunshine-1  | [2023-03-17 21:54:54] Waiting for X Server :99 to be available
gow-sunshine-1  | [2023-03-17 21:54:54] Starting sunshine with DISPLAY=:99 and LOG_LEVEL=info
gow-sunshine-1  | [file_apps] -- [/home/retro/sunshine/apps.json]
gow-sunshine-1  | [file_state] -- [/home/retro/sunshine_state.json]
gow-sunshine-1  | [min_log_level] -- [info]
gow-sunshine-1  | [2023:03:17:21:54:54]: Info: New credentials have been created
gow-sunshine-1  | [file_apps] -- [/home/retro/sunshine/apps.json]
gow-sunshine-1  | [file_state] -- [/home/retro/sunshine_state.json]
gow-sunshine-1  | [min_log_level] -- [info]
gow-sunshine-1  | [2023:03:17:21:54:54]: Error: Failed to create session: This hardware does not support NvFBC
gow-sunshine-1  | [2023:03:17:21:54:54]: Error: Couldn't expose some/all drm planes for card: /dev/dri/card1
gow-sunshine-1  | [2023:03:17:21:54:54]: Info: Detecting connected monitors
gow-udevd-1     | KERNEL[1750966.205053] add      /devices/virtual/input/input37 (input)
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Trying encoder [nvenc]
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Screencasting with X11
gow-udevd-1     | UDEV  [1750966.205425] add      /devices/virtual/input/input37 (input)
gow-udevd-1     | KERNEL[1750966.206376] add      /devices/virtual/input/input37/mouse0 (input)
gow-udevd-1     | UDEV  [1750966.206395] add      /devices/virtual/input/input37/mouse0 (input)
gow-udevd-1     | KERNEL[1750966.207043] add      /devices/virtual/input/input37/event4 (input)
gow-udevd-1     | KERNEL[1750966.207060] add      /devices/virtual/input/input38 (input)
gow-udevd-1     | UDEV  [1750966.209135] add      /devices/virtual/input/input38 (input)
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: SDR color coding [Rec. 601]
gow-udevd-1     | KERNEL[1750966.210570] add      /devices/virtual/input/input38/mouse1 (input)
gow-udevd-1     | UDEV  [1750966.210597] add      /devices/virtual/input/input38/mouse1 (input)
gow-udevd-1     | KERNEL[1750966.210621] add      /devices/virtual/input/input38/event5 (input)
gow-udevd-1     | UDEV  [1750966.210641] add      /devices/virtual/input/input39 (input)
gow-udevd-1     | KERNEL[1750966.210721] add      /devices/virtual/input/input39 (input)
gow-udevd-1     | KERNEL[1750966.210736] add      /devices/virtual/input/input39/event6 (input)
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Color range: [JPEG]
gow-udevd-1     | UDEV  [1750966.216706] add      /devices/virtual/input/input37/event4 (input)
gow-udevd-1     | UDEV  [1750966.217194] add      /devices/virtual/input/input38/event5 (input)
gow-udevd-1     | UDEV  [1750966.227194] add      /devices/virtual/input/input39/event6 (input)
gow-sunshine-1  | [2023:03:17:21:54:55]: Error: Could not open codec [h264_nvenc]: Function not implemented
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Screencasting with X11
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: SDR color coding [Rec. 601]
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Color range: [JPEG]
gow-sunshine-1  | [2023:03:17:21:54:55]: Error: Failed to create a CUDA device: Operation not supported
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Screencasting with X11
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: SDR color coding [Rec. 601]
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Color range: [JPEG]
gow-sunshine-1  | [2023:03:17:21:54:55]: Error: Failed to create a CUDA device: Operation not supported
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Screencasting with X11
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: SDR color coding [Rec. 601]
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Color range: [JPEG]
gow-sunshine-1  | [2023:03:17:21:54:55]: Error: Failed to create a CUDA device: Operation not supported
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Encoder [nvenc] failed
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Trying encoder [vaapi]
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Screencasting with X11
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: SDR color coding [Rec. 601]
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: Color range: [JPEG]
gow-sunshine-1  | libva info: VA-API version 1.14.0
gow-sunshine-1  | libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
gow-sunshine-1  | libva info: Found init function __vaDriverInit_1_14
gow-sunshine-1  | [2023:03:17:21:54:55]: Info: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
gow-sunshine-1  | libva info: va_openDriver() returns 1
gow-sunshine-1  | libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
gow-sunshine-1  | libva info: Found init function __vaDriverInit_1_8
gow-sunshine-1  | libva info: va_openDriver() returns 0

gow-firefox-1   | ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory

gow-udevd-1     | KERNEL[1750997.381506] add      /devices/virtual/net/veth5385198 (net)
gow-udevd-1     | KERNEL[1750997.381529] add      /devices/virtual/net/veth5385198/queues/rx-0 (queues)
gow-udevd-1     | KERNEL[1750997.381537] add      /devices/virtual/net/veth5385198/queues/rx-1 (queues)
...a lot of udevd output...

The first time I try connecting from moonlight on my iphone it gives me a pin and when I curl with that pin I get the message gow-sunshine-1 | [2023:03:17:21:14:56]: Info: /pin: [192.168.43.14] -- denied. By "first time" I mean that I haven't killed the docker containers. If I kill and re run the containers then it'll behave a bit different where adding the server ip in moonlight just acts like there's nothing there and I don't get a pin... I tried to reset things by pruning docker and removing the local_state folder but I think I'm missing something because I'm not getting the pin prompt again. I can't tell if the logs are ever any different between runs...

docker inspect on sunshine

                "SUNSHINE_PASS=admin",
                "PGID=1000",
                "DISPLAY=:99",
                "NVIDIA_DRIVER_CAPABILITIES=all",
                "SUNSHINE_USER=admin",
                "PUID=1000",
                "TZ=Europe/London",
                "PULSE_SERVER=unix:/tmp/pulse/pulse-socket",
                "LOG_LEVEL=info",
                "GOW_REQUIRED_DEVICES=/dev/uinput /dev/input/event* /dev/dri/*",
                "NVIDIA_VISIBLE_DEVICES=all",
                "XDG_RUNTIME_DIR=/tmp/.X11-unix",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "UMASK=000",
                "UNAME=retro",
                "HOME=/home/retro"

and firefox

                "PULSE_SERVER=unix:/tmp/pulse/pulse-socket",
                "DISPLAY=:99",
                "NVIDIA_VISIBLE_DEVICES=all",
                "NVIDIA_DRIVER_CAPABILITIES=all",
                "LOG_LEVEL=info",
                "TZ=Europe/London",
                "PUID=1000",
                "PGID=1000",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "UMASK=000",
                "UNAME=retro",
                "HOME=/home/retro",
                "XDG_RUNTIME_DIR=/tmp/.X11-unix"

Thanks! I'd love to get this working.

Test out xvfb failover when no GPU is available

From a report on the Discord channel it might be that Xorg doesn't start when no GPU is available (to be tested).

In such cases, we could failover to xvfb. We'll loose hw acceleration but maybe we can still have a remote desktop with Sunshine? With a powerful enough CPU we could possibly play some RetroArch games or even just stream Firefox and other GUI apps without changing the containers.

EDIT: Maybe it's not possible, see: loki-47-6F-64/sunshine#47

Or maybe should we jump to wayland instead? Checkout sway headless example container

see also this issue on Sunshine

Tmpfs.size invalid when running docker-compose pull

Ubuntu server 20.04.3 LTS
Docker Compose version v2.2.3
Docker version 20.10.12, build e91ed57

I'm following the instructions for headless Ubuntu. I receive the following error during docker-compose pull:

error while interpolating services.retroarch.volumes.[].tmpfs.size: failed to cast to expected type: strconv.ParseInt: parsing "500M": invalid syntax

If I go into the .yml file and manually edit it to "500M", it works.

Intel specific packages in use causing ARM builds to fail

There are intel specific packages thatre being used which cause failures on arm builds, namely i965-va-driver-shaders, intel-media-va-driver-non-free and libdrm-intel1.

Steps to recreate:

  • Get an ARM machine
  • Edit compose/streamers/sunshine.yaml to have the default build lines uncommented (and comment the image line)
  • run build /home/ubuntu/repos/gow/run-gow --platform headless --app firefox build

Errors seen:

ubuntu@instance-20230211-2126:~/repos/gow$ /home/ubuntu/repos/gow/run-gow --platform headless --app firefox build
Running docker compose...
[+] Building 2.6s (8/11)
 => [internal] load build definition from Dockerfile                                                                0.1s
 => => transferring dockerfile: 1.55kB                                                                              0.0s
 => [internal] load .dockerignore                                                                                   0.1s
 => => transferring context: 2B                                                                                     0.0s
 => [internal] load metadata for ghcr.io/games-on-whales/base-app:edge                                              0.3s
 => [internal] load metadata for docker.io/lizardbyte/sunshine:v0.18.1-ubuntu-22.04                                 0.1s
 => CACHED [sunshine-image 1/1] FROM docker.io/lizardbyte/sunshine:v0.18.1-ubuntu-22.04@sha256:bf52033e014314fcb9e  0.0s
 => CACHED [sunshine 1/5] FROM ghcr.io/games-on-whales/base-app:edge@sha256:4c09555139ebc0f1c9df0cd308acca5bcd125b  0.0s
 => ERROR [sunshine 2/5] RUN   --mount=type=bind,from=sunshine-image,source=/sunshine.deb,target=/sunshine.deb      3.4s
 => [internal] load build context                                                                                   0.0s
 => => transferring context: 172B                                                                                   0.0s
------
 > [sunshine 2/5] RUN   --mount=type=bind,from=sunshine-image,source=/sunshine.deb,target=/sunshine.deb     apt-get update -y &&     apt-get install -y --no-install-recommends     libgbm1 libgles2-mesa libegl1 libgl1-mesa-dri     libvulkan1     libvdpau1 libnuma1     i965-va-driver-shaders     intel-media-va-driver-non-free     libdrm-intel1     libva-drm2 libva-x11-2 va-driver-all     libavahi-client3     libcap2-bin      &&     apt-get install -y --no-install-recommends -f /sunshine.deb &&     rm -rf /var/lib/apt/lists/*:
#0 0.278 Get:1 http://ports.ubuntu.com/ubuntu-ports jammy InRelease [270 kB]
#0 0.313 Get:2 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease [119 kB]
#0 0.313 Get:3 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease [107 kB]
#0 0.313 Get:4 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease [110 kB]
#0 0.480 Get:5 http://ports.ubuntu.com/ubuntu-ports jammy/main arm64 Packages [1758 kB]
#0 0.527 Get:6 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages [17.2 MB]
#0 0.810 Get:7 http://ports.ubuntu.com/ubuntu-ports jammy/restricted arm64 Packages [24.2 kB]
#0 0.810 Get:8 http://ports.ubuntu.com/ubuntu-ports jammy/multiverse arm64 Packages [224 kB]
#0 0.847 Get:9 http://ports.ubuntu.com/ubuntu-ports jammy-updates/main arm64 Packages [998 kB]
#0 0.858 Get:10 http://ports.ubuntu.com/ubuntu-ports jammy-updates/restricted arm64 Packages [320 kB]
#0 0.860 Get:11 http://ports.ubuntu.com/ubuntu-ports jammy-updates/multiverse arm64 Packages [5020 B]
#0 0.865 Get:12 http://ports.ubuntu.com/ubuntu-ports jammy-updates/universe arm64 Packages [872 kB]
#0 0.972 Get:13 http://ports.ubuntu.com/ubuntu-ports jammy-backports/main arm64 Packages [49.0 kB]
#0 0.975 Get:14 http://ports.ubuntu.com/ubuntu-ports jammy-backports/universe arm64 Packages [22.4 kB]
#0 1.054 Get:15 http://ports.ubuntu.com/ubuntu-ports jammy-security/multiverse arm64 Packages [1421 B]
#0 1.057 Get:16 http://ports.ubuntu.com/ubuntu-ports jammy-security/main arm64 Packages [683 kB]
#0 1.064 Get:17 http://ports.ubuntu.com/ubuntu-ports jammy-security/universe arm64 Packages [663 kB]
#0 1.071 Get:18 http://ports.ubuntu.com/ubuntu-ports jammy-security/restricted arm64 Packages [307 kB]
#0 1.627 Fetched 23.7 MB in 1s (17.5 MB/s)
#0 1.627 Reading package lists...
#0 2.352 Reading package lists...
#0 3.041 Building dependency tree...
#0 3.225 Reading state information...
#0 3.234 E: Unable to locate package i965-va-driver-shaders
#0 3.234 E: Unable to locate package intel-media-va-driver-non-free
#0 3.234 E: Unable to locate package libdrm-intel1
------
failed to solve: process "/bin/sh -c apt-get update -y &&     apt-get install -y --no-install-recommends $REQUIRED_PACKAGES &&     apt-get install -y --no-install-recommends -f /sunshine.deb &&     rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100

Can't connect to web interface

When I try to connect to the machine running gow through https://[ip address]:47990 I get the following error in Chrome.

You cannot visit 192.168.133.138 right now because the website sent scrambled credentials that Chrome cannot process. Network errors and attacks are usually temporary, so this page will probably work later.

What am I doing wrong?

Build an Unraid plugin

Possibly something that can install and setup uinput and an easy way to manage the containers?

`XORG_FORCE_RESOLUTION` doesn't work

Attempts to force a resolution that was not autodetected will fail right now because the cvt tool is missing from the Xorg container. We should either add that tool (and verify that forcing resolution now works) or remove the "forced resolution" support if we don't think it's useful anymore.

Docker compose syntax change required

At some recent version of Nvidia Container Toolkit (I think that's what's causing the breakage?), there's a compatibility change with docker compose yaml. The line runtime: ${DOCKER_RUNTIME} is broken and needs to be replaced with something like:

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Emulationstation DE container crashes on start

Really awesome project. This is the closest I've come to be able to play retro games from my unraid server.

I spin up the containers using this command,
./run-gow --platform headless --gpu intel --app emulationstationde up

Also, had to edit context field within emulationstationde.yml file to ./images/es-de. At the moment it points to incorrect path.

Emulationstation DE container crashes at start with the following log,

[2023-09-05 13:36:50] 
[2023-09-05 13:36:50] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2023-09-05 13:36:50] **** Configure default user ****
[2023-09-05 13:36:50] Setting default user uid=1000(retro) gid=1000(retro)
[2023-09-05 13:36:51] Setting umask to 000
[2023-09-05 13:36:51] Ensure retro home directory is writable
[2023-09-05 13:36:51] Ensure XDG_RUNTIME_DIR is writable
chown: cannot access '': No such file or directory

I'm unable to get the path that is resolving to '' in the last line.
As specified in doc, non root users have full rw permissions to local_state and other bios/rom/media folders.

Firefox and Retroarch containers load without errors and moonlight streams them without issues.

OS: Unraid 6.12.3
GPU: Intel UHD Graphics 730

Sunshine - add avahi

This should enable LAN service discovery for Moonlight clients.

Current error:

Couldn't find any of the following libraries: [libavahi-common.so.3, libavahi-common.so]

Managing multiple Sunshine backend on a single host

This is something that has been requested over and over again:

Can I let different users share a single machine for multiple gaming sessions at the same time?

Bare in mind that Moonlight does support already multiple players sharing one gaming backend (Sunshine) for Co-Op or similar games. In order to use that change the channels param in the Sunshine conf file.

There are multiple issues that needs to be solved in order to achieve this:

  • Right now Moonlight doesn't support connecting to different ports. I tried using nginx for this so that we can reverse proxy in front but since it's not HTTP but on a lower stack: TCP/UDP there's no easy way to dispatch based on the domain name (see the section below)
    • One way around it for now is to manually re-compile the client with a different set of hardcoded ports.
  • Having separate X11 display per remote player, this probably can be achieved using Xorg multiseat but needs testing (Thanks to @diadatp for pointing it out!)
  • Separate uinput devices so that keyboard/mouse/controller don't clash with each other.

Nginx reverse proxy Sunshine

I was able to passthru from one host to one other host so that Moonlight was pointing to x.x.x.x and Nginx was redirecting the connection to y.y.y.y
This works fine, but I wasn't able to dispatch based on the domain name or even just to load balance between 2 or more backends).

[1] Here's my nginx.conf file

events {}

stream {

   server {
        listen 47998 udp;
        listen 47999 udp;
        listen 48000 udp;
        listen 48002 udp;
        listen 48010 udp;

        listen 47984;
        listen 47989;
        listen 48010;

        # This can possibly be bound to an upstream so that you can load balance between backends
        # I couldn't make it work with the $server_port variable
        # But probably some wizard can
        proxy_pass y.y.y.y:$server_port;
    }

And I started it using

sudo docker run --name nginx --rm -v ~/nginx-gow.conf:/etc/nginx/nginx.conf:ro -p 47998-48010:47998-48010/udp -p 47984-48010:47984-48010/tcp nginx:1.21-alpine

Steam Container Resolution

The steam container by default only supports 1280x720 even though moonligh client is set to 1080p or 4k. The stream will be at that resolution but the container is at the aforementioned resolution.

Work Around

  1. For each game, goto the properties of the game in steam ui and set the specific resolution wanted
  2. Launch the game and now you have the option to set the resolution to specified resolution

Expected Behavior
To be clear not sure if this is by design or a bug so just listing my opinion as a user

  • Steam container should default to the resolution set by the moonlight client
  • Steam Big Picture Mode should use that resolution as the default for games when launching
  • Can see some utility in have some override option

Run GOW concurrently with desktop environment

Hello,

Thanks for this awesome piece of software, I am wondering if it is possible to have a desktop environment running and using another desktop environment in a game on the same gpu/a virtual monitor. I tried so, but it switches to TTY1 and when I switch back to by local desktop environment outside the container the screen gets black, is there a way to have both desktops running concurrently?

Gave up waiting for X server (GoW on a headless Proxmox inside a ubuntu based lxc container)

With the help of @tteck I was able to run GoW inside a ubuntu based lxc container with access to h/w encoding on a headless Proxmox 7.1 installation. Sadly GoW quits for unkown reasons.

cat /etc/pve/local/lxc/103.conf
arch: amd64
cores: 2
features: fuse=1,keyctl=1,mknod=1,nesting=1
hostname: GamesonWhale
memory: 2048
net0: name=eth0,bridge=vmbr0,hwaddr=9E:48:DB:D1:B5:AC,ip=dhcp,type=veth
onboot: 1
ostype: ubuntu
rootfs: dpool:subvol-103-disk-0,size=8G
swap: 512
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/renderD128 none bind,optional,create=file
lxc.mount.entry: /dev/uinput dev/uinput none bind,optional,create=dir


root@gow-debian-lxc:~/gow# docker-compose up
Starting gow_udevd_1 ... done
Starting gow_pulse_1 ... done
Starting gow_xorg_1 ... done
Starting gow_sunshine_1 ... done
Starting gow_retroarch_1 ... done
Attaching to gow_udevd_1, gow_xorg_1, gow_pulse_1, gow_sunshine_1, gow_retroarch_1
pulse_1 | Sat, 05 Feb 2022 19:32:15 +0000: /startup.sh: Starting pulseaudio
pulse_1 | W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
sunshine_1 | Sat, 05 Feb 2022 19:32:16 +0000: /startup.sh: Waiting for X Server :99 to be available
udevd_1 | monitor will print the received events for:
pulse_1 | W: [pulseaudio] authkey.c: Failed to open cookie file '/home/retro/.config/pulse/cookie': No such file or directory
pulse_1 | W: [pulseaudio] authkey.c: Failed to load authentication key '/home/retro/.config/pulse/cookie': No such file or directory
pulse_1 | W: [pulseaudio] authkey.c: Failed to open cookie file '/home/retro/.pulse-cookie': No such file or directory
pulse_1 | W: [pulseaudio] authkey.c: Failed to load authentication key '/home/retro/.pulse-cookie': No such file or directory
pulse_1 | 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
pulse_1 | 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
xorg_1 | Not modifying user groups ()
xorg_1 | Starting Xorg (:99)
xorg_1 |
xorg_1 | X.Org X Server 1.20.11
xorg_1 | X Protocol Version 11, Revision 0
xorg_1 | Build Operating System: linux Ubuntu
xorg_1 | Current Operating System: Linux homeassistant 5.11.22-7-pve #1 SMP PVE 5.11.22-12 (Sun, 07 Nov 2021 21:46:36 +0100) x86_64
xorg_1 | Kernel command line: initrd=\EFI\proxmox\5.11.22-7-pve\initrd.img-5.11.22-7-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt pci=realloc,assign-busses pcie_acs_override=downstream,multifunction kvm.ignore_msrs=1 kvm.report_ignored_msrs=0 vfio_iommu_type1.allow_unsafe_interrupts=1
xorg_1 | Build Date: 06 July 2021 10:17:51AM
udevd_1 | UDEV - the event which udev sends out after rule processing
udevd_1 | KERNEL - the kernel uevent
udevd_1 |
udevd_1 | KERNEL[14429.639837] remove /devices/virtual/net/veth472af04 (net)
udevd_1 | KERNEL[14429.828129] add /devices/virtual/bdi/0:100 (bdi)
udevd_1 | KERNEL[14429.834764] add /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14429.834820] add /devices/virtual/net/vethe42d697/queues/rx-0 (queues)
udevd_1 | KERNEL[14429.834839] add /devices/virtual/net/vethe42d697/queues/tx-0 (queues)
udevd_1 | KERNEL[14429.836952] add /devices/virtual/net/vetha22117b (net)
udevd_1 | KERNEL[14429.837008] add /devices/virtual/net/vetha22117b/queues/rx-0 (queues)
udevd_1 | KERNEL[14429.837026] add /devices/virtual/net/vetha22117b/queues/tx-0 (queues)
udevd_1 | KERNEL[14430.691269] remove /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14430.844437] add /devices/virtual/bdi/0:105 (bdi)
xorg_1 | xorg-server 2:1.20.11-1ubuntu1.1 (For technical support please see http://www.ubuntu.com/support)
xorg_1 | Current version of pixman: 0.40.0
xorg_1 | Before reporting problems, check http://wiki.x.org
xorg_1 | to make sure that you have the latest version.
xorg_1 | Markers: (--) probed, (**) from config file, (==) default setting,
xorg_1 | (++) from command line, (!!) notice, (II) informational,
xorg_1 | (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
xorg_1 | (==) Log file: "/var/log/Xorg.99.log", Time: Sat Feb 5 19:32:14 2022
xorg_1 | (==) Using system config directory "/usr/share/X11/xorg.conf.d"
xorg_1 | (EE)
xorg_1 | Fatal server error:
xorg_1 | (EE) xf86OpenConsole: Cannot open virtual console 1 (Input/output error)
xorg_1 | (EE)
xorg_1 | (EE)
xorg_1 | Please consult the The X.Org Foundation support
xorg_1 | at http://wiki.x.org
xorg_1 | for help.
xorg_1 | (EE) Please also check the log file at "/var/log/Xorg.99.log" for additional information.
xorg_1 | (EE)
xorg_1 | (EE) Server terminated with error (1). Closing log file.
xorg_1 | error: could not open display
retroarch_1 | Sat, 05 Feb 2022 19:32:16 +0000: /startup.sh: Waiting for X Server :99 to be available
xorg_1 | Sat, 05 Feb 2022 19:34:17 +0000: /usr/bin/wait-x11: FATAL: /usr/bin/wait-x11: Gave up waiting for X server :99
udevd_1 | KERNEL[14552.462743] remove /devices/virtual/bdi/0:92 (bdi)
gow_xorg_1 exited with code 11
sunshine_1 | Sat, 05 Feb 2022 19:34:19 +0000: /usr/bin/wait-x11: FATAL: /usr/bin/wait-x11: Gave up waiting for X server :99
retroarch_1 | Sat, 05 Feb 2022 19:34:19 +0000: /usr/bin/wait-x11: FATAL: /usr/bin/wait-x11: Gave up waiting for X server :99
udevd_1 | KERNEL[14554.248448] remove /devices/virtual/bdi/0:105 (bdi)
gow_retroarch_1 exited with code 11
udevd_1 | KERNEL[14554.411235] add /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14554.411306] move /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14554.428553] remove /devices/virtual/net/vethe42d697/queues/rx-0 (queues)
udevd_1 | KERNEL[14554.428755] remove /devices/virtual/net/vethe42d697/queues/tx-0 (queues)
udevd_1 | KERNEL[14554.428988] remove /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14554.467411] remove /devices/virtual/net/vetha22117b/queues/rx-0 (queues)
udevd_1 | KERNEL[14554.467640] remove /devices/virtual/net/vetha22117b/queues/tx-0 (queues)
udevd_1 | KERNEL[14554.467905] remove /devices/virtual/net/vetha22117b (net)
udevd_1 | KERNEL[14554.494531] remove /devices/virtual/bdi/0:100 (bdi)

    gow_sunshine_1 exited with code 11

@ABeltramo I've looked at the troubleshooting section but it wasn't really helpful.

No audio streamed

It's probably linked to #1 if we can run it as the same local user it'll probably work

Steam proton works only once

Hello.

Great repo. Really brilliant :) My mind was really blown when i got it working.

However, i have a strange issue.
i've got a nuc12 with iris xe IGPU / intel. with a hdmi dummy plug.
I run Debian Bookworm / cli only. No desktop environment.

i have cloned the latest master, and launch like so:
./run-gow --platform headless --gpu intel --app steam up

this is my user.env

XORG_IPC=shareable
# XORG_VERBOSE=6

SHARED_IPC=service:xorg
LOCAL_STATE=/gow/local_state
TIME_ZONE=Europe/Amsterdam
###################
# This section is for running in "headless" mode, without a desktop already
# running on your host
###################
XORG_SOCKET=xorg
XORG_DISPLAY=:99

# Change these to suit your preferences
XORG_RESOLUTION=1920x1080
XORG_REFRESH_RATE=60
XORG_DISPLAY_PORT=HDMI-1
XORG_FORCE_RESOLUTION=true

PULSE_SERVER=unix:/tmp/pulse/pulse-socket
PULSE_SOCKET_HOST=pulse

####################
# Services that use udev in order to get devices
# needs to be on the same network
# This is because they need the udev PF_NETLINK socket
UDEVD_NETWORK=service:udevd

I can connect with moonlight. i have logged into steam, and enabled Proton.
I have installed a game called "My friend peppa pig" (this game is "for my 6 year old son" ;))
i "really don't play this game myself!!, seriously!"
nono "for real!,... asking for a friend" ;)

All works wonderful. Performance rocks as well. However, when i quit this game, and relaunch the game, it starts, and stops immediately.

After i stop the containers, and rerun the stack, i can play the game again. once.
I have tried every proton version so far. removed the .steam folder and restarted.
Non proton games like retroarch etc run fine.

There's logging in the console like so:

gow-steam-1     | Game process updated : AppID 1635590 "/home/retro/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=1635590 -- /home/retro/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- '/home/retro/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/retro/.steam/debian-installation/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/retro/.steam/debian-installation/steamapps/common/My Friend Peppa Pig/My Friend Peppa Pig.exe'", ProcID 1551, IP 0.0.0.0:0
gow-steam-1     | Game process removed: AppID 1635590 "/home/retro/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=1635590 -- /home/retro/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- '/home/retro/.steam/debian-installation/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/retro/.steam/debian-installation/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/home/retro/.steam/debian-installation/steamapps/common/My Friend Peppa Pig/My Friend Peppa Pig.exe'", ProcID 1551
gow-steam-1     | ThreadGetProcessExitCode: no such process 1591
gow-steam-1     | ThreadGetProcessExitCode: no such process 1560
gow-steam-1     | ThreadGetProcessExitCode: no such process 1557
gow-steam-1     | ThreadGetProcessExitCode: no such process 1555
gow-steam-1     | ThreadGetProcessExitCode: no such process 1551
gow-steam-1     | ThreadGetProcessExitCode: no such process 1549
gow-steam-1     | ThreadGetProcessExitCode: no such process 1433
gow-steam-1     | ThreadGetProcessExitCode: no such process 1432

Does anyone have, "any" idea?

Missing udev volume mount in headless.yml?

I am extremely fresh to using this project, but have been following it for quite a while.

I have just been examining the headless.yml file in the compose/platforms folder, and something doesn't seem quite right..?

As far as I can ascertain, there's a udev:/run/udev/:ro volume entry, yet there isn't a volume mount..? - I can see ones for xorg and pulse - surely udev should be the same? - I have had a quick scan through the bash scripts and I cannot find where such a mount occurs..?

Provide single-usage container apps

Hello. Hope its not too rude to post it here, but it would be much easier and cleaner for new users to just add to their docker-compose files another container like RetroArch, which contains xorg,pulse,udev,sunshine and app in following form:

 gow-retroarch
    image:  gow-retroarch:latest
    container_name:  gow-retroarch101
    group_add:
      - 109 #OR whatever required for video and graphics
    environment:
      - TZ=Europe/London
      - SUNSHINE_USER=admin
      - SUNSHINE_PASS=admin
      - SUNSHINE_WEB_UI=49999
      - SUNSHINE_ENCODER=vaapi
      - XORG_RESOLUTION: 1280x720
      - XORG_CURRENT_OUTPUT: HDMI-0 #OR some other virtual output
      - XORG_REFRESH_RATE: 60
      - XORG_FORCE_RESOLUTION: true
    volumes:
      - ./config/gow-retroarch101/config:/config #Root folder with subfolders like /retroarch, /sunshine...
      - /mnt/Games:/Games:ro
      - /dev/input:/dev/input:ro
      - udev:/run/udev/:ro
    devices:
      # VAAPI/GFX Devices
      - /dev/dri/renderD128:/dev/dri/renderD128
      - /dev/dri/card0:/dev/dri/card0
      - /dev/fb0:/dev/fb0
    network_mode: host
    privileged: true
#all other ports required by sunshine
    restart: unless-stopped

Latest commit kills running compose?

I just merged the latest commit on master (6755aa2) over to my master branch, and can no longer "./run-gow"

Running docker compose...
Top-level object must be a mapping

Googling suggests docker_compose.yml file has some unusual char codes in there from killing the YML format, but I can't figure it out. I did a clean clone into a fully separate workspace too - and get the same problem. I can't see where there are weird characters, but compose is definitely not able to ingest this file very well.

problem on startup sunshine docker

Hi all,
I was trying to configure game on wolf on my server that have a J5005 CPU with his integrated GPU (an Intel UHD Graphics 605)
All seems configured correctly but when I try to launch an application the sunshine docker returned me this error:
gow-sunshine-1 | [2023:10:22:12:08:14]: Error: Couldn't load cuda: -1
gow-sunshine-1 | [2023:10:22:12:08:14]: Error: Environment variable WAYLAND_DISPLAY has not been defined
gow-sunshine-1 | [2023:10:22:12:08:14]: Info: Detecting connected monitors
I also try to force the intel driver by using the -g intel option but the problem remain.
Someone can help me?

AMD GPU not detected when Nvidia GPU is also installed

When trying to run GoW headless on a PC with both an Nvidia GPU and AMD GPU installed, the Nvidia GPU is detected but not the AMD GPU.

When running running:
./run-gow --headless --gpu nvidia --app retroarch up -d
GoW works, and I can connect to RetroArch over Moonlight on my Nvidia GPU.

but when I try to run it without "--gpu nvidia" to try and run GoW on my AMD GPU, I get the followin error on the gow-xorg-1 log:

[2022-12-21 16:10:03] Adding user 'retro' to groups: gow-gid-71,root
[2022-12-21 16:10:04] Launching the container's startup script
[2022-12-21 16:10:04] Detected Nvidia drivers, installing them...
Looking for driver version 525.60.13
Downloading https://us.download.nvidia.com/XFree86/Linux-x86_64/525.60.13/NVIDIA-Linux-x86_64-525.60.13.run
ERROR: Unable to download /tmp/nvidia-525.60.13.run
Couldn't download nvidia driver version 525.60.13

So I think it's still trying to use my Nvidia GPU instead of my AMD GPU, even without the "--gpu nvidia" command

So my question is: is there any way to force GoW not to detect the Nvidia GPU so I can use my AMD GPU instead?

Environment:

Unraid version: 6.11.5

Nvidia GPU info: 
[10de:1c82] 01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
driver version: 525.60.13

AMD GPU info:
[1002:73ff] 04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] (rev c1)

Nvidia driver missmatch with images

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.

Invalid docker compose file

Hello - thank you all for this effort & great job on the project so far!!

I am having trouble with the setup and installation.

Currently running GOW on an ubuntu server with a desktop environment. When trying to run the commands , docker-compose pull and docker-compose up I get the following errors

ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.retroarch: 'runtime'
Unsupported config option for services.sunshine: 'runtime'
services.retroarch.volumes contains an invalid type, it should be a string

I have tried following the setup guide for Debian based Linux distros running a desktop environment. Also I'm new to linux, so I could have dont the setup incorrectly. Here are my config files

docker-compose.yaml
version: "3"

services:

  ##########################################
  # There's a lot going on in this file, 
  # it's normal to get lost with all the options and variables 
  #
  # Before diving in, make sure to take a look at the documentation.
  # in particular read the components-overview section (https://github.com/games-on-whales/gow/blob/master/docs/components-overview.md)
  # in order to get a view on how the components are tied together
  ####################  


  ####################
  # If you don't have a desktop environment we have to run Xorg
  #xorg:
  #  build: 
  #    context: ./images/
  #    dockerfile: xorg/Dockerfile
  #  image: gameonwhales/xorg
  #  network_mode: ${UDEVD_NETWORK}
  #  privileged: true
  #  volumes: 
  #    # Shared with Sunshine in order to get mouse and joypad working
  #    - /dev/input:/dev/input:ro
  #    - udev:/run/udev/:ro
  #    # The xorg socket, it'll be populated when up and running
  #    - ${XORG_SOCKET}:/tmp/.X11-unix
  #  ipc: ${XORG_IPC} # Needed for MIT-SHM, removing this should cause a performance hit see https://github.com/jessfraz/dockerfiles/issues/359
  # environment: 
  #    DISPLAY: ${XORG_DISPLAY}
  #    RESOLUTION: ${XORG_RESOLUTION}
  #    CURRENT_OUTPUT: ${XORG_DISPLAY_PORT}
  #    REFRESH_RATE: ${XORG_REFRESH_RATE}
  #    FORCE_RESOLUTION: ${XORG_FORCE_RESOLUTION}

  ####################
  # If you don't have a pulse server start it
  #pulse:
  #  build: 
  #    context: ./images/
  #    dockerfile: pulseaudio/Dockerfile
  #  image: gameonwhales/pulseaudio
  #  ipc: ${XORG_IPC}
  #  volumes: 
  #    - ${PULSE_SOCKET_HOST}:${PULSE_SOCKET_GUEST}
  
  ####################
  # This is not really needed right now
  # It still relies on host udev
  # I'll keep it so that we can isolate services that needs udev
  # And it's good to log the events to debug Sunshine created devices
  # udevd:
  #  build:
  #    context: ./images/
  #    dockerfile: udevd/Dockerfile
  #  image: gameonwhales/udevd
    # Setting network to host
    # There must be a way to avoid this but I can't figure it out
    # We need to be on the host network in order to get the PF_NETLINK socket
    # You can listen to events even without that socket but Xorg and RetroArch will not pickup the devices
  #  network_mode: host
  #  privileged: true 
  #  volumes:
  #    - udev:/run/udev/

  ####################
  sunshine:
    depends_on: 
      - xorg
      - pulse
    build: 
      context: ./images/
      dockerfile: sunshine/Dockerfile
      # Uncomment the following to override the default sunshine version
      # args:
      #  BUILD_TYPE: RELEASE # To debug run a console inside then gdb -args sunshine > r > on exception: bt
      #  SUNSHINE_SHA: d9f79527104694a223eb9d64309e9337f46909d6
    image: gameonwhales/sunshine
    ports: 
      - 47984-47990:47984-47990/tcp
      - 48010:48010
      - 47998-48000:47998-48000/udp
    runtime: ${DOCKER_RUNTIME}
    privileged: true
    volumes:
      # Xorg socket in order to get the screen
      - ${XORG_SOCKET}:/tmp/.X11-unix
      # Pulse socket, audio
      - ${PULSE_SOCKET_HOST}:${PULSE_SOCKET_GUEST}
      # Home directory: sunshine state + configs
      - ${local_state}/:/home/retro/
      # OPTIONAL: host dbus used by avahi in order to publish Sunshine for auto network discovery
      - ${DBUS}:/run/dbus:ro 
    ipc: ${SHARED_IPC}  # Needed for MIT-SHM, removing this should cause a performance hit see https://github.com/jessfraz/dockerfiles/issues/359
    environment:
      DISPLAY: ${XORG_DISPLAY}
      NVIDIA_DRIVER_CAPABILITIES: utility,video,graphics,display
      NVIDIA_VISIBLE_DEVICES: ${GPU_UUID}
      LOG_LEVEL: ${SUNSHINE_LOG_LEVEL}
      GOW_REQUIRED_DEVICES: /dev/uinput /dev/input/event* /dev/dri/*
      # Username and password for the web-ui at https://xxx.xxx.xxx.xxx:47990
      SUNSHINE_USER: ${SUNSHINE_USER}
      SUNSHINE_PASS: ${SUNSHINE_PASS}
      # Intel drivers, see https://wiki.debian.org/HardwareVideoAcceleration#Installation
      # LIBVA_DRIVERS_PATH: /usr/lib/x86_64-linux-gnu/dri/
      # LIBVA_DRIVER_NAME: i965 # or i965 for older generations
      XDG_RUNTIME_DIR: /tmp/.X11-unix
      PULSE_SERVER: ${PULSE_SERVER}


  ####################
  retroarch:
    depends_on:
      - xorg
      - pulse
      - sunshine
    runtime: ${DOCKER_RUNTIME}
    build:
      context: ./images/
      dockerfile: retroarch/Dockerfile
    image: gameonwhales/retroarch
    # network_mode: host
    privileged: true
    network_mode: ${UDEVD_NETWORK}
    volumes:
      # Followings are needed in order to get joystick support
      - /dev/input:/dev/input:ro
      - udev:/run/udev/:ro
      # Xorg socket in order to get the screen
      - ${XORG_SOCKET}:/tmp/.X11-unix
      # Pulse socket, audio
      - ${PULSE_SOCKET_HOST}:${PULSE_SOCKET_GUEST}
      # Home directory: retroarch games, downloads, cores etc
      - ${local_state}/:/home/retro/
      # some emulators need more than 64 MB of shared memory - see https://github.com/libretro/dolphin/issues/222
      # TODO: why shm_size doesn't work ??????
      - type: tmpfs
        target: /dev/shm
        tmpfs:
            size: ${SHM_SIZE}
    ipc: ${SHARED_IPC}  # Needed for MIT-SHM, removing this should cause a performance hit see https://github.com/jessfraz/dockerfiles/issues/359
    environment:
      DISPLAY: ${XORG_DISPLAY}
      NVIDIA_DRIVER_CAPABILITIES: utility,video,graphics,display
      NVIDIA_VISIBLE_DEVICES: ${GPU_UUID}
      # Which devices does GoW need to be able to use? The docker user will be
      # added to the groups that own these devices, to help with permissions
      # issues
      # These values are the defaults, but you can add others if needed
      GOW_REQUIRED_DEVICES: /dev/uinput /dev/input/event* /dev/dri/* /dev/snd/*
      PULSE_SERVER: ${PULSE_SERVER}

  ####################
  # steam:
  #   depends_on:
  #     - xorg
  #     - pulse
  #     - sunshine
  #   runtime: ${DOCKER_RUNTIME}
  #   build:
  #     context: ./images/
  #     dockerfile: steam/Dockerfile
  #   image: gameonwhales/steam
  #   network_mode: ${UDEVD_NETWORK}
  #   privileged: true
  #   volumes:
  #     # Followings are needed in order to get joystick support
  #     - /dev/input:/dev/input:ro
  #     - udev:/run/udev:ro
  #     # Xorg socket in order to get the screen
  #     - ${XORG_SOCKET}:/tmp/.X11-unix
  #     # Pulse socket, audio
  #     - ${PULSE_SOCKET_HOST}:${PULSE_SOCKET_GUEST}
  #     # Home directory: client, games, downloads, etc
  #     - ${local_state}/:/home/retro/
  #     # The following is needed by the webview otherwise you'll get Less than 64MB of free space in temporary directory (https://github.com/microsoft/vscode/issues/111729#issuecomment-737399692)
  #     # TODO: why shm_size doesn't work ??????
  #     - type: tmpfs
  #       target: /dev/shm
  #       tmpfs:
  #           size: ${SHM_SIZE}
  #   ipc: ${SHARED_IPC}  # Needed for MIT-SHM, removing this should cause a performance hit see https://github.com/jessfraz/dockerfiles/issues/359
  #   environment:
  #     DISPLAY: ${XORG_DISPLAY}
  #     NVIDIA_DRIVER_CAPABILITIES: compat32,graphics,utility,display,video
  #     NVIDIA_VISIBLE_DEVICES: ${GPU_UUID}
  #     PROTON_LOG: 1
  #     # LD_LIBRARY_PATH: /home/retro/.steam/ubuntu12_32/
  #     PULSE_SERVER: ${PULSE_SERVER}

  # ####################
  # An example of running an unprivileged X11 app in this environment
  # firefox:
  #   depends_on: 
  #     - xorg
  #     - pulse
  #     - sunshine
  #   image: andrewmackrodt/firefox-x11
  #   volumes:       
  #     - ${XORG_SOCKET}:/tmp/.X11-unix
  #     # Pulse socket, audio
  #     - ${PULSE_SOCKET_HOST}:${PULSE_SOCKET_GUEST}
  #     # If you have permission errors make sure to chomd ${id}:${id} ./local_state
  #     - ${local_state}/ffox:/run/user/1000
  #   environment: 
  #     DISPLAY: ${XORG_DISPLAY}
  #     LOG_LEVEL: info
  #     PULSE_SERVER: ${PULSE_SERVER}

####################
volumes:
  xorg: # This will hold the xorg socket file and it'll be shared between containers
  pulse: # This will hold the xorg socket
  udev: # This will hold shared udev files
.env
local_state=./local_state

####################
# Needed for MIT-SHM, removing this should cause a performance hit see https://github.com/jessfraz/dockerfiles/issues/359
# Use 'service:xorg' if running on a recent enough docker-compose version
# Use 'host' if your Docker version can't support the service format
SHARED_IPC=host
SHM_SIZE=500M
# Use 'shareable' with service:xorg
# Use 'host' with 'host'
XORG_IPC=host
# Change this if you want to run it on an actual desktop environment
XORG_SOCKET=/tmp/.X11-unix/
XORG_RESOLUTION=1920x1080
XORG_REFRESH_RATE=60
XORG_DISPLAY_PORT=HDMI-1
XORG_FORCE_RESOLUTION=false
XORG_DISPLAY=:99

####################
# Using network in order to connect to pulse
# if you do have a pulse server already point this to the pulse socket like unix:/tmp/pulse-sock
# and mount the host socket to the instance
PULSE_SERVER=unix:/tmp/pulse/pulse-socket
PULSE_SOCKET_HOST=/run/user/1000/pulse/
PULSE_SOCKET_GUEST=/tmp/pulse/

####################
# Nvidia configs
# Set to nvidia if using nvidia-docker
DOCKER_RUNTIME=nvidia
GPU_UUID=all

####################
# Set to debug or verbose if you need
SUNSHINE_LOG_LEVEL=info
# Username and password for the web-ui at https://xxx.xxx.xxx.xxx:47990
SUNSHINE_USER=admin
SUNSHINE_PASS=admin

####################
# Services that use udev in order to get devices
# needs to be on the same network
# This is because they need the udev PF_NETLINK socket
UDEVD_NETWORK=eno1

####################
# Avahi
# if your system already runs avahi-daemon just mount host /run/dbus into Sunshine
# TODO: create avahi docker image instead
DBUS=/run/dbus'

EDIT: formatting

Unable to run headless - XServer fails every time

Hello,
Iam unable to run the container with the default settings. So I tried out multiple settings which also failed.

OS: Ubuntu 20.04.5 LTS focal
GPU: NVIDIA RTX3070, Driver Version: 470.141.10 CUDA Version: 11.4

Log:

gow-xorg-1      | Detected outputs:
gow-xorg-1      |     - HDMI-0
gow-xorg-1      |     - DP-0
gow-xorg-1      |     - DP-1
gow-xorg-1      |     - DP-2
gow-xorg-1      |     - DP-3
gow-xorg-1      |     - DP-4
gow-xorg-1      |     - DP-5
gow-xorg-1      | 
gow-xorg-1      | Setting DP-0 output to: 1920x1080@60
gow-xorg-1      | 1920x1080 is not detected, FORCE_RESOLUTION=true
gow-xorg-1      | xrandr: cannot find mode 1920x1080
gow-xorg-1      | /opt/gow/startup.sh: line 69: cvt: command not found
gow-xorg-1      | xrandr: failed to parse '1920x1080_60' as a mode specification
gow-xorg-1      | Try 'xrandr --help' for more information.
$ cat env/headless.env
XORG_IPC=shareable
XORG_VERBOSE=6

SHARED_IPC=service:xorg

###################
# This section is for running in "headless" mode, without a desktop already
# running on your host
###################
XORG_SOCKET=xorg
XORG_DISPLAY=:77

# Change these to suit your preferences
XORG_RESOLUTION=1920x1080
XORG_REFRESH_RATE=60
XORG_DISPLAY_PORT=DP-0 #HDMI-0 #HDMI-0 #DP-0 #DFP-0
XORG_FORCE_RESOLUTION=true

PULSE_SERVER=unix:/tmp/pulse/pulse-socket
PULSE_SOCKET_HOST=pulse

####################
# Services that use udev in order to get devices
# needs to be on the same network
# This is because they need the udev PF_NETLINK socket
UDEVD_NETWORK=service:udevd

$ cat /etc/X11/xorg.conf

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration" "True"
    Option         "UseDisplayDevice" "DP-0"
    Option         "CustomEDID" "DP-0:/home/ubuntu/edid.txt"
    Option         "ConnectedMonitor" "DP-0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
$ cat /home/ubuntu/edid.txt
00 ff ff ff ff ff ff 00 1e 6d f5 56 71 ca 04 00 05 14 01 03 80 35 1e 78 0a ae c5 a2 57 4a 9c 25 12 50 54 21 08 00 b3 00 81 80 81 40 01 01 01 01 01 01 01 01 01 01 1a 36 80 a0 70 38 1f 40 30 20 35 00 13 2b 21 00 00 1a 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 00 00 00 fd 00 38 3d 1e 53 0f 00 0a 20 20 20 20 20 20 00 00 00 fc 00 57 32 34 35 33 0a 20 20 20 20 20 20 20 01 3d 02 03 21 f1 4e 90 04 03 01 14 12 05 1f 10 13 00 00 00 00 23 09 07 07 83 01 00 00 65 03 0c 00 10 00 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 01 1d 80 18 71 1c 16 20 58 2c 25 00 13 2b 21 00 00 9e 01 1d 00 72 51 d0 1e 20 6e 28 55 00 13 2b 21 00 00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 13 2b 21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Unsupported config option 'runtime'

I'm trying to run gow on Proxmox inside a Ubuntu 20.04 VM with Intel GVT-g enabled but for some reason I get a error:

ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.retroarch: 'runtime'
Unsupported config option for services.sunshine: 'runtime

I would glady help to test support for a Intel iGPU.

sudo lshw -c video
  *-display                 
       Beschreibung: VGA compatible controller
       Produkt: Iris Plus Graphics 655
       Hersteller: Intel Corporation
       Physische ID: 0
       Bus-Informationen: pci@0000:01:00.0
       Logischer Name: /dev/fb0
       Version: 01
       Breite: 64 bits
       Takt: 33MHz
       Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list fb
       Konfiguration: depth=32 driver=i915 latency=0 mode=1024x768 visual=truecolor xres=1024 yres=768
       Ressourcen: iomemory:80-7f irq:41 memory:c0000000-c0ffffff memory:800000000-80fffffff

Originally posted by @tristan-k in #21 (comment)

Can not run in kubernetes

Hi, GOW experts:

I tried to follow you doc to run GOW in k8s, it always complains:

Allow /dev/uinput r/w to the group Adding user 'root' to groups: kvm,root Wed, 06 Dec 2023 23:56:38 +0000: /startup.sh: Detected Nvidia drivers, installing them... Failed to locate a package with the same driver version (510.47) Xorg may fail to start; try mounting drivers from your host as a volume.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.