orbitron 0 Posted March 28, 2019 Posted March 28, 2019 Greetings, I was wondering if there were any Intel i9 users out there whom have hardware transcoding working in Linux. And if so how did you get it to work? I have upgraded to the latest 5.0.5 kernel and am using i915 alpha boot parameters. However Emby does not see any Hardware Transcoders available and vainfo fails. Thank you!
Q-Droid 989 Posted March 28, 2019 Posted March 28, 2019 What distro and have you had this working before on Linux with different (older) CPU or GPU? Yours is a Coffee Lake CPU with UHD 630 so what works for 8th gen should work for 9th. Mine is an i3 8100 on CentOS with the 5.0.1 kernel and HW accel works in Emby using VAAPI. You shouldn't need i915 alpha after kernel 4.15. The libva, libva-utils and libva-intel-driver are the older base and epel versions but vainfo doesn't work for me either. Keep in mind that Emby compiles it's own version of ffmpeg with newer libs/drivers and it should work as long as you have access to the render device in /dev/dri.
orbitron 0 Posted March 28, 2019 Author Posted March 28, 2019 I have tried Ubuntu 18.04 and 18.10 with the shipped kernel as well as 5.05. I have this working on a i7-4790K currently.
Q-Droid 989 Posted March 29, 2019 Posted March 29, 2019 (edited) Short list of what I would check. - Is the onboard video the preferred device in the uefi/bios? - Is the onboard video forced enabled in uefi/bios if also using discreet gpu? - Is dmesg showing that it's loading i915 support and detects the graphics? dmesg|egrep -i 'vga|drm|i915|intel' - Is the render device created? ls -l /dev/dri - Can the Emby runtime user access the render device? This should show up in the emby hardware detection log. You can also check lsmod and lspci to see what is detected and loaded. lsmod|grep i915 lspci For me the kernel update is what did it. I swapped the mobo and CPU but kernel was 4.12 and previous config was AMD. No drivers or boot options made a difference then updated the kernel and BOOM, HW accel came alive. I can't completely eliminate a difference between 8th and 9th gen being the issue. Edited March 29, 2019 by Q-Droid
orbitron 0 Posted March 29, 2019 Author Posted March 29, 2019 Short list of what I would check. - Is the onboard video the preferred device in the uefi/bios? - Is the onboard video forced enabled in uefi/bios if also using discreet gpu? This is a Hetzner so I will have to get a remote console to it. - Is dmesg showing that it's loading i915 support and detects the graphics? dmesg|egrep -i 'vga|drm|i915|intel' [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.0.5-050005-generic root=UUID=6b856c5a-f333-4097-857e-c2874531df82 ro i915.alpha_support=1 [ 0.000000] Intel GenuineIntel [ 0.201000] Reserving Intel graphics memory at [mem 0x3d800000-0x3f7fffff] [ 0.201514] Kernel command line: BOOT_IMAGE=/vmlinuz-5.0.5-050005-generic root=UUID=6b856c5a-f333-4097-857e-c2874531df82 ro i915.alpha_support=1 [ 0.315913] Console: colour VGA+ 80x25 [ 0.373836] smpboot: CPU0: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (family: 0x6, model: 0x9e, stepping: 0xc) [ 0.374008] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, full-width counters, Intel PMU driver. [ 1.025829] pci 0000:00:02.0: vgaarb: setting as boot VGA device [ 1.025829] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none [ 1.025829] pci 0000:00:02.0: vgaarb: bridge control possible [ 1.025934] vgaarb: loaded [ 1.440489] intel_idle: MWAIT substates: 0x11142120 [ 1.440489] intel_idle: v0.4.1 model 0x9E [ 1.440921] intel_idle: lapic_timer_reliable_states 0xffffffff [ 4.627970] intel_pstate: Intel P-state driver initializing [ 4.629188] intel_pstate: HWP enabled [ 4.629854] intel_pmc_core: initialized [ 4.800692] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k [ 4.800797] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 5.224817] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection [ 6.198528] Btrfs loaded, crc32c=crc32c-intel [ 6.516098] [drm] Replacing VGA console driver [ 6.519000] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 6.519001] [drm] Driver supports precise vblank timestamp query. [ 6.519491] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem [ 6.520852] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4) [ 6.681199] intel_rapl: Found RAPL domain package [ 6.681200] intel_rapl: Found RAPL domain core [ 6.681200] intel_rapl: Found RAPL domain uncore [ 6.796142] [drm] failed to retrieve link info, disabling eDP [ 6.798645] [drm] Initialized i915 1.6.0 20181204 for 0000:00:02.0 on minor 0 [ 6.822151] [drm] Cannot find any crtc or sizes [ 6.842315] [drm] Cannot find any crtc or sizes [ 6.863471] [drm] Cannot find any crtc or sizes - Is the render device created? ls -l /dev/dri Yes. - Can the Emby runtime user access the render device? This should show up in the emby hardware detection log. It can. You can also check lsmod and lspci to see what is detected and loaded. lsmod|grep i915 i915 1814528 0 drm_kms_helper 180224 1 i915 drm 475136 3 drm_kms_helper,i915 i2c_algo_bit 16384 1 i915 video 45056 1 i915 lspci 00:00.0 Host bridge: Intel Corporation Device 3e30 (rev 0a) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 0a) 00:02.0 VGA compatible controller: Intel Corporation Device 3e98 00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10) 00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10) 00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10) 00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10) 00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10) 00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port 21 (rev f0) 00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port 9 (rev f0) 00:1f.0 ISA bridge: Intel Corporation Device a308 (rev 10) 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev 10) 01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981 02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981 For me the kernel update is what did it. I swapped the mobo and CPU but kernel was 4.12 and previous config was AMD. No drivers or boot options made a difference then updated the kernel and BOOM, HW accel came alive. I can't completely eliminate a difference between 8th and 9th gen being the issue. Thank you for all of your help.
Q-Droid 989 Posted March 29, 2019 Posted March 29, 2019 Your output looks a lot like what I get from my server. The drm module loads, i915 and graphics are detected. So if the emby server process can detect and access the render device are you still not getting any HW accel options? Is the hardware detection failing?
orbitron 0 Posted March 29, 2019 Author Posted March 29, 2019 (edited) Your output looks a lot like what I get from my server. The drm module loads, i915 and graphics are detected. So if the emby server process can detect and access the render device are you still not getting any HW accel options? Is the hardware detection failing? Here is the hardware detection log. I have been going through it as well but would not turn down another set of eyes. hardware-detection.txt Edited March 29, 2019 by orbitron
Q-Droid 989 Posted March 29, 2019 Posted March 29, 2019 I see the error trying to initialize the render device. Is the runtime user (emby?) member of the video group?
orbitron 0 Posted March 29, 2019 Author Posted March 29, 2019 It is. I also went nuclear and just chmod -R 777 /dev/dri
Q-Droid 989 Posted March 29, 2019 Posted March 29, 2019 I'm stumped. Maybe the emby devs can interpret the init error in the log. Had you also tried without alpha boot option?
orbitron 0 Posted March 29, 2019 Author Posted March 29, 2019 I really appreciate you taking a look at it. I have also tried it without the alpha.
Q-Droid 989 Posted March 29, 2019 Posted March 29, 2019 This is a bit of a WAG but it looks like the detection can't figure out what your device is? i3-8100 DeviceId: 0x3E91(/x92)=16017(/16018) i9-9900K DeviceId: 0x3E98=16024 Mine is below. "DeviceIndex": 0, "DeviceInfo": { "VendorName": "Intel Corporation", "DeviceName": "8th Gen Core Processor Gaussian Mixture Model", "SubsytemVendorName": "ASRock Incorporation", "VendorId": 32902, "DeviceId": 16017, "SubsytemVendorId": 6217, "SubsytemDeviceId": 16017, "DevPath": "/sys/bus/pci/devices/0000:00:02.0", "DrmCard": "/dev/dri/card0", "DrmRender": "/dev/dri/renderD128", "IsEnabled": 1, "IsBootVga": 1, "ApiVersionMajor": 1, "ApiVersionMinor": 3, "Driver": "Intel i965 driver for Intel® Coffee Lake - 2.2.0"
orbitron 0 Posted April 18, 2019 Author Posted April 18, 2019 Thanks for all of your time. Bumping this up as it is still present in 4.1.0.26.
Luke 42078 Posted April 18, 2019 Posted April 18, 2019 Have you made sure to follow the required setup in our hardware acceleration wiki? https://github.com/MediaBrowser/Wiki/wiki/Hardware-Acceleration-Overview
orbitron 0 Posted April 18, 2019 Author Posted April 18, 2019 Yep. It looks like Linux doesn't quite support the i9 yet for quicksync. (vainfo errors out) That's unfortunate. Guess I will wait for Linux to catch up.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now