Hello everybody,
I was using LibreELEC-Generic.x86_64-10.0.4 on some old laptop with Intel Core2Duo and NVidia Geforce 9300M GS (uses nvidia-legacy-340.180). I have seen, that the NVidia support has been continued in LibreELEC-Generic-legacy.x86_64-11.0.3, so I gave it a try. I am playing H264 on 1280x720. Seemingly HW Acceleration is enabled, I have CPU load about 20-30%, but the playback is choppy. It shows around 25-30 FPS. Same video on LE 10 plays seamless with the same VDPAU acceleration at ~60Hz. CPU load is similar, maybe a bit higher.
What is the reason for the stuttering on LE 11?
I am no linux expert, but tried my best to find something. Here are the significant differences of the two systems.
LibreELEC (official): 11.0.3 (Generic-legacy.x86_64)
DMMultiplexK:~ # nvidia-smi
Wed Nov 15 19:06:22 2023
+------------------------------------------------------+
| NVIDIA-SMI 340.108 Driver Version: 340.108 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce 9300M GS Off | 0000:06:00.0 N/A | N/A |
| N/A 58C P12 N/A / N/A | 47MiB / 255MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
Display More
DMMultiplexK:/etc/X11 # lspci -kv | sed -n "/VGA compatible controller/,/Kernel modules/p"
06:00.0 VGA compatible controller: NVIDIA Corporation G98M [GeForce 9300M GS] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Micro-Star International Co., Ltd. [MSI] G98M [GeForce 9300M GS]
Flags: bus master, fast devsel, latency 0, IRQ 31
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at fa000000 (64-bit, non-prefetchable) [size=32M]
I/O ports at ec00 [size=128]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nvidia
Display More
end of dmesg after running vdpauinfo:
[ 794.081336] vdpauinfo[819]: segfault at 0 ip 0000000000000000 sp 00007ffd7eb0b378 error 14 in vdpauinfo[400000+3000] likely on CPU 0 (core 0, socket 0)
[ 794.081380] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
DMMultiplexK:/etc # vainfo
Trying display: x11
libva info: VA-API version 1.17.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
vaInitialize failed with error code -1 (unknown libva error),exit
DMMultiplexK:/usr/lib/nvidia # find / -name *nvidia*
/run/kernel-overlays/modules/6.1.38/nvidia/nvidia.ko
/usr/lib/kernel-overlays/base/lib/modules/6.1.38/nvidia/nvidia.ko
/usr/lib/nvidia/nvidia.ko
/usr/lib/nvidia-legacy/nvidia.ko
/var/lib/nvidia.ko
The same commands for LibreELEC (official): 10.0.4 (Generic.x86_64)
nvidia-smi and lspci -kv | sed -n "/VGA compatible controller/,/Kernel modules/p" are the same.
DMMultiplexKodi:~ # vdpauinfo
display: :0.0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 340.108 Wed Dec 11 14:31:24 PST 2019
Video surface:
name width height types
-------------------------------------------
420 4096 4096 NV12 YV12
422 4096 4096 UYVY YUYV
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 0 8192 2048 2048
MPEG2_SIMPLE 3 8192 2048 2048
MPEG2_MAIN 3 8192 2048 2048
H264_BASELINE --- not supported ---
H264_MAIN 41 8190 2032 2048
H264_HIGH 41 8190 2032 2048
VC1_SIMPLE 1 8190 2048 2048
VC1_MAIN 2 8190 2048 2048
VC1_ADVANCED 4 8190 2048 2048
MPEG4_PART2_SP --- not supported ---
MPEG4_PART2_ASP --- not supported ---
DIVX4_QMOBILE --- not supported ---
DIVX4_MOBILE --- not supported ---
DIVX4_HOME_THEATER --- not supported ---
DIVX4_HD_1080P --- not supported ---
DIVX5_QMOBILE --- not supported ---
DIVX5_MOBILE --- not supported ---
DIVX5_HOME_THEATER --- not supported ---
DIVX5_HD_1080P --- not supported ---
H264_CONSTRAINED_BASELINE --- not supported ---
H264_EXTENDED --- not supported ---
H264_PROGRESSIVE_HIGH --- not supported ---
H264_CONSTRAINED_HIGH --- not supported ---
H264_HIGH_444_PREDICTIVE --- not supported ---
HEVC_MAIN --- not supported ---
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 8192 8192 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 8192 8192 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
Bitmap surface:
name width height
------------------------------
B8G8R8A8 8192 8192
R8G8B8A8 8192 8192
R10G10B10A2 8192 8192
B10G10R10A2 8192 8192
A8 8192 8192
Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL y
INVERSE_TELECINE y
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY y
HIGH QUALITY SCALING - L1 -
HIGH QUALITY SCALING - L2 -
HIGH QUALITY SCALING - L3 -
HIGH QUALITY SCALING - L4 -
HIGH QUALITY SCALING - L5 -
HIGH QUALITY SCALING - L6 -
HIGH QUALITY SCALING - L7 -
HIGH QUALITY SCALING - L8 -
HIGH QUALITY SCALING - L9 -
parameter name sup min max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH y 1 4096
VIDEO_SURFACE_HEIGHT y 1 4096
CHROMA_TYPE y
LAYERS y 0 4
attribute name sup min max
-----------------------------------------------------
BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y
Display More
DMMultiplexKodi:~ # vainfo
libva info: VA-API version 1.11.0
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
DMMultiplexKodi:~ # find / -name *nvidia*
/dev/nvidia0
/dev/nvidiactl
/etc/X11/xorg-nvidia-legacy.conf
/etc/X11/xorg-nvidia.conf
/proc/irq/31/nvidia
/proc/driver/nvidia
/run/systemd/units/invocation:[email protected]
/run/kernel-overlays/modules/5.10.161/nvidia
/run/kernel-overlays/modules/5.10.161/nvidia/nvidia.ko
/run/kernel-overlays/modules/5.10.161/nvidia/nvidia-uvm.ko
/run/kernel-overlays/modules/5.10.161/nvidia/nvidia-modeset.ko
/run/kernel-overlays/modules/5.10.161/kernel/drivers/i2c/busses/i2c-nvidia-gpu.ko
/sys/kernel/slab/nvidia_p2p_page_t
/sys/kernel/slab/nvidia_stack_t
/sys/kernel/slab/nvidia_pte_t
/sys/bus/pci/drivers/nvidia
/sys/module/nvidia
/sys/module/nvidia/drivers/pci:nvidia
/usr/bin/nvidia-legacy-smi
/usr/bin/nvidia-legacy-xconfig
/usr/bin/nvidia-main-smi
/usr/bin/nvidia-main-xconfig
/usr/bin/nvidia-smi
/usr/bin/nvidia-xconfig
/usr/lib/kernel-overlays/base/lib/modules/5.10.161/kernel/drivers/i2c/busses/i2c-nvidia-gpu.ko
/usr/lib/kernel-overlays/base/lib/modules/5.10.161/nvidia
/usr/lib/kernel-overlays/base/lib/modules/5.10.161/nvidia/nvidia-modeset.ko
/usr/lib/kernel-overlays/base/lib/modules/5.10.161/nvidia/nvidia-uvm.ko
/usr/lib/kernel-overlays/base/lib/modules/5.10.161/nvidia/nvidia.ko
/usr/lib/libGLX_nvidia.so.0
/usr/lib/libGL_nvidia-legacy.so.1
/usr/lib/libnvidia-glcore.so.340.108
/usr/lib/libnvidia-glcore.so.460.67
/usr/lib/libnvidia-ml.so.1
/usr/lib/libnvidia-ml.so.340.108
/usr/lib/libnvidia-ml.so.460.67
/usr/lib/libnvidia-tls.so.340.108
/usr/lib/libnvidia-tls.so.460.67
/usr/lib/nvidia
/usr/lib/nvidia/nvidia.ko
/usr/lib/nvidia-legacy
/usr/lib/nvidia-legacy/nvidia.ko
/usr/lib/udev/rules.d/96-nvidia.rules
/usr/lib/vdpau/libvdpau_nvidia-legacy.so.1
/usr/lib/vdpau/libvdpau_nvidia-main.so.1
/usr/lib/vdpau/libvdpau_nvidia.so
/usr/lib/vdpau/libvdpau_nvidia.so.1
/usr/lib/xorg/modules/drivers/nvidia-legacy_drv.so
/usr/lib/xorg/modules/drivers/nvidia-main_drv.so
/usr/lib/xorg/modules/drivers/nvidia_drv.so
/usr/lib/xorg/modules/extensions/libglx_nvidia-legacy.so
/usr/lib/xorg/modules/extensions/libglx_nvidia.so
/var/lib/nvidia-xconfig
/var/lib/nvidia-smi
/var/lib/libvdpau_nvidia.so
/var/lib/libvdpau_nvidia.so.1
/var/lib/nvidia.ko
/var/lib/nvidia_drv.so
/var/lib/libnvidia-ml.so.1
Display More
Thank you for your help!:)