緣起
年中的時候入手了一片 Intel A380 顯卡,因為 Intel ARC 顯卡的多媒體支援程度高,也主打 AV1 encode/decode 高效能!對於常常在轉檔的我,是相當有吸引力的,加上目前顯卡價格居高不下,支援 av1 decode 的顯卡幾乎破萬,所以價格不到一半且有 av1 encode/decode 真的是讓人想早點擁有!
早點入手的壞處就是驅動不完善,軟體不支援!入手時的軟體環境是 Debian bookworm, Kernel-5.19, ffmpeg-5.1。重點是 Kernel drm 無法驅動這張顯卡,頂多用 1024x768 那種糊糊的解析度,更不用說 ffmpeg + mpv 的多媒體功能。
驅動經歷
既然 kernel-5.19 不行,所以就直接試用 kernel-6.0-rc1。
編譯了 kernel-6.0-rc1 後,能順利的進入桌面,但是執行 mpv 或 ffsogi 時,會有 internal error,加上 ffmpeg 還必須用 onevpl API 和 新版的 intel-media-va-driver-non-free + cartwheel-ffmpeg。
簡單來講就是一連串的 compile + test 的無限循環。雖然最後將軟體層打通了,但是依舊會產生 Internal error。追蹤了 i915 kernel mailing list 後,問題還是在 drm 沒有驅動。
Intel 在 github 上有提供 intel backport driver 但是無法順利 merge 到 Debian 裡面,所以只好再等待。
曙光再現
沉寂了一段時間後,在閱讀 LKML 的時候,才發現 kernel-drm-tip 已經加入了 DG2 的支援了,也不用再加入 force_probe=0xNNNN 的字串強制啟動 DG2 顯卡,搭配上 Linux Firmware Git 就能支援 hardware encode/decode。
透過上述的 patch,加上 Debian Multimedia repo 也更新到最新的 oneVPL, ffmpeg, intel-media-va-driver-non-free 後,總算把 Intel A380 的任督二脈打通,可以順利地用 ffsogi_va 來轉檔了!
搭配的軟體版本如下:
- ffmpeg 10:5.1.2-dmo2
- intel-media-va-driver-non-free 22.6.4+ds1-1
- libvpl2:amd64 2023.1.0-dmo1
分享一下自已修改的 drm patch,適用於 kernel-6.1,相信能撐到 kernel-6.2 登場前能順順用。
Kernel-6.2 已經完整支援 DG2 了。詳見 News
decode 效能
想要測試顯卡 hardware decode 效能的朋友可以抓這個 mpv vo benchmark,抓下來後直接執行目錄內的 bench_start.sh,畫面就會撥放影片,OSD 會秀出 fps 的值,我的 A380 平均是 720 張,以 4K hevc 的檔案來說是很驚人的。
encode 效能
encode 效能測試的部份,我會以幾個 4K->1080p->720p 的方式,搭配 ffsogi 來呈現。
4K hevc -> 1080p hevc
ffsogi_va -i sample_3840x2160.hevc -o t.mp4 -s 1920 -c 24 --hw Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> hevc (hevc_vaapi)) Output #0, mp4, to 't.mp4': Metadata: encoder : Lavf59.27.100 Stream #0:0: Video: hevc (Main) (hev1 / 0x31766568), vaapi(tv, progressive), 1920x1080, q=2-31, 23.98 fps, 24k tbn Metadata: encoder : Lavc59.37.100 hevc_vaapi frame= 677 fps=251 q=-0.0 Lsize= 66947kB time=00:00:28.15 bitrate=19480.1kbits/s speed=10.4x
1080p hevc -> 720 hevc
ffsogi_va -i sample_1920x1080.hevc -o t.mp4 -s 1280 -c 24 --hw Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> hevc (hevc_vaapi)) Output #0, mp4, to 't.mp4': Metadata: encoder : Lavf59.27.100 Stream #0:0: Video: hevc (Main) (hev1 / 0x31766568), vaapi(tv, progressive), 1280x720, q=2-31, 23.98 fps, 24k tbn Metadata: encoder : Lavc59.37.100 hevc_vaapi frame= 677 fps=0.0 q=-0.0 Lsize= 25642kB time=00:00:28.15 bitrate=7461.2kbits/s speed=33.2x因為速度太快,所以 fps 顯示為 0,如果以原影片 23.98 * 33.2(speed) = 796,效能也是超級嚇人的。
這是 Intel A380 的測試結果,日後再入手最高階 A770 的話,再來測試一次,期待更驚人的表現了!
如果您也有多媒體剪輯轉檔的需求,很推薦這系列的 Intel 獨立顯卡。
沒有留言:
張貼留言