Skip to content

add VAAPI transcoding support via Intel iHD media driver#9

Merged
ahze merged 1 commit into
daemonless:mainfrom
jtrotsky:feat/vaapi-intel-media-driver
Jul 7, 2026
Merged

add VAAPI transcoding support via Intel iHD media driver#9
ahze merged 1 commit into
daemonless:mainfrom
jtrotsky:feat/vaapi-intel-media-driver

Conversation

@jtrotsky

@jtrotsky jtrotsky commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

One of the features of Immich 3.0 is HLS and Real-Time Video transcoding. I wanted to revisit how to get transcoding working on my Intel N150 and was successful but with a bit of a hack to get it working in podman which im not sure is viable:

sh -c 'R=$(podman mount immich_microservices); devfs -m "$R/dev" rule apply path drm unhide; devfs -m "$R/dev" rule apply path "drm/*" unhide mode 0666; devfs -m "$R/dev" rule apply path dri unhide;
devfs -m "$R/dev" rule apply path "dri/*" unhide; podman unmount immich_microservices; podman exec immich_microservices ls /dev/dri/'

feat: add Intel iHD driver for VAAPI hardware transcoding

Add libva-intel-media-driver and libva-utils to the runtime PACKAGES so
Intel iGPUs can hardware-transcode. The image already ships jellyfin-ffmpeg
built with --enable-vaapi and libva, but without iHD_drv_video.so the
driver chain dead-ends.

Verified on an Intel N150 (Twin Lake): 1080p30 H.264 -> HEVC via hevc_vaapi
at ~90 fps (3x realtime), using ~2% of the CPU time of libx265 medium on
the same clip (1.2 s vs 55 s CPU). The same box cannot software-encode
1080p30 HEVC in realtime (0.66x).

Host setup (DRM driver, firmware, /dev/dri passthrough) is documented in
the daemonless.io Immich Hardware Transcoding guide (separate PR).

@ahze

ahze commented Jul 7, 2026

Copy link
Copy Markdown
Member

good catch!! I missed that when porting jellyfin-ffmpeg.

@ahze ahze marked this pull request as ready for review July 7, 2026 20:32
@ahze ahze merged commit 943b461 into daemonless:main Jul 7, 2026
3 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants