(SOLVED) iGPU transcoding: i915 driver present but /dev/dri not available


Recommended Posts

I'm on z370 with a i7 8700 and am trying to get intel quicksync hardware acceleration working within plex. I have followed both: https://lime-technology.com/forums/topic/40463-support-linuxserverio-plex-media-server/?do=findComment&comment=544290 and https://lime-technology.com/forums/topic/40463-support-linuxserverio-plex-media-server/?do=findComment&comment=543984 but I cannot get it to work since /dev/dri is not available on my unRAID server.

I have made sure I have the iGPU enabled and set explicitly in my bios.

 

root@unRAID:/dev# modprobe i915
root@unRAID:/dev# lsmod | grep i915
i915                 1118208  0
iosf_mbi               16384  1 i915
i2c_algo_bit           16384  1 i915
drm_kms_helper        122880  1 i915
drm                   294912  2 i915,drm_kms_helper
intel_gtt              20480  1 i915
i2c_core               36864  5 i2c_algo_bit,i2c_i801,i915,drm_kms_helper,drm
video                  36864  1 i915
backlight              16384  2 video,i915
button                 16384  1 i915
root@unRAID:/dev# modprobe i915
root@unRAID:/dev# lsmod | grep i915
i915                 1118208  0
iosf_mbi               16384  1 i915
i2c_algo_bit           16384  1 i915
drm_kms_helper        122880  1 i915
drm                   294912  2 i915,drm_kms_helper
intel_gtt              20480  1 i915
i2c_core               36864  5 i2c_algo_bit,i2c_i801,i915,drm_kms_helper,drm
video                  36864  1 i915
backlight              16384  2 video,i915
button                 16384  1 i915
root@unRAID:/dev# chmod -R 777 /dev/dri
chmod: cannot access '/dev/dri': No such file or directory

 

I'm not sure if this is at all related, but I noticed some kind of blacklist in /etc/modprobe.d, but I am not familiar with how this works.

root@unRAID:/etc/modprobe.d# ls /etc/modprobe.d/
README  blacklist-i915.conf  iommu_unsafe_interrupts.conf  kvm.conf  scsi-sata-controllers.conf

Any ideas? I have attached my diagnostics. Wondering if this is caused by my BIOS version, coffee lake, or z370.

unraid-diagnostics-20180103-0123.zip

Edited by ack389
Solved
Link to comment
  • 3 weeks later...
  • 3 weeks later...
  • 3 weeks later...
  • 1 month later...

 

On 1/8/2018 at 8:33 PM, ack389 said:

I was able to get this working by adding the the kernel parameter i915.alpha_support=1. You can get this to work as well by editing syslinux.cfg as explained here: https://lime-technology.com/wiki/Boot_Codes

Thanks for the help everyone, great community here!

 

 

Can you post your syslinux.cfg file as an example? I'm looking through the wiki, but I'm not entirely sure where to add it...

 

Should it look like this?

 

label unRAID OS
  menu default
  kernel /bzimage  i915.alpha_support=1
  append initrd=/bzroot

 

I really want to activate HW transcoding for Plex, but I seem to be stuck because it's not seeing the iGPU, for reference, I have ASRock z370 Gaming K6 with i7-8700

 

Thanks for the help in advance!

Link to comment
30 minutes ago, randomninjaatk said:

 

 

 

Can you post your syslinux.cfg file as an example? I'm looking through the wiki, but I'm not entirely sure where to add it...

 

Should it look like this?

 

label unRAID OS
  menu default
  kernel /bzimage  i915.alpha_support=1
  append initrd=/bzroot

 

I really want to activate HW transcoding for Plex, but I seem to be stuck because it's not seeing the iGPU, for reference, I have ASRock z370 Gaming K6 with i7-8700

 

Thanks for the help in advance!

 

NVM, I figured it out :D

 

For reference, my file looks like this:

 

default menu.c32
menu title Lime Technology, Inc.
prompt 0
timeout 50
label unRAID OS
  menu default
  kernel /bzimage
  append initrd=/bzroot i915.alpha_support=1
label unRAID OS GUI Mode
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui
label unRAID OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label unRAID OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest

 

 

  • Like 3
Link to comment
  • 1 month later...
  • 5 months later...

Hey randomninjaatk,

 

I have darn near the same setup.  Can you confirm which links I need to do, or is all I need to do is add this to my syslinux.cfg?

 

label unRAID OS
  menu default
  kernel /bzimage
  append initrd=/bzroot i915.alpha_support=1

 

I'll make sure my bios is updated, but wasn't sure on the other links you had were those needed or were they just tries to get yours to work?

Link to comment
24 minutes ago, Teixeira said:

Hello everyone. I Just bought a 9600k and unfortunaly all the settings mentioned above doesn't work for me.

 

"no such directory" on /dev/dri. Is it the CPU that isn't supported yet? It's the same iGPU (UHD630) so i don't see why it shouldn't  work :/

 

If you have made all the appropriate entries in Plex docker Extra Parameters, the go file, etc. and you have no /dev/dri directory, my guess is that you have not specified the iGPU as your primary graphics adapter in the BIOS. 

 

Even if you have no other GPU, you cannot just have the BIOS primary graphics adapter set to AUTO.  That does not work.  You must specify the iGPU (it is the 'Onboard' selection in my BIOS) as the Primary Graphics Adapter.

  • Thanks 1
Link to comment
13 hours ago, Hoopster said:

 

If you have made all the appropriate entries in Plex docker Extra Parameters, the go file, etc. and you have no /dev/dri directory, my guess is that you have not specified the iGPU as your primary graphics adapter in the BIOS. 

 

Even if you have no other GPU, you cannot just have the BIOS primary graphics adapter set to AUTO.  That does not work.  You must specify the iGPU (it is the 'Onboard' selection in my BIOS) as the Primary Graphics Adapter.

Thanks for the quick response.  I'm 99% sure i did that but i'll have to check again. Will report back.

Link to comment
On 12/4/2018 at 12:01 AM, Hoopster said:

 

If you have made all the appropriate entries in Plex docker Extra Parameters, the go file, etc. and you have no /dev/dri directory, my guess is that you have not specified the iGPU as your primary graphics adapter in the BIOS. 

 

Even if you have no other GPU, you cannot just have the BIOS primary graphics adapter set to AUTO.  That does not work.  You must specify the iGPU (it is the 'Onboard' selection in my BIOS) as the Primary Graphics Adapter.

 

On 12/4/2018 at 1:50 PM, Teixeira said:

Thanks for the quick response.  I'm 99% sure i did that but i'll have to check again. Will report back.

So i checked again and the iGPU was selected as primary graphics. Still no /dev/dri :(

 

My diagnostics are attached. Do you think i can get this working on this chip? 

steelmountain-diagnostics-20181205-2001.zip

Link to comment

I just swapped my 3570k with a 9600k and an asus z390 board. Set explicitly to enable onboard video, and have a dummy HDMI plug (I even tried with a monitor attached), and I'm getting the same problem as Teixeira.  I set it up no problem on a friend's 8600k/z370, but it's definitely not working for me either.  I have the required lines in my go file, and even tried the "i915.alpha_support=1" in syslinux.cfg (though I thought I read somewhere that's no longer required).  Output of grep | lsmod i915 is as follows:

 

i915                 1245184  0
i2c_algo_bit           16384  1 i915
iosf_mbi               16384  1 i915
drm_kms_helper        126976  1 i915
drm                   319488  2 drm_kms_helper,i915
intel_gtt              20480  1 i915
i2c_core               40960  5 drm_kms_helper,i2c_algo_bit,i2c_i801,i915,drm
video                  40960  1 i915
backlight              16384  2 video,i915

 

 

Any thoughts?

 

Additionally, I just noticed on Intel's site that while both the 8600k and 9600k use the 630 graphics, the device id for is different.  

 

https://ark.intel.com/products/126685/Intel-Core-i5-8600K-Processor-9M-Cache-up-to-4-30-GHz- lists the 8600k with a device id of 0x3E92

and

https://ark.intel.com/products/134896/Intel-Core-i5-9600K-Processor-9M-Cache-up-to-4-60-GHz- lists the 9600k with 0x3E98

 

Could it be something as simple as unRAID needing to add that 0x3E98 somewhere?

Edited by gabestover
added info
  • Like 1
Link to comment

@gabestover

 

Your "Go" file should look like this (the one below is mine): 

#!/bin/bash
#Setup drivers for hardware transcoding in Plex
modprobe i915
chmod -R 777 /dev/dri

# Start the Management Utility
/usr/local/sbin/emhttp &

 

And your plex docker config should have this added under advance settings "Extra Parameters":
 

--device /dev/dri:/dev/dri

 

For reference, here is my system details:

 

sys-info.PNG.986b59d3e2f571b8c19edbd8928bba8e.PNG

 

 

Hope that helps some!

 

EDIT: Also, since Unraid 6.5+, you do not need to modify the boot file "/boot/syslinux/syslinux.cfg" that is mentioned above. This was only applicable in the older versions of Unraid that was using an older kernel that did not support  Coffeelake iGPU natively....

Edited by randomninjaatk
  • Like 3
Link to comment

@randomninjaatk

 

I had that all already, thanks.  I think it's got to have something to do with either the Z390 chipset, or more likely small changes to the 9600k.  As I had mentioned, I had this perfectly set up for a friend of mine on a z370 / 8600k with zero issues, so it's not a configuration issue, unless something needs to be specifically different for the 9th gen Intel processors and/or z390 chipset somehow.

Link to comment
On 12/3/2018 at 3:31 PM, Teixeira said:

Hello everyone. I Just bought a 9600k and unfortunaly all the settings mentioned above doesn't work for me.

Some reading on the Internet suggests that full support for i5/7/9 9x00 iGPUs in the i915 drivers will not come until the Linux 4.20 kernel.  That is scheduled to be included in unRAID 6.7.0

Edited by Hoopster
Link to comment
  • 2 weeks later...

I have a E3-1245 V6 from Intel. I don't see /dev/dri in unRAID. I'm using the onboard GPU with no monitor attached. Already made sure it was set to iGPU in the BIOS as primary. My motherboard is the E3C236D2I from AsRock. I'm running unRAID v6.6.5.

Without /dev/dri there is no point in setting the extra parameter in the Linuxserver.io's Plex docker as far as I know so I didn't do that part (yet). Any ideas?

Link to comment
1 hour ago, dnLL said:

I have a E3-1245 V6 from Intel. I don't see /dev/dri in unRAID. I'm using the onboard GPU with no monitor attached. Already made sure it was set to iGPU in the BIOS as primary. My motherboard is the E3C236D2I from AsRock. I'm running unRAID v6.6.5.

Without /dev/dri there is no point in setting the extra parameter in the Linuxserver.io's Plex docker as far as I know so I didn't do that part (yet). Any ideas?

 

In Chipset Configuration in your BIOS do you have IGFX enabled?  It must be enabled on your MB to do QSV video transcoding. 

Link to comment
2 hours ago, dnLL said:

I have a E3-1245 V6 from Intel. I don't see /dev/dri in unRAID. I'm using the onboard GPU with no monitor attached. Already made sure it was set to iGPU in the BIOS as primary. My motherboard is the E3C236D2I from AsRock. I'm running unRAID v6.6.5.

Without /dev/dri there is no point in setting the extra parameter in the Linuxserver.io's Plex docker as far as I know so I didn't do that part (yet). Any ideas?

Since that motherboard has an on board graphics chip, it may not have the ability to use or expose the CPU graphics. @Hoopster, is your sig current? If so, does your backup rig expose /dev/dri?

Link to comment
2 hours ago, jonathanm said:

Since that motherboard has an on board graphics chip, it may not have the ability to use or expose the CPU graphics. @Hoopster, is your sig current? If so, does your backup rig expose /dev/dri?

Yes, my signature is current and both my servers expose /dev/dri and are capable of hardware transcoding in Plex.

 

The backup server has IPMI and uses the AST2300 graphics chip on the motherboard for video, but, it also has a BIOS setting for enabling the Intel GPU for transcoding purposes. It supports both.  That's why I asked if @dnLL had enabled the IGFX option in his BIOS. 

 

I don't know if his ASRock board supports both AST and IGPU video, but, mine does.

Link to comment
24 minutes ago, Hoopster said:

Yes, my signature is current and both my servers expose /dev/dri and are capable of hardware transcoding in Plex.

 

The backup server has IPMI and uses the AST2300 graphics chip on the motherboard for video, but, it also has a BIOS setting for enabling the Intel GPU for transcoding purposes. It supports both.  That's why I asked if @dnLL had enabled the IGFX option in his BIOS. 

 

I don't know if his ASRock board supports both AST and IGPU video, but, mine does.

 

The board doesn't post when I put it onto onboard VGA rather than PCI Express as default.

 

image.png.2b834660bf07da731d2af06b5499d42c.png

 

I just updated to latest BIOS with any success. I can't enable the VGA or set the onboard as the default option over PCIE. I'm forced to clear the CMOS every time I try it. And if I put PCI-Express first with IGFX enabled, I just don't see /dev/dri.

 

Edited by dnLL
Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.