Buffering with plenty of bandwidth available

Interesting. I reloaded the container and it appears to have found the hardware this time.

May 29, 2024 16:31:02.631 [131183224675128] DEBUG - [GPU] Got device: CoffeeLake-S GT2 [UHD Graphics 630], intel@builtin, default true, best true, ID 8086:3e92:1849:3e92@0000:00:02.0, DevID [8086:3e92:1849:3e92], flags 0x38e7
May 29, 2024 16:31:02.631 [131183224675128] INFO - Preemptively preparing driver imd for GPU CoffeeLake-S GT2 [UHD Graphics 630]
May 29, 2024 16:31:02.631 [131183224675128] DEBUG - [DriverDL/imd] Skipping download; already exists
May 29, 2024 16:31:02.631 [131183224675128] INFO - Preemptively preparing driver icr for GPU CoffeeLake-S GT2 [UHD Graphics 630]
May 29, 2024 16:31:02.631 [131183224675128] DEBUG - [DriverDL/icr] Skipping download; already exists
May 29, 2024 16:31:02.650 [131183224675128] DEBUG - Grabber: Cleaning up orphaned grabs.

It may find it up at the top because we probe the PCI bus to prepare.
The real test is whether or not you show the hardware at FFMPEG

(search for TPU: in the logs)

You were correct.

May 29, 2024 22:27:56.658 [131183162260280] DEBUG - [Req#20190/Transcode/89a1f57c911d4332-com-plexapp-android] TPU: hardware transcoding: enabled, but no hardware decode accelerator found

Seeing things are kind of hit or miss on the hw transcoding. No changes to anything, yet…
image

May 30, 2024 12:07:46.767 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] Starting a transcode session 89a1f57c911d4332-com-plexapp-android at offset -1.0 (state=3)
May 30, 2024 12:07:46.768 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] TPU: hardware transcoding: using hardware decode accelerator vaapi
May 30, 2024 12:07:46.768 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] TPU: hardware transcoding: zero-copy support present
May 30, 2024 12:07:46.768 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] TPU: hardware transcoding: using zero-copy transcoding
May 30, 2024 12:07:46.768 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] [Universal] Using local file path instead of URL: /data/bignas4K/4kMovies/Spider-Man Across the Spider-Verse (2023) {tmdb-569094}/Spider-Man Across the Spider-Verse (2023) {tmdb-569094} - [2160p.x265.Dolby Vision.DTHDDA7.1].mkv
May 30, 2024 12:07:46.768 [131182954801976] INFO - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] Preparing driver icr for GPU CoffeeLake-S GT2 [UHD Graphics 630]
May 30, 2024 12:07:46.768 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android/DriverDL/icr] Skipping download; already exists
May 30, 2024 12:07:46.768 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (CoffeeLake-S GT2 [UHD Graphics 630])
May 30, 2024 12:07:46.769 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x41524742 -> bgra.
May 30, 2024 12:07:46.769 [131182954801976] DEBUG - [Req#8c126/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x42475241 -> argb.
May 30, 2024 12:07:48.199 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] Starting a transcode session 89a1f57c911d4332-com-plexapp-android at offset 6475.0 (state=3)
May 30, 2024 12:07:48.199 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] TPU: hardware transcoding: using hardware decode accelerator vaapi
May 30, 2024 12:07:48.199 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] TPU: hardware transcoding: zero-copy support present
May 30, 2024 12:07:48.199 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] TPU: hardware transcoding: using zero-copy transcoding
May 30, 2024 12:07:48.199 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [Universal] Using local file path instead of URL: /data/bignas4K/4kMovies/Spider-Man Across the Spider-Verse (2023) {tmdb-569094}/Spider-Man Across the Spider-Verse (2023) {tmdb-569094} - [2160p.x265.Dolby Vision.DTHDDA7.1].mkv
May 30, 2024 12:07:48.199 [131182956911416] INFO - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] Preparing driver icr for GPU CoffeeLake-S GT2 [UHD Graphics 630]
May 30, 2024 12:07:48.199 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android/DriverDL/icr] Skipping download; already exists
May 30, 2024 12:07:48.199 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (CoffeeLake-S GT2 [UHD Graphics 630])
May 30, 2024 12:07:48.200 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x41524742 -> bgra.
May 30, 2024 12:07:48.200 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x42475241 -> argb.
May 30, 2024 12:07:48.200 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x41424752 -> rgba.
May 30, 2024 12:07:48.200 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x52474241 -> abgr.
May 30, 2024 12:07:48.200 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x58524742 -> bgr0.
May 30, 2024 12:07:48.200 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x42475258 -> 0rgb.
May 30, 2024 12:07:48.200 [131182956911416] DEBUG - [Req#8c183/Transcode/89a1f57c911d4332-com-plexapp-android] [FFMPEG] - Format 0x58424752 -> rgb0.

Yes. That’s the problem (Intel Compute Runtime) we’ve identified and are working on now.

I’m testing an engineer’s build right now.

as long as mine is working (or not) the same way yours is, I’m comfy.

also decided to consider a bare metal plex server to get rid of all these headaches. i3-14100 is pretty darn cheap right now and so are the mobos that support it.

Mine is definitely working differently than most but that’s because of how I’ve setup and use Plex.

My Plex boxes (development & testing) are GeminiLake, JasperLake, and KabyLake.

You’re definitely in the same ballpark and swamp as everyone.

As for cheap chips and even cheaper (built?) mobos – I am always skeptical.
lol

Starting to drift well beyond the original issues, but I can’t resist asking.
Do you not think an i3-14100 and an ASRock B760M mobo would be sufficient for replacing my current i7-8700 and Asrock H370M mobo?

From the Computer perspective –

  1. The i7 will always outrun the i3 . That’s important for audio transcode. it’s also important for basic server software operation (ingest media, etc)

  2. Unless you have AV1 media, you don’t gain anything by upgrading beyond the CoffeeLake.

It comes down to
a. What types of media do you have / curate
b. What types of media do you plan on for the future.

Returning to the thread topic, I have your case and that of another.
The other user has a Shield Pro 2019 which stutters.

It defies explanation. “Speedtest” results show one thing but every bone in my body is screaming “Network” because I can sit here and not have a problem with DirectPlay of 187 Mbps video files to the Shield. (GeminiMan BluRay direct fro the disc)

Ok. So maybe I should just put PMS back on the metal and leave everything else in their containers.

Regarding the network, if it helps…I’m on an all TP-Link network running the Omada controller software. I have 2 TP-Link EAP610 Access Points (Wi-Fi 6 AX1800), an OC200 hardware controller, and a few Omada enabled managed switches. I’m not running any QoS. My router is a Firewalla Gold SE.

I always prefer bare metal when possible.

I have selected few items in containers.

I use LXC instead of docker (virtualizes the distro instead of just the app). This allows me to create a ‘Media’ container which runs all my media services with their native app installations which auto update at the OS level versus docker image level… all in a single host namespace.

LXC also allows me to develop and test packaging for the different distros without needing a full-up VM

Do you have iperf3 installed ?
If you can’t get it, the older iperf server and client app work fine.

iperf runs as a server process on PMS host. (iperf3 -s)
You then run the iperf client on the TV / whichever device.

The purpose here is to test the point-to-point throughput of your network.
(speed tests are not always true)

It looks like this when testing both directions

[chuck@lizum testfiles.2008]$ iperf3 -c 192.168.0.20
Connecting to host 192.168.0.20, port 5201
[  5] local 192.168.0.13 port 53124 connected to 192.168.0.20 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.09 GBytes  9.35 Gbits/sec   35   1.38 MBytes       
[  5]   1.00-2.00   sec  1.09 GBytes  9.41 Gbits/sec  407   1.39 MBytes       
[  5]   2.00-3.00   sec  1.10 GBytes  9.42 Gbits/sec    0   1.41 MBytes       
[  5]   3.00-4.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.42 MBytes       
[  5]   4.00-5.00   sec  1.09 GBytes  9.41 Gbits/sec   18   1.42 MBytes       
[  5]   5.00-6.00   sec  1.09 GBytes  9.41 Gbits/sec    0   1.44 MBytes       
[  5]   6.00-7.00   sec  1.10 GBytes  9.42 Gbits/sec    0   1.44 MBytes       
[  5]   7.00-8.00   sec   979 MBytes  8.21 Gbits/sec  959    300 KBytes       
[  5]   8.00-9.00   sec  1020 MBytes  8.56 Gbits/sec   37   2.02 MBytes       
[  5]   9.00-10.00  sec  1.09 GBytes  9.38 Gbits/sec  1281   1.51 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  10.7 GBytes  9.20 Gbits/sec  2737             sender
[  5]   0.00-10.04  sec  10.7 GBytes  9.16 Gbits/sec                  receiver

iperf Done.
[chuck@lizum testfiles.2009]$ iperf3 -c 192.168.0.20 -R
Connecting to host 192.168.0.20, port 5201
Reverse mode, remote host 192.168.0.20 is sending
[  5] local 192.168.0.13 port 47232 connected to 192.168.0.20 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.09 GBytes  9.41 Gbits/sec                  
[  5]   1.00-2.00   sec  1.10 GBytes  9.42 Gbits/sec                  
[  5]   2.00-3.00   sec  1.10 GBytes  9.41 Gbits/sec                  
[  5]   3.00-4.00   sec  1.10 GBytes  9.41 Gbits/sec                  
[  5]   4.00-5.00   sec  1.10 GBytes  9.42 Gbits/sec                  
[  5]   5.00-6.00   sec  1.10 GBytes  9.41 Gbits/sec                  
[  5]   6.00-7.00   sec  1.10 GBytes  9.41 Gbits/sec                  
[  5]   7.00-8.00   sec  1.10 GBytes  9.42 Gbits/sec                  
[  5]   8.00-9.00   sec  1.10 GBytes  9.41 Gbits/sec                  
[  5]   9.00-10.02  sec  1.05 GBytes  8.88 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.07  sec  10.9 GBytes  9.31 Gbits/sec    1             sender
[  5]   0.00-10.02  sec  10.9 GBytes  9.36 Gbits/sec                  receiver

iperf Done.
[chuck@lizum testfiles.2010]$

Here you can see every nuance of how the network performs under max load.
There are options to extend the time and payload if desired.

Connecting to host 192.168.0.184, port 5201
[  5] local 192.168.0.22 port 50934 connected to 192.168.0.184 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  31.8 MBytes   267 Mbits/sec    0   1.03 MBytes
[  5]   1.00-2.00   sec  37.5 MBytes   315 Mbits/sec    0   1.03 MBytes
[  5]   2.00-3.00   sec  37.5 MBytes   315 Mbits/sec    0   1.03 MBytes
[  5]   3.00-4.00   sec  36.2 MBytes   304 Mbits/sec    0   1.03 MBytes
[  5]   4.00-5.00   sec  35.0 MBytes   294 Mbits/sec    0   1.03 MBytes
[  5]   5.00-6.00   sec  32.5 MBytes   273 Mbits/sec    0   1.03 MBytes
[  5]   6.00-7.00   sec  31.2 MBytes   262 Mbits/sec    0   1.03 MBytes
[  5]   7.00-8.00   sec  35.0 MBytes   294 Mbits/sec    0   1.03 MBytes
[  5]   8.00-9.00   sec  31.2 MBytes   262 Mbits/sec    0   1.03 MBytes
[  5]   9.00-10.00  sec  32.5 MBytes   273 Mbits/sec    1   1.03 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   341 MBytes   286 Mbits/sec    1             sender
[  5]   0.00-10.01  sec   338 MBytes   283 Mbits/sec                  receiver

And this is from my TV, which is where the trouble started and “inspired” me to go out and get an onn 4K pro to play with. Connected via ethernet adapter to USB3.

Connecting to host 192.168.0.49, port 5201
[ 5] local 192.168.0.22 port 38972 connected to 192.168.0.49 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 114 MBytes 953 Mbits/sec 71 403 KBytes
[ 5] 1.00-2.00 sec 110 MBytes 920 Mbits/sec 36 297 KBytes
[ 5] 2.00-3.00 sec 111 MBytes 931 Mbits/sec 31 315 KBytes
[ 5] 3.00-4.00 sec 112 MBytes 937 Mbits/sec 18 379 KBytes
[ 5] 4.00-5.00 sec 111 MBytes 932 Mbits/sec 0 421 KBytes
[ 5] 5.00-6.00 sec 110 MBytes 927 Mbits/sec 56 253 KBytes
[ 5] 6.00-7.00 sec 108 MBytes 902 Mbits/sec 52 324 KBytes
[ 5] 7.00-8.00 sec 107 MBytes 900 Mbits/sec 105 211 KBytes
[ 5] 8.00-9.00 sec 109 MBytes 914 Mbits/sec 80 212 KBytes
[ 5] 9.00-10.00 sec 108 MBytes 909 Mbits/sec 36 279 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.07 GBytes 922 Mbits/sec 485 sender
[ 5] 0.00-10.00 sec 1.07 GBytes 920 Mbits/sec receiver

Did you test the reverse (-R) ?

It all looks good so there must be something else afoot

“-R” tests the client receiving like the player app would.

Connecting to host 192.168.0.184, port 5201
Reverse mode, remote host 192.168.0.184 is sending
[  5] local 192.168.0.22 port 35636 connected to 192.168.0.184 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  43.2 MBytes   363 Mbits/sec
[  5]   1.00-2.00   sec  48.4 MBytes   406 Mbits/sec
[  5]   2.00-3.00   sec  51.6 MBytes   433 Mbits/sec
[  5]   3.00-4.00   sec  49.6 MBytes   416 Mbits/sec
[  5]   4.00-5.00   sec  50.3 MBytes   422 Mbits/sec
[  5]   5.00-6.00   sec  51.0 MBytes   427 Mbits/sec
[  5]   6.00-7.00   sec  50.9 MBytes   427 Mbits/sec
[  5]   7.00-8.00   sec  49.1 MBytes   412 Mbits/sec
[  5]   8.00-9.00   sec  48.7 MBytes   409 Mbits/sec
[  5]   9.00-10.00  sec  51.4 MBytes   431 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   495 MBytes   415 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   494 MBytes   415 Mbits/sec                  receiver


Now that makes more sense. 400 Mbps from the server → player.

Given things we’ve learned today,

  1. The Intel i915 driver is the root of the problem. It will be fixed in the 6.9 kernel. We don’t know if Ubuntu and other distros will include those kernel patches / update the kernel before Ubuntu 24.10 is due to release (hope it gets the kernel update / patches)

  2. Intel Compute Runtime made an internal change. We just updated our software to work with their update. I’m waiting for another Engineering build to see what the impact of our changes is. So far, things look promising. I was reliably getting HW transcoding from file to file.

I know we’re close here.

I also know the Android folks have a release coming to address other issues (Collections / Playlists) but am not briefed on those details.

Makes sense. I have no problem sticking with 22.04.4 LTS for a while. I just had hoped the LTS would have avoided some of these probs with the kernels.

Funny thing re: Android. I’m an all Android house and nobody has mentioned any issues with the collections or playlists. 3 android tablets, 2 android TV, 3 android phones, and a bunch of Chromecasts. Not a peep.
Any thoughts on migrating to plain ol’ Debian? It uses an older kernel that worked and gets much less frequent updates. Seems less likely that things will break for no reason.

Migrating from distro to distro depends on two things:

  1. Did you partition the installation drive to isolate the boot and root partitions
    (saving /home)
  2. Where’s the current Plex installation living? on /var/lib or have you customized it.

If you’ve paritioned the installation/boot drive appropriately,
you can save the critical info (your override.conf, hosts file, installed packages list, etc) and then reinstall and recustomize.

If not, a little bit of tar and chown work can restore PMS pretty easily on any new distro.

I can change from distro/version to anything else within about 30 minutes and have it both customized and PMS running in that time.

If you want to change, I’ll help you.

Re Android:

I can’t replicate the problems either.
Our Engineering team does have a change coming for Playlists & Collections.
I’ll learn more as it gets released

  • Nope. The last time I “rebuilt” I planned on everything going into containers, so I didn’t do anything extra.
  • The current instance of PMS is in a Docker container, but I do have the pre-docker instance files sitting in /var/lib if they were handy.

I’ve never had much success restoring my server. Always running into claiming issues and other nonsense (aka user error). And if I were to switch disros for more stability, I’d probably be inclined to just rebuild from scratch with everything fresh and clean and no baggage. Was more just curious about the stability of Debian’s packages and kernel and whether or not it would actually address/solve any of the issues I’ve been running into.