-
-
Notifications
You must be signed in to change notification settings - Fork 116
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
Unclear if supports AMD Radeon GPU #145
Comments
Hi @Kreakdude, The Container runs on AMDGPU. I tried it on an integrated 5750GE APU (Host is Debian, Proxmox host) as well as a RX 6800 on Arch Linux Host (Sway WM). Both are working fine. I could check my config when I'm back at home if you wish. |
AMD and Intel GPUs don't need all the bullocks that NVIDIA GPUs do. NVIDIA has all the joy of proprietary Linux drivers and custom X display configuration. |
No, @cRaZy-bisCuiT I do not have a display attached. It's on a dedicated server I recently bought. My current issue is an error saying /dev/fuse/ doesn't exist which I checked and it doesn't. I'm not sure what it is or how to get it. I'm guessing I'll get the same problem with /dev/uinput/. I don't see anything about them in the setup so there's some more room for improvement on the documentation. Before I get farther though, I wanted to make sure I wasn't wasting my time trying to get a Radeon GPU to work with this docker image in this repo. Which it sounds like it's supposed to support AMD so I'm not wasting my time. |
I use the following ENVs with Docker Compose and that works pretty well for me:
You have to make sure fuse is working for you on the host. I would have to search my history to find those settings but a google search might help here as well. As stated by @Josh5 and me: You most likely need display connected to your server host HDMI port or a HDMI EDID emulator. I had the same problem. I did not work until I connected something to the HDMI port of the hosts GPU. |
I'm hesitating to delve into solving the missing /dev/fuse/ and /dev/uinputs/ missing paths issue if you think I'm going to run into problems regarding not having a display connected. I did have a display connected to the hardware before, will it need to stay connected? Will connecting one solve the missing paths issue? My hardware has proxmox installed first and from there I'm running an ubuntu container and that's the host for this docker image build. When I had the display hooked up the only graphical display looked like some console output telling me an local IP address and port to put into another computer's web browser. The ubuntu container is also a non-graphical installation. Knowing all this, do you still think hooking up a display will solve everything? |
You dont need a full display. Just a dummy plug for like $5. But you can try to set it up and use it without one first if you like. As for fuse, you will need to install libfuse on your host OS. That is something that should be added to the docs. |
@Josh5 the host is ubuntu but it's a container spun up by proxmox. So when I have plugged in the monitor it just shows a full screen terminal for proxmox, like it shows the local IP address and port to use to control proxmox from remote. I commented out the /dev/fuse/ and /dev/uinputs/ in the docker compose file and it's all working EXCEPT that the game I'm testing (Geometry Wars) is like 1 fps so I'm not sure what to do to troubleshoot that. |
@Kreakdude, you will want to leave those 2 without comments. Also, try a different game that uses directx or vulkan for testing. |
Assumption: You're using a CT container, instead of a KVM Virtual Machine.
These steps eliminate the possibility that steam-headless is at fault, making certain that the environment is indeed ready to run steam-headless. If everything works as intended, just passing through /dev/dri should be enough to enable hardware access for the docker container. I personally have a Radeon 6900XT running on pass-through to a Virtual machine (not a container), and it works fine - but it DOES require a dummy plug to work. I also have a nVidia Quadro P2000 in the same machine, and they both work side by side at the same time without issue, on separate VM's, with separate installs of steam-headless. I have never attempted to do hardware pass-through to a CT container, but after a little tweaking, it's perfectly fine inside a KVM Virtual Machine on Proxmox. |
Would you be willing to write up a markdown doc guide with some screenshots on how to setup for proxmox? |
You don't necessarily need a dummy plug, try to put |
This is awesome. I dont jave an amd gpu, so I cannot test it myself. Im sure this will be really helpful for lors of people. |
I had a hard time getting my AMD GPU to work so I will share my config in case it might help any of you. Setting Though, unlike what others said before, you need to set
and modifying X11's config to enable the amdgpu driver. # /etc/X11/xorg.conf
Section "Device"
Identifier "AMD GPU"
Driver "amdgpu"
Option "DRI" "3"
Option "TearFree" "true"
Option "VirtualHeads" "1" # For virtual display
Option "SWcursor" "true" # For virtual mouse cursor
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "AMD GPU"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080" "1280x800" "1024x768" "1920x1080" "1600x900" "1440x900"
EndSubSection
EndSection Once you modified your X11 config, just restart it with # docker-compose.yml
volumes:
# The location of your home directory.
- /data/steam/home/:/home/default/:rw
# The location where all games should be installed.
# This path needs to be set as a library path in Steam after logging in.
# Otherwise, Steam will store games in the home directory above.
- /data/steam/games/:/mnt/games/:rw
# Set the X11 config
- /data/steam/xorg.conf:/templates/xorg/xorg.dummy.conf:ro Hope it helps, good luck Edit: I ended up making a fork specialized for amd gpus. If you experience gpu resets and crashes like I did, this might be a solution |
Description
The readme under features says NVIDIA, AMD and Intel gpus are supported, but in the releases it just says Nvidia. Also I'm trying to use the docker compose and there's no instructions on how to configure it so it uses AMD. It seems to only support NVIDIA because of all the NVIDIA named vars like device_ids: ["${NVIDIA_VISIBLE_DEVICES}"]. So how would I change the docker compose for my Radeon GPU?
The text was updated successfully, but these errors were encountered: