Hardware Transcoding issues - ApolloLake & GeminiLake CPUs

We can’t keep it as it was in 6999 because the intel media driver itself got updated.

This is why I think she can fix it. She can compare Before -vs- After and look why i965 broke.

Given she got the working i965 driver to us, I think she’s already headed in a direction but I will ask her.

( This is where having as many clean , 1 test case per set logs, using a known/controlled source file, is of incredible help )

I would like to ask , so I’m perfectly clear –

  1. Using the i965 driver I provided, without calling it out in Preferences.xml, Works or fails ?

  2. Using the i965 driver I provided, expressly calling it out in Preferences.xml, works ? (this should be the resounding YES)

Synology isn’t involved here in any way.
Their drivers are for their Video Station / Audio Station products.

PMS provides all its own drivers completely independent of the host OS.

Using the i965 driver I provided, without calling it out in Preferences.xml, Works or fails ?
Works for me

Using the i965 driver I provided, expressly calling it out in Preferences.xml, works ?
Haven’t tried this yet, I haven’t put it back in the Preferences file today since you asked to remove it

Got it - thanks for explaining the situation a bit more. So, if I want to test out the i965 driver you provided, do I test it with 7002 or with 6999?

Test with 7100 (public) or 7089 (beta) – yes, they’re out of sequence.

Per the engineer,

  1. We need to quiesce all other activity (kick everyone off :smiling_imp: )
  2. VERBOSE LOGGING ON. (she wants this)
  3. Test without the i965 driver in place
  4. Download logs
  5. Stop
  6. Place the file (but not modify Preferences.xml)
  7. Start
  8. Play 20 seconds again.
  9. Download the logs.
  10. Stop
  11. Modify Preferences.xml
  12. Start
  13. Play 20 seconds
  14. Download logs.
  15. Turn Verbose OFF
  16. Customize Preferences as you need until this is fixed.

Attach all 3 sets of logs. PLEASE clearly mark which is which.

Here you go. Hopefully the file names are self explanatory.

On my installation, there’s a link to the Intel driver in the Cache/va-dri-linux-x86_64 folder in all 4 tests:
iHD_drv_video.so -> '/var/packages/PlexMediaServer/shares/PlexMediaServer/AppData/Plex Media Server/Drivers/imd-74-linux-x86_64/dri/iHD_drv_video.so'

Another observation is that my Synology didn’t have sufficient processing power to provide smooth transcoded playback under any of the four scenarios. Hardware transcoded was indicated in the dashboard for all except the bare version 7100 install (without the driver or xml modification).

Plex Media Server Logs_DS418play 1.32.2.7100 i965 driver and Prefs_xml.zip (2.2 MB)
Plex Media Server Logs_DS418play 1.32.2.7100 i965 driver.zip (3.0 MB)
Plex Media Server Logs_DS418play 1.32.2.7100.zip (3.7 MB)
Plex Media Server Logs_DS418play 1.32.1.6999.zip (4.3 MB)

@tsanga

The CPU in your NAS is the J3355 CPU. It’s a dual core.
It can’t get the job done on this test file – but that’s OK here.

I do see the hardware being found.

May 30, 2023 21:32:51.108 [140362792319800] VERBOSE - [Req#29d/Transcode/6DF5D736-C513-43A1-A6E5-DC706B2BCFC8] [FFMPEG] - VAAPI driver: Intel i965 driver for Intel(R) Broxton - 2.4.1.
May 30, 2023 21:32:51.108 [140362792319800] VERBOSE - [Req#29d/Transcode/6DF5D736-C513-43A1-A6E5-DC706B2BCFC8] [FFMPEG] - Driver not found in known nonstandard list, using standard behaviour.
May 30, 2023 21:32:51.108 [140362792319800] DEBUG - [Req#29d/Transcode/6DF5D736-C513-43A1-A6E5-DC706B2BCFC8] [FFMPEG] - Created surface 0x4000000.
May 30, 2023 21:32:51.108 [140362792319800] DEBUG - [Req#29d/Transcode/6DF5D736-C513-43A1-A6E5-DC706B2BCFC8] [FFMPEG] - Direct mapping possible.
May 30, 2023 21:32:51.108 [140362792319800] INFO - [Req#29d/Transcode/6DF5D736-C513-43A1-A6E5-DC706B2BCFC8] Preparing driver imd for GPU HD Graphics 500
May 30, 2023 21:32:51.108 [140362792319800] DEBUG - [Req#29d/Transcode/6DF5D736-C513-43A1-A6E5-DC706B2BCFC8/DriverDL/imd] Skipping download; already exists
May 30, 2023 21:32:51.109 [140362792319800] DEBUG - [Req#29d/Transcode/6DF5D736-C513-43A1-A6E5-DC706B2BCFC8] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi

Thank you for this.

It confirms what the engineer requested.

Hello,

I can confirm this problem on DS1019+
INTEL Celeron J3455 1.5 GHz
Plex Version 1.32.3.7089

@ampersandTV I just discovered this solution with the I965 driver. do you think i can apply this fix to my nas synology?

ALL:

Working with the Engineer, she found the root cause of the issue.

Here is her Engineer’s build which should fix all ApolloLake CPUs (J3x55).

The build version and number are non-standard so be aware of it when you next upgrade. I’ll assist when we get to that point.

PLEASE try this :

  1. Without adding the driver manually
  2. Without modifying Preferences.xml
  3. Lastly, ONLY modify Preferences.xml if needed

Please report which of the above works so we can get these changes into a formal PMS build ASAP

Thanks.

2 Likes

@ChuckPa

The 1st seems to work. I just upgraded from 6999 to the new build no restart or any change.

System: DSM6, DS1019+, J3445:

Report: I tried force a 1080p H265 encoded at 5Mbps transcode in an iOS Plex app, in H264 at 15Mbps, started playing fast as usual, show HW in info display, there is no break during play, CPU in NAS is about 30%, Transcoder process in Plex, about 20%. Lowering from 15Mbps to 8Mbps the H264 transcoded rate, doesn’t change much, 1 second to start play, CPU usage looks the same.

I tried as well the LG video, transcoding it to H264 1080p 8Mbps buffers few ms each 5-10s, expected for 4k, Plex CPU stayed constant to about 20% same as the system slightly more, HW in dashboard…

Looks ok to me, good job and thank you to all for the fast resolution!

DS918+/DSM7 running 1.32.5.7145.
Plex Web 4.107.2.32025-553be01 (app.plex.tv)

Driver not manually added and no Preferences.xml mods.

LG test file plays with hardware transcoding and tonemapping. However, playback takes a long time to start (~20 sec) and pauses frequently. Tautulli shows transcode speed of 0.3.

Yesterday, using 1.32.2.7100 + driver file the transcoding was faster. I do not remember the speed, but playback definitely started faster and there was less buffering.

Plex Media Server Logs_2023-05-31_13-14-11-DS918±7145.zip (97.3 KB)

What about the J4125 CPU that I have?

@CT9AJ

Please try this Engineer’s build.

While it claims to focus on ApolloLake, it might also pick up GeminiLake.
Also, Please use this test file. Seems she wants to see if plain H.264 works first.

NOTE: Formal release of the J4xxx CPU HW transcoding fix will be in the official PMS 1.32.4 release.

Confirmed that hardware acceleration works in build 1.32.5.7145 using the first method.

Logs attached after playing first the jellyfish then the LG sample files.
Plex Media Server Logs_DS418play 1.32.5.7145.zip (3.3 MB)

Is there a thread tracking this issue for non-Synology DS installs? I’m having the same issue in Docker container running on unRaid (v6.11.5) with PMS v132.2.7100. The server is running an Intel Xeon E3-1246v3.

@piratezombiebazooka

  1. Your CPU (the E3 Xeon) will favor the i965 driver versus the new Intel Media Driver.

  2. While this Engineer’s build targets the ApolloLake NAS systems (i965) it might also address your CPU

  3. The ‘big’ fix for most of this is in the upcoming PMS 1.32.4 release

I’m trying to get you working until then.

In a worst-case scenario, you use build 6199
You’re familiar with using dpkg -i inside the docker container ?

1 Like

I’m not familiar with manually using dpkg in containers. I mostly use templates honestly. For now, I’ve rolled back to v1.31.3.6868 and that’s working. I might try going up to .6999 if the lsio repo has it, but otherwise will wait until 1.32.4 is out. Thanks!

That’s close enough :slight_smile:

Where can I find this file?

I have ds920+ and am having issues. I would like to rollback.

I see 1.32.4.7164 is live in the Beta update channel now. Haven’t had an opportunity to try yet but I will install later.