Skip to content

[BUG] Broken Intel iHD driver (with fix) #267

Closed
@sirjeannot

Description

@sirjeannot

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When using tvheadend (passthrough, no transcoding), the video playback stutters anytime any other application uses vaapi. In my case, frigate or jellyfin. This issue appeared when moving from an Intel J4105 (i915 driver) to an N97 (iHD driver) machine.
What was done :

  • Updated Intel driver
  • Added options i915 enable_guc=3 in /etc/modprobe.d/i915.conf (with update-initramfs -u afterwards)
  • Lowered the load on Frigate: lowered resolution
  • Checked load with intel_gpu_top: always below 5%
  • Increased memory allocation of iGPU in BIOS (aperture size, DVMT Pre-Allocation, ...) to the max for all settings
  • Checked the gpu load : see below.

Image

🪠Fix found🪠
This issue is the same as #186 opened by @psycmos
The iHD driver added in 2021 has apparently not been updated since.
11.05.21: - Added Intel iHD driver support.
Using the host driver resolves the issue:

  volumes:
    - /usr/lib/x86_64-linux-gnu/dri:/usr/lib/dri

The location may be different depending on the distribution used.
Big thanks to @psycmos for hinting the way out of this issue. It didn't make any sense a much newer cpu performs worse than an old one, while not being loaded at all. The upside is, I went into the rabbit hole of vaapi and transcoding.

Expected Behavior

The playback is expected to be stutterless, with or without trancoding.
No Continuity counter error should show up.

Steps To Reproduce

  1. install openmediavautl + docker + compose extension
  2. install intel drivers on host : apt install intel-media-va-driver-non-free intel-gpu-tools
  3. check vainfo recognized the extensions
  4. run any other load, for instance ffmpeg with vaapi : -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi
  5. experience the suttering. either the video hangs, has blocks or parts of the screen in green (data missing): docker logs -f tvheadend

Environment

- OS: Debian/OpenMediaVault
- How docker service was installed: Openmediavault docker compose using compose addon
- CPU/iGPU: Intel N97
- Driver: deb package intel-media-va-driver-non-free
- Kernel: 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux

CPU architecture

x86-64

Docker creation

services:
    tvheadend:
        container_name: tvheadend
        environment:
            - PUID=1000
            - PGID=1000
            - TZ=Europe/Paris
        ports:
            - 9981:9981
            - 9982:9982
        volumes:
            - /srv/docker/tvheadend/data:/config
            - /srv/nas/video/recordings:/recordings
        devices:
            - /dev/dri:/dev/dri
            - /dev/dvb:/dev/dvb
        restart: unless-stopped
        healthcheck:
            disable: true
        image: linuxserver/tvheadend

Container logs

2025-03-30 11:25:10.516 [WARNING] TS: TNT/522MHz/M6: EAC3 @ #131 Continuity counter error (total 8)
2025-03-30 11:25:10.722 [WARNING] TS: TNT/522MHz/M6: EAC3 @ #132 Continuity counter error (total 13)
2025-03-30 11:26:10.239 [WARNING] TS: TNT/522MHz/M6: H264 @ #120 Continuity counter error (total 70)
2025-03-30 11:26:10.239 [WARNING] TS: TNT/522MHz/M6: EAC3 @ #131 Continuity counter error (total 11)
2025-03-30 11:26:10.470 [WARNING] TS: TNT/522MHz/M6: EAC3 @ #132 Continuity counter error (total 17)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions