i915 w/ Plex causes Errror s1003 and will not play any video w/ h/w transcode enabled


Recommended Posts

I'm trying to enable hardware transcoding in Plex. Initially I had a hard time getting the i915 module to be detected by unRaid. Only the mobo ASMEDIA ast VGA module was detected. After trial and error I found that I was changing the wrong setting in the BIOS. I changed that and now the system sees the igpu.

  • Untitled.png.b6b0213fe875620d353a9627a16b2490.png

 

My Hardware:

  • supermicro MBD-X10SLH-F-O
  • xeon e3-1246 v3 haswell
  • unRaid upgraded to v6.10.3 during testing

 

things i've tried:

  • via BIOS, switched "VGA PRIORITY" to OFFBOARD
    • since reverted back to ONBOARD
  • installed INTEL_GPU_TOP plugin
    • I haven't tried blacklisting i915 as suggested in the plugin's support forum, since that seems to be in response to newer hybrid CPUs like Alderlake+. I might be mistaken though so let me know please if that applies to my Haswell Xeon also.
  • modprobe i915 command
  • manually created /boot/config/modprobe.d/i915.conf file
  • added device to Plex container
    • Picture1.png.9c0737ef8611a2f7aa60f29764dcf9c4.png
  • added extra parameters: --device=/dev/dri:/dev/dri
  • Ran : 
chmod -R 777 /dev/dri
  • Picture3.png.bc16392c50081968e8f7226b58413553.png

         -results after running CHMOD

 

 

Please let me know if any logs or commands would be helpful and I will post those ASAP. I have just exported fresh diagnostics.zip and attached.

 

It's probably something simple that I'm overlooking. I haven't messed with hardware configuration on my system in any great depth, or at all for a while really, so I'm quite lost as to what to try next. Most of the results I get searching are geared towards discreet cards or issues utilizing i915 with newer CPUs.

 

 

mootower-diagnostics-20220623-1915.zip

Edited by VelcroBP
Link to comment

I changed the parameters to: --device=/dev/dri  , and I'm even more confused after some more testing. Video files will now play with the transcode enabled in Plex, but it doesn't seem to actually transcode at all. Below is my playback settings along with the dashboard showing the corresponding stream:

Picture11.png.3b0c5cb07c71d70bac824a5f0c0919d6.png Picture12.png.74b0059421700449103aca1de5d14e08.png

Link to comment

I ran this command as recommended in a guide and before are the results

-v -s $(lspci | grep VGA | cut -d" " -f 1)lspci


04:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30) (prog-if 00 [VGA controller])
DeviceName: Onboard VGA
Subsystem: Super Micro Computer Inc ASPEED Graphics Family
Flags: bus master, medium devsel, latency 0, IRQ 11, IOMMU group 10
Memory at f6000000 (32-bit, non-prefetchable)
Memory at f7000000 (32-bit, non-prefetchable)
I/O ports at d000
Expansion ROM at 000c0000 [virtual] [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/4 Maskable- 64bit+
Kernel modules: ast


supposedly i should be seeing the Intel igu populating here, specifically "i915" as the KENNEL MODULE

Sent from my Pixel 5 using Tapatalk

Link to comment
On 6/23/2022 at 7:35 PM, JonathanM said:

Trying to get the iGPU to function on a board with IPMI has been problematic in the past, I seem to remember @Hoopster may have some experience.

@Hoopster Sorry for the ping but I'm hoping you might have some insight? I can post logs from unRaid or from Plex if needed (though I'm not sure how/if Plex logs need sanitized..?)

Link to comment
Posted (edited)
On 7/2/2022 at 7:08 PM, VelcroBP said:

@Hoopster Sorry for the ping but I'm hoping you might have some insight? I can post logs from unRaid or from Plex if needed (though I'm not sure how/if Plex logs need sanitized..?)

Sorry for the late reply.  I have been on vacation for two weeks with very limited Internet access.

 

I have an ASRock Rack motherboard which required a special BIOS from ASRock to enable the iGPU for transcoding when IPMI/Aspeed controller is present. 

 

This thread contains a discussion about a particular Supermicro board and what was needed to enable iGPU when using IPMI.  You may have to dig a little in that thread.  Perhaps it is similar with your Supermicro board.  Unfortunately, that is all I can tell you about the Supermicro world.

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

@VelcroBP

 

I have promising results!

 

The good news is that I'm now transcoding two simultaneous 1080p H264 files and one 4K H265, so at a minimum, the following conditions apply.  I'm going to change each of these of these rows over the coming days to determine exactly which change produced the (HW) transcoding results.

 

1) I moved to the Binhex-Plex container.  I was previously on the LSIO container because of the advertised HDR --> SDR tone mapping, but I wasn't able to transcode.  This may change.

  • I added the [--device=/dev/dri:/dev/dri] command to the Extra Parameters line and I also added a Device with the docker options to /dev/dri.  I will remove each of these one at a time to determine if I need one or the other, or both

2) my VGA jumper on the mobo is set to disabled.  I will probably re-enable this jumper first because it disables my ability to view anything, included the BIOS post and therefore my ability to log into the BIOS menu.

  • JPG1 jumper set to disabled, for now.

3) MOBO BIOS is 3.0 and I haven't upgraded any of the BIOS or BMC firmware

 

4) Plex settings

  • [General] --> [Automatically Adjust Quality] Off
    • Internet Streaming [Play Smaller Videos At Original Quality] On
    • Home Streaming [Use recommended settings] On
  • [Debug]
    • [Direct Play] On
    • [Direct Stream] On
    • [Use alternative streaming protocol for video playback] Off
  • [Transcoder] --> [Default Throttle Buffer] 30 secs
    • [Enable HDR Tone Mapping] On
    • [Disable Video Stream Transcoding] Off
    • [Use Hardware Acceleration] On
    • [Use Hardware-accelerated Video Encoding] On

4) My GPU Statistics plugin (Intel GPU-TOP also installed) now shows activity on the dashboard but my CPU also shows 25-50% activity.  Therefore, I cannot tell whether how much load sharing is occurring between the CPU and GPU.  Frankly, I don't care because I'm able to transcode three 4K streams...something I couldn't even dream of before.

  • When I run cd /dev/dri/ from terminal, I get back a Card0 and RenderD128, so my driver is active.  I did NOT modprobe i915 the drivers or anything related to blacklisting or forcing the drivers.  This is on UnRaid 6.10.3 and Plex 4.84.1 (also assumes you have Plex Pass).
     

@ me if you have follow-ups.  I'm subscribed.

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.