# HardwareDevicePath="/dev/dri/renderD129" in Preferences.xml not working with iGPU

**URL:** <https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657>\
**Category:** Plex Media Server\
**Tags:** server-linux\
**Created:** [July 22, 2022, 11:18am UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657 "2022-07-22T11:18:45Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChrisD](https://avatars.discourse-cdn.com/v4/letter/c/eada6e/32.png) [@ChrisD](https://forums.plex.tv/u/ChrisD)\
**Post date:** [July 22, 2022, 11:18am UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657/1 "2022-07-22T11:18:45Z")

</div>

Server Version#: 1.27.2.5929  
Player Version#: web

Hi, setup as follows:  
Debian 11 hosted on ESXi 7.  
iGPU passed through to VM.

```auto
ls -l /dev/dri/
total 0
drwxr-xr-x 2 root root 120 Jul 22 10:04 by-path
crw-rw---- 1 root render 226, 0 Jul 22 10:04 card0
crw-rw---- 1 root render 226, 1 Jul 22 10:04 card1
crw-rw---- 1 root render 226, 128 Jul 22 10:04 renderD128
crw-rw---- 1 root render 226, 129 Jul 22 10:04 renderD129

```

```auto
groups plex
plex : plex video render

```

```auto
lspci | grep -I vga
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
13:00.0 VGA compatible controller: Intel Corporation Device 9bc6 (rev 05)

```

```auto
lspci -v -s 13:00.0
13:00.0 VGA compatible controller: Intel Corporation Device 9bc6 (rev 05) (prog-if 00 [VGA controller])
        DeviceName: pciPassthru0
        Subsystem: Dell Device 09aa
        Physical Slot: 224
        Flags: bus master, fast devsel, latency 64, IRQ 62
        Memory at fc000000 (64-bit, non-prefetchable) [size=16M]
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at 6000 [size=64]
        Capabilities: [40] Vendor Specific Information: Len=0c <?>
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [d0] Power Management version 2
        Capabilities: [100] Process Address Space ID (PASID)
        Capabilities: [200] Address Translation Service (ATS)
        Capabilities: [300] Page Request Interface (PRI)
        Kernel driver in use: i915
        Kernel modules: i915`

```

Also installed: firmware-misc-nonfree, i965-va-driver.  
The same setup works perfectly on Ubuntu 20 LTS.

I’ve tried both `HardwareDevicePath="/dev/dri/renderD129"` and `VaapiDriver="i965"` in Preferences.xml but I still cannot get it to transcode in HW.

```auto
tail -f Plex\ Media\ Server.log | grep -I 129
Jul 22, 2022 12:17:25.811 [0x7f3233f65b38] ERROR - [Req#1a9/Transcode] [FFMPEG] - No VA display found for device /dev/dri/renderD129.

```

```auto
 tail -f /home/chris/.config/Plex\ Media\ Server/Logs/Plex\ Media\ Server.log | grep -I hardware
Jul 22, 2022 12:17:36.302 [0x7f3233f65b38] DEBUG - [Req#20e/Transcode] Codecs: hardware transcoding: testing API nvenc
Jul 22, 2022 12:17:36.302 [0x7f3233f65b38] DEBUG - [Req#20e/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Unknown error occurred
Jul 22, 2022 12:17:36.302 [0x7f3233f65b38] DEBUG - [Req#20e/Transcode] Could not create hardware context for h264_nvenc

```

Edit:  
If I change perms on /dev/dri it works fine:

```auto
sudo chmod a+rw /dev/dri/renderD128

```

I know this is temporary.

Any help would be appreciated.

---

<div class="post-metadata">

**Author:** ![hersenbeuker](https://avatars.discourse-cdn.com/v4/letter/h/db5fbb/32.png) [@hersenbeuker](https://forums.plex.tv/u/hersenbeuker)\
**Post date:** [July 22, 2022, 11:32am UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657/2 "2022-07-22T11:32:11Z")

</div>

You might need to add the plex user to the video group

---

<div class="post-metadata">

**Author:** ![ChrisD](https://avatars.discourse-cdn.com/v4/letter/c/eada6e/32.png) [@ChrisD](https://forums.plex.tv/u/ChrisD)\
**Post date:** [July 22, 2022, 11:36am UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657/3 "2022-07-22T11:36:01Z")

</div>

I think it’s because I actually have Plex running under user chris rather than plex, I seem to have solved it now.

---

<div class="post-metadata">

**Author:** ![ChuckPa](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/chuckpa/32/79710_2.png) [@ChuckPa](https://forums.plex.tv/u/ChuckPa)\
**Post date:** [July 22, 2022, 6:30pm UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657/4 "2022-07-22T18:30:44Z")

</div>

@ChrisD

I have a question.

When did you change the username PMS runs as?

I ask because I check if the PlexUser has access to the hardware (on machines with hardware)

```auto
    # If PlexUser not member of VideoGroup, flag it
    if ["$(getent group "$VideoGroup" | grep "$PlexUser" | wc -l)" -eq 0]; then

      # PlexUser not a member of the Video group
      NeedVideo=1
    fi
  fi
fi # X86_64

```

---

<div class="post-metadata">

**Author:** ![ChrisD](https://avatars.discourse-cdn.com/v4/letter/c/eada6e/32.png) [@ChrisD](https://forums.plex.tv/u/ChrisD)\
**Post date:** [July 22, 2022, 9:04pm UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657/5 "2022-07-22T21:04:30Z")

</div>

Hi, I didn’t change the user, but I’d assumed it was running under user Plex and not my user account.

---

<div class="post-metadata">

**Author:** ![ChuckPa](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/chuckpa/32/79710_2.png) [@ChuckPa](https://forums.plex.tv/u/ChuckPa)\
**Post date:** [July 22, 2022, 9:34pm UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657/6 "2022-07-22T21:34:48Z")

</div>

I asked because, I add `$PlexGroup` to the group which owns `/dev/dri` during the postinstall phase of package installation (“Now installing based on:” part)

If the the user Plex runs as was changed after installation, but before the next update is installed, it makes sense the username doesn’t have access to /dev/dri.

However, silently, at next package update, I’ll update the groups if needed.

The logic is:

1. Default user: `plex`, default group: `plex`
2. Inport and user service overrides (specificially `Group=` here)
3. Check if $PlexGroup is a member of the group which owns /dev/dri
4. If not, set the flag in /tmp/plexinstaller.log (steps to complete in phase 2 - postinstsall)
5. Next, during phase 2 (postinstall),
6. if the flag is set, add the `$PlexGroup` to `$VideoGroup`

This logic has not failed since the initial release of this packaging (some 2+ years ago) but, if there’s a problem, I want to fix it asap

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [October 20, 2022, 9:35pm UTC](https://forums.plex.tv/t/hardwaredevicepath-dev-dri-renderd129-in-preferences-xml-not-working-with-igpu/801657/7 "2022-10-20T21:35:24Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
