Direct playback / transcode with Intel ARC 310 and Ubuntu 22.04 - fcmircea - 2024-06-07
Hello,
I am looking for some help figuring out why my driver installation on Ubuntu 22.04 doesn't work.
The system:
Ryzen 5 5600
AsRock B550 Phantom Gaming 4
AsRock Intel ARC 310 Low Profile.
Ubuntu 22.04 with 6.5 kernel and HWE
[*]I have followed the guide at https://dgpu-docs.intel.com/driver/client/overview.html
[*]Hopefully I've attached the logs as well, if note here's some transcripts:
[*]Code: [2024-06-07 08:48:43.786 +03:00] [INF] Running startup tasks
[2024-06-07 08:48:43.798 +03:00] [INF] Watching directory "/mnt/storage/movies"
[2024-06-07 08:48:43.799 +03:00] [INF] Daily trigger for "Generate Trickplay Images" set to fire at 2024-06-08 03:00:00.000 +03:00, which is 18:11:16.2010254 from now.
[2024-06-07 08:48:43.802 +03:00] [INF] Daily trigger for "Extract Chapter Images" set to fire at 2024-06-08 02:00:00.000 +03:00, which is 17:11:16.1976346 from now.
[2024-06-07 08:48:43.829 +03:00] [INF] Watching directory "/mnt/storage/series"
[2024-06-07 08:48:43.920 +03:00] [INF] Found ffmpeg version "6.0.1"
[2024-06-07 08:48:43.977 +03:00] [INF] Available "decoders": ["libdav1d", "av1", "av1_cuvid", "av1_qsv", "h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8", "libvpx", "vp8_cuvid", "vp8_qsv", "vp9", "libvpx-vp9", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "dca", "flac", "mp3", "truehd"]
[2024-06-07 08:48:43.989 +03:00] [INF] Available "encoders": ["libsvtav1", "av1_nvenc", "av1_qsv", "av1_amf", "av1_vaapi", "libx264", "h264_amf", "h264_nvenc", "h264_qsv", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "hevc_vaapi", "mjpeg_qsv", "mjpeg_vaapi", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "alac", "dca", "flac", "libmp3lame", "libopus", "truehd", "libvorbis", "srt"]
[2024-06-07 08:48:44.004 +03:00] [INF] Available filters: ["deinterlace_qsv", "deinterlace_vaapi", "hwupload_cuda", "hwupload_vaapi", "libplacebo", "overlay_opencl", "overlay_qsv", "overlay_vaapi", "overlay_vulkan", "overlay_cuda", "procamp_vaapi", "scale_cuda", "scale_opencl", "scale_qsv", "scale_vaapi", "scale_vulkan", "tonemap_cuda", "tonemap_opencl", "tonemap_vaapi", "vpp_qsv", "yadif_cuda", "zscale", "alphasrc"]
[2024-06-07 08:48:44.072 +03:00] [INF] Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"]
[2024-06-07 08:48:44.176 +03:00] [INF] FFmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
[2024-06-07 08:48:44.177 +03:00] [INF] ServerId: "e370438a5cc5454eba203bd42bc9d75b"
[2024-06-07 08:48:44.177 +03:00] [INF] Core startup complete
[2024-06-07 08:48:44.177 +03:00] [INF] Startup complete 0:00:06.9164692
[2024-06-07 08:48:46.815 +03:00] [INF] "Clean up collections and playlists" Completed after 0 minute(s) and 0 seconds
[2024-06-07 08:48:47.592 +03:00] [INF] "Update Plugins" Completed after 0 minute(s) and 0 seconds
[2024-06-07 08:48:59.444 +03:00] [INF] Authentication request for "fcmircea" has succeeded.
[2024-06-07 08:48:59.446 +03:00] [INF] Current/Max sessions for user "fcmircea": 0/0
[2024-06-07 08:48:59.477 +03:00] [INF] Creating new access token for user 9849dd5d-df24-4979-a8cc-ae569a093ca9
[2024-06-07 08:48:59.661 +03:00] [INF] WS "::ffff:192.168.100.9" request
[2024-06-07 08:49:08.596 +03:00] [INF] User policy for "fcmircea". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-06-07 08:49:09.080 +03:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-06-07 08:49:09.099 +03:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -hwaccel_flags +unsafe_output -threads 1 -noautorotate -i file:\"/mnt/storage/movies/Dune Part Two (2024)/Dune.Part.Two.2024.2160p.AMZN.WEB-DL.DDP5.1.Atmos.H.265-FLUX[TGx].mkv\" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_nvenc -preset p1 -b:v 26054610 -maxrate 26054610 -bufsize 52109220 -g:v:0 72 -keyint_min:v:0 72 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_cuda=format=yuv420p\" -codec:a:0 libfdk_aac -ac 6 -ab 640000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename \"022d23f905bb8e81de15b1a0fb741bcd-1.mp4\" -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/022d23f905bb8e81de15b1a0fb741bcd%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/022d23f905bb8e81de15b1a0fb741bcd.m3u8\""
[2024-06-07 08:49:09.116 +03:00] [ERR] FFmpeg exited with code 1
[2024-06-07 08:49:09.219 +03:00] [ERR] Error processing request. URL "GET" "/videos/357f88ca-8856-365c-25f4-a19c75530be9/hls1/main/-1.mp4".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
at Jellyfin.Api.Controllers.DynamicHlsController.GetHlsVideoSegment(Guid itemId, String playlistId, Int32 segmentId, String container, Int64 runtimeTicks, Int64 actualSegmentLengthTicks, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions)
at lambda_method1216(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[2024-06-07 08:49:09.333 +03:00] [INF] User policy for "fcmircea". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-06-07 08:49:09.345 +03:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/022d23f905bb8e81de15b1a0fb741bcd.m3u8"
[2024-06-07 08:49:09.448 +03:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-06-07 08:49:09.448 +03:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -hwaccel_flags +unsafe_output -threads 1 -noautorotate -i file:\"/mnt/storage/movies/Dune Part Two (2024)/Dune.Part.Two.2024.2160p.AMZN.WEB-DL.DDP5.1.Atmos.H.265-FLUX[TGx].mkv\" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_nvenc -preset p1 -b:v 26054610 -maxrate 26054610 -bufsize 52109220 -g:v:0 72 -keyint_min:v:0 72 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_cuda=format=yuv420p\" -codec:a:0 libfdk_aac -ac 6 -ab 640000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename \"838ae34c56376ff8f0b2b8503e3a1833-1.mp4\" -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/838ae34c56376ff8f0b2b8503e3a1833%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/838ae34c56376ff8f0b2b8503e3a1833.m3u8\""
[2024-06-07 08:49:09.464 +03:00] [ERR] FFmpeg exited with code 1
[2024-06-07 08:49:09.563 +03:00] [ERR] Error processing request. URL "GET" "/videos/357f88ca-8856-365c-25f4-a19c75530be9/hls1/main/-1.mp4".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at MediaBrowser.MediaEncoding.Transcoding.TranscodeManager.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, Guid userId, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
at Jellyfin.Api.Controllers.DynamicHlsController.GetHlsVideoSegment(Guid itemId, String playlistId, Int32 segmentId, String container, Int64 runtimeTicks, Int64 actualSegmentLengthTicks, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions)
at lambda_method1216(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
However:
y returns no devices
Code: lsmod | grep i915
i915_spi 24576 0
mtd 106496 6 cmdlinepart,i915_spi
i915 3444736 3
intel_vsec 20480 1 i915
i915_compat 24576 1 i915
i2c_algo_bit 16384 1 i915
drm_display_helper 241664 2 i915,i915_compat
drm_kms_helper 274432 2 drm_display_helper,i915
drm 765952 4 drm_kms_helper,drm_display_helper,i915
video 73728 1 i915
Code: dmesg | grep i915
[ 11.441161] i915_compat: loading out-of-tree module taints kernel.
[ 11.441518] i915_compat: module verification failed: signature and/or required key missing - tainting kernel
[ 11.634353] i915 0000:0b:00.0: [drm] GT count: 1, enabled: 1
[ 11.635055] i915 0000:0b:00.0: vgaarb: deactivate vga console
[ 11.635074] i915 0000:0b:00.0: [drm] Using Transparent Hugepages
[ 11.635106] i915 0000:0b:00.0: [drm] Local memory IO size: 0x0000000100000000
[ 11.635111] i915 0000:0b:00.0: [drm] Local memory available: 0x00000000fd000000
[ 11.688768] i915 0000:0b:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_07.bin (v2.7)
[ 11.707262] i915 0000:0b:00.0: [drm] GT0: GuC firmware i915/dg2_guc_70.19.2.bin version 70.19.2
[ 11.707270] i915 0000:0b:00.0: [drm] GT0: HuC firmware i915/dg2_huc_7.10.14_gsc.bin version 7.10.14
[ 11.787338] i915 0000:0b:00.0: [drm] GT0: GUC: submission disabled
[ 11.787346] i915 0000:0b:00.0: [drm] GT0: GUC: SLPC disabled
[ 11.823453] i915 0000:0b:00.0: GT0: local0 bcs'0.0 clear bandwidth:17601 MB/s
[ 11.832861] i915 0000:0b:00.0: GT0: local0 bcs'0.0 swap bandwidth:2082 MB/s
[ 11.834584] [drm] Initialized i915 1.6.0 20201103 for 0000:0b:00.0 on minor 0
[ 14.530551] Creating 4 MTD partitions on "i915.spi.2816":
[ 14.530555] 0x000000000000-0x000000001000 : "i915.spi.2816.DESCRIPTOR"
[ 14.531967] 0x000000001000-0x0000005f0000 : "i915.spi.2816.GSC"
[ 14.533588] 0x0000005f0000-0x0000007f0000 : "i915.spi.2816.OptionROM"
[ 14.534810] 0x0000007f0000-0x000000800000 : "i915.spi.2816.DAM"
[ 15.142729] i915 0000:0b:00.0: [drm] GT0: HuC: authenticated!
[ 15.142736] mei_pxp i915.mei-gsc.2816-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:0b:00.0 (ops i915_pxp_tee_component_ops [i915])
[ 15.169166] snd_hda_intel 0000:0c:00.0: bound 0000:0b:00.0 (ops i915_audio_component_bind_ops [i915])
Code: hwinfo --display
22: PCI b00.0: 0300 VGA compatible controller (VGA)
[Created at pci.386]
Unique ID: IluS.6P79Dn_bi73
Parent ID: h+kn.mr2N3fBJq5F
SysFS ID: /devices/pci0000:00/0000:00:03.1/0000:09:00.0/0000:0a:01.0/0000:0b:00.0
SysFS BusID: 0000:0b:00.0
Hardware Class: graphics card
Model: "Intel VGA compatible controller"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x56a6
SubVendor: pci 0x1849 "ASRock Incorporation"
SubDevice: pci 0x6007
Revision: 0x05
Driver: "i915"
Driver Modules: "i915"
Memory Range: 0xfa000000-0xfaffffff (rw,non-prefetchable)
Memory Range: 0x7e00000000-0x7effffffff (ro,non-prefetchable)
Memory Range: 0xfb000000-0xfb1fffff (ro,non-prefetchable,disabled)
IRQ: 178 (361 events)
Module Alias: "pci:v00008086d000056A6sv00001849sd00006007bc03sc00i00"
Driver Info #0:
Driver Status: i915 is active
Driver Activation Cmd: "modprobe i915"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #10 (PCI bridge)
When I hit play, I get a message. Trying again says Code: PlaybackError.mediadecodeerror
I've also attached a couple of logs.
Please let me know how to approach it.
RE: Direct playback / transcode with Intel ARC 310 and Ubuntu 22.04 - TheDreadPirate - 2024-06-07
You have NVENC selected for hardware acceleration.
Code: -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda
You need to select Intel Quick Sync in Dashboard > Playback.
|