Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Issues with Docker Compose Instructions #137

Open
theamazingnorad opened this issue Mar 19, 2024 · 3 comments
Open

Issues with Docker Compose Instructions #137

theamazingnorad opened this issue Mar 19, 2024 · 3 comments
Labels
status:awaiting-triage type:documentation Improvements or additions to documentation

Comments

@theamazingnorad
Copy link

theamazingnorad commented Mar 19, 2024

Description

As a dual AMD GPU user on Arch under KDE 6.0, I struggled to get this working. Three things I would recommend adding to the instructions.

  • The default port information is misleading. The example .env uses 58083 yet the install guide references 8083.
  • I had to go into 70-configure_xorg.sh to figure out why my x server was not running -- I was getting errors about Xauthority, but traced it down to not having a valid display device. I'm not sure what the DISPLAY variable of 55 is trying to do, but I ended up adding FORCE_X11_DUMMY_CONFIG=TRUE to my environmental variables to get Xorg in the container to create a dummy display and start.
  • You have a commented out line in docker-compose to pass /dev/dri. I'd suggest adding a blurb that, for multiple AMD GPU users, you need to pass the specific GPU you want. So for me, /dev/dri/card1 and /dev/dri/renderD128. At that point, only my AMD 6500 passes and not my 6950XT. Confirmed working with vkvube from the container. I was having issues with it trying to run things on the wrong GPU which was already bound to Wayland in my host.

Anyways, these edits allowed me to get this working. My wife can now game off my 6500 in the container from her Mac while I play off my 6950XT. Hurray 5950X and 64 GB ram :)

@theamazingnorad theamazingnorad added status:awaiting-triage type:documentation Improvements or additions to documentation labels Mar 19, 2024
@cRaZy-bisCuiT
Copy link

Thanks for the info @theamazingnorad ! Would you mind to open a PR and update the needed changes? Otherwise I could try to build on my Arch system as well and then open a PR. :)

@Josh5
Copy link
Collaborator

Josh5 commented Apr 25, 2024

Description

As a dual AMD GPU user on Arch under KDE 6.0, I struggled to get this working. Three things I would recommend adding to the instructions.

  • The default port information is misleading. The example .env uses 58083 yet the install guide references 8083.
  • I had to go into 70-configure_xorg.sh to figure out why my x server was not running -- I was getting errors about Xauthority, but traced it down to not having a valid display device. I'm not sure what the DISPLAY variable of 55 is trying to do, but I ended up adding FORCE_X11_DUMMY_CONFIG=TRUE to my environmental variables to get Xorg in the container to create a dummy display and start.
  • You have a commented out line in docker-compose to pass /dev/dri. I'd suggest adding a blurb that, for multiple AMD GPU users, you need to pass the specific GPU you want. So for me, /dev/dri/card1 and /dev/dri/renderD128. At that point, only my AMD 6500 passes and not my 6950XT. Confirmed working with vkvube from the container. I was having issues with it trying to run things on the wrong GPU which was already bound to Wayland in my host.

Anyways, these edits allowed me to get this working. My wife can now game off my 6500 in the container from her Mac while I play off my 6950XT. Hurray 5950X and 64 GB ram :)

With the setup you have achieved, are the 2 of you able to play at the same time?

@theamazingnorad
Copy link
Author

As a dual AMD GPU user on Arch under KDE 6.0, I struggled to get this working. Three things I would recommend adding to the instructions.

  • The default port information is misleading. The example .env uses 58083 yet the install guide references 8083.
  • I had to go into 70-configure_xorg.sh to figure out why my x server was not running -- I was getting errors about Xauthority, but traced it down to not having a valid display device. I'm not sure what the DISPLAY variable of 55 is trying to do, but I ended up adding FORCE_X11_DUMMY_CONFIG=TRUE to my environmental variables to get Xorg in the container to create a dummy display and start.
  • You have a commented out line in docker-compose to pass /dev/dri. I'd suggest adding a blurb that, for multiple AMD GPU users, you need to pass the specific GPU you want. So for me, /dev/dri/card1 and /dev/dri/renderD128. At that point, only my AMD 6500 passes and not my 6950XT. Confirmed working with vkvube from the container. I was having issues with it trying to run things on the wrong GPU which was already bound to Wayland in my host.

Anyways, these edits allowed me to get this working. My wife can now game off my 6500 in the container from her Mac while I play off my 6950XT. Hurray 5950X and 64 GB ram :)

With the setup you have achieved, are the 2 of you able to play at the same time?

Correct. We wanted to play BG3, the Steam Deck struggles with this, and she was able to to Remote Play on her Macintosh from this docker container. Note that, in order to get it working, I bound the docker container to its own network adapter so it had a unique IP address on the network. Steam struggles to do Remote Play otherwise. I've since moved on to a Windows VM with GPU passthough since she wanted to play some games that require Anti Cheat sigh

I will try to spin this back up this weekend, however, while my wife is at work and make the PR on the instructions. The real issue here is that the docker documentation is....not good for AMD GPUs. I blame this primarily on the influence of CUDA and the primarily NVIDIA focus by enterprise users. I'll reference folks to Linus' opinion on NVIDIA for further commentary :p

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:awaiting-triage type:documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants