January 1, 20251 yr Just upgraded my P400 card to an Intel A310 and it was relatively easy to pick which GPU went where when it was an iGPU and an nvidia GPU, but now that they're both intel I'm not exactly sure how to choose which GPU goes to which container. Also upgraded to 7.0.0 rc.2 to get support for Arc cards. So a couple of questions: 1. How do I assign either GPU to specific containers, steam headless keeps trying to use the integrated GPU, which is less than ideal **edit** simply assigning /dev/dri to plex allows it to see both GPUs and select a single GPU or auto select either, and I confirmed either GPU works, so this may be a steam headless issue/needed feature 2. How do I prevent the unraid gui from displaying on the A310 dedicated GPU Primary uses are: Plex Steam Headless OBS local unraid GUI (not super attached to this, if not having the local gui makes things easier I don't mind losing it) This was what I did to keep the GUI from displaying on the P400, which obviously doesn't work with the A310. Edited January 2, 20251 yr by epilot5280
January 3, 20251 yr Community Expert as explained in the steam headless docker post On 1/1/2025 at 10:57 PM, epilot5280 said: Is there any way to select which GPU this container uses? It keeps defaulting to the integrated iGPU which I want to keep active for plex transcoding, and can’t find a way to select the Arc A310 GPU. Upgraded to 7.0.0 rc2 to get Arc support, and I have confirmed the card does work with plex if I assign it in plex, so it’s not that. this is based on how you pass it in the docker template. see the github: https://github.com/Steam-Headless/docker-steam-headless ls /dev/dri you should see card0 or simalr input that the Gcard that the docker should see to use it for gaming... example: docker run -d \ --name=steam-headless \ --device /dev/dri:/dev/dri \ -e DISPLAY=:0 \ -e GALLIUM_HUD=simple \ -e SDL_VIDEODRIVER=x11 \ -e LIBVA_DRIVER_NAME=iHD \ -e ENABLE_GPU=true \ -v /path/to/steam:/home/steam \ -v /path/to/downloads:/downloads \ -p 8080:8080 \ joshuaboniface/steam-headless:latest Key Environment Variables: --device /dev/dri:/dev/dri: Maps the Intel GPU for hardware acceleration. -e DISPLAY=:0: Sets the display for Steam. -e LIBVA_DRIVER_NAME=iHD: Specifies the Intel VAAPI driver for Arc GPUs (important for hardware decoding/encoding). -e ENABLE_GPU=true: Signals the container to use GPU features. -e GALLIUM_HUD=simple: Optional; displays GPU stats for debugging. Other options... Explanation of Flags: --device /dev/dri:/dev/dri: Maps the Intel GPU device directory inside the container. --gpus all: Enables GPU support (useful for Nvidia GPUs; for Intel, it ensures compatibility). this can go further... --device /dev/dri/card0:/dev/dri/card0 Assuming card0 is the arc gpu... Edited January 3, 20251 yr by bmartino1 aditional data
January 3, 20251 yr Community Expert as you need to tell bios to boot to either pcie or onboard GPU. as your case is IPGU first then pcie arc GPU... you may need to add additional syslinux grub settings... Does you machine have onboard graphics? CHECK BIOS FIRST! and have unraid remove the Frame buffers at boot.... (more a NVIDIA thing for vfio / pass through...) #GPU Pass Through Remove Frame Buffers: video=vesafb:off,efifb:off,simplefb:off,astdrmfb initcall_blacklist=sysfb_init Go to Main > Flash > syslinux Warning. this may remove unraids ability to dmesg display out. Making debug at local console harder as there will be no screen... to undo at grub boot menu, hit edit and remove the video / intcall back line at the grub boot menu at unraids boot with a monitor... Example Edited January 3, 20251 yr by bmartino1 data - typo
January 3, 20251 yr Community Expert System Breakdown: post > bios options grub syslinx options OS commands... 3 levels to tell and set the higher the better... WARNING DO AT YOUR OWN RISK! This can break systems... Recover depends on how you send the command... on the flash driver in the config folder is where modprobe files are delete it to undo items set under system drivers... Otherwise, you may need to blacklist the i915 driver set grub syslinux option: modprobe.blacklist=i915 --Unraid now has a modprobe location: Tools > System Drivers With them blacklisted at boot you will need to have a user script to start and look for the drivers for the dockers... re add them by calling: modprobe i915 lsmod | grep i915 in which case you can use a user script... to call... ################# Did something simlar with ubuntu 10... old notes... (Theses "would work" / "may still work" on debian.. not sure on slakware/unraid....) Here are some live Steps to Direct Display to the iGPU: Verify iGPU Device Availability: ls /dev/dri lspci -nn | grep -i vga -Look for entries like card0, card1, and renderD128. Identify which card corresponds to your iGPU and Arc GPU by checking: Force Console Output to iGPU echo 0 > /sys/class/vtconsole/vtcon1/bind echo 1 > /sys/class/vtconsole/vtcon0/bind Replace vtcon0 and vtcon1 with the appropriate virtual terminals for the iGPU and Arc GPU. You can identify these from: cat /sys/class/vtconsole/vtcon*/name ?maybe since you still want the card for dockers... not sure if you should... Disable Framebuffer for Arc GPU echo OFF > /sys/kernel/debug/dri/1/command --Replace 1 with the corresponding number for the Arc GPU, determined from /sys/kernel/debug/dri. Set Primary GPU: If you need to set the iGPU as the primary GPU for all operations, you may need to adjust the kernel mode settings: echo efi-framebuffer.0 > /sys/devices/platform/efi-framebuffer.0/driver/unbind Restart Display Services: Restart the virtual terminal to ensure it’s using the iGPU: systemctl restart getty@tty1 not sure as unriad isn't systemd it uses /etc/rc. stuff for its services... But this is in escense what is automated with the kerenal options when syslinx boot config is set to do xyz... Edited January 3, 20251 yr by bmartino1 data - typo
January 3, 20251 yr Community Expert IGPU can be a bit harder to tell so command are reversed of what you asked this uses the arc gpu over the IGPU... there's no one universal fit all answer due to different hardware and settings... what your asking is usually a bios setting to select and use the IGPU at post... Since the igpu and arc gpu both use the same kernel driver module... you will need to play around with it... its more learning/relearning the video kernel parameter... (things that worked in kernel 5 don't in 6 here....) *These are all grub / syslinux options... applied at boot confirmed in system log... Add the video= parameter to explicitly bind the Intel Arc GPU for the GUI. Example video=arcgpu:1024x768@60 Replace arcgpu with the appropriate framebuffer driver name for the Intel Arc GPU. lspci -nn | grep -i vga lspci -k | grep -A 3 -i vga lsmod | grep fb dmesg | grep -i framebuffer ... Usually the intel IGPU: iGPU: The driver is typically i915, and the framebuffer may be efifb or simplefb depending on your configuration. Intel Arc GPU: It also uses the i915 driver, but the framebuffer setup might differ if you're using EFI or a different mode. video=<connector>:<resolution>@<refresh>[,<options>] <connector>: Specifies the display output (e.g., HDMI, VGA, etc.). <resolution>: Specifies the resolution (e.g., 1920x1080). <refresh>: Specifies the refresh rate (e.g., 60 for 60Hz). <options>: Additional options like nomodeset or disabling framebuffers. (As documentation is weird and all over the place, and you get into some advance kernel stuff that may or may not work with unraid Slackware linux.....) Other Kernel 6.x video Parameter for Intel GPUs: Intel GPUs (including iGPU and Arc) typically use the i915 driver. You can configure the framebuffer for each GPU explicitly: Prevent Initialization of Framebuffer for iGPU: To disable the iGPU framebuffer: video=eDP-1:off -Replace eDP-1 with the correct output name for your iGPU (use xrandr or kernel logs to confirm). Set Framebuffer for Intel Arc GPU video=HDMI-A-1:1920x1080@60 Replace HDMI-A-1 with the correct output name for the Arc GPU. Example Combined Configuration: If you want to disable the iGPU and set a specific configuration for the Intel Arc GPU: video=eDP-1:off,HDMI-A-1:1920x1080@60 How to Find Connector Names: dmesg | grep -i drm xrandr --listmonitors ls /sys/class/drm/ Verify After Reboot: Attach a monitor to your Intel Arc GPU. cat /sys/class/drm/card0-HDMI-A-1/modes Sorry that's all the info I have over the year... intel for intel arc decided to reuse i915 instead or make a new kernel module... Edited January 3, 20251 yr by bmartino1 data - typo
January 3, 20251 yr Community Expert modprbe config options but i'm not aware of any for gcard active display... There are also some other i915 modprobe config options. Posting for relevance... not sure if they can help here or not... The /etc/modprobe.d/ in unraid this would be in the modprobe.d config file... Tools > system drivers For example: options i915 enable_guc=3 enable_fbc=1 enable_psr=1 disable_power_well=0 Breakdown... ############### Enable/Disable Features enable_guc: Controls GuC (Graphics microcontroller) firmware loading. 0: Disabled 1: Enable submission only 2: Enable HuC loading 3: Enable both GuC submission and HuC loading in the modprobe config this line would be there: options i915 enable_guc=3 ############# Force Probe for Intel Arc GPUs Intel Arc GPUs might require the force_probe parameter to enable experimental support. Specify the PCI IDs of the GPUs manually. options i915 force_probe=<PCI_ID> ############ Enable High Dynamic Range (HDR) enable_fbc: Enables frame buffer compression. 0: Disabled 1: Enabled enable_psr: Enables Panel Self Refresh for energy savings. 0: Disabled 1: Enabled options i915 enable_fbc=1 enable_psr=1 ############# Performance Optimizations disable_power_well: Controls power well usage. 0: Use power wells aggressively (may improve performance). 1: Disable power wells. options i915 disable_power_well=0 ################ Debugging drm.debug: Enables DRM debugging output in the kernel logs. options i915 drm.debug=0x1e
January 13, 20251 yr Community Expert also for intel arc review post: as this may still be a kernel lts driver issue atm... waiting more on zfs to support kernel 6.12 lts which has the driver support...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.