Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Choosing which containers access iGPU vs A310 dedicated GPU

Featured Replies

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 by epilot5280

  • 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 by bmartino1
aditional data

  • 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

image.thumb.png.e99e16f724d71258a826ef94dbacbb2c.png


 

Edited by bmartino1
data - typo

  • 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
image.thumb.png.ab1430014223861678d607736ddaa038.png

 

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 by bmartino1
data - typo

  • 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 by bmartino1
data - typo

  • 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
 

 

  • 2 weeks later...
  • 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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.