Jump to content
XPEnology Community

i915.ko backported driver for intel 10th gen (DS918+ ver 7.0.1 up3)


Recommended Posts

1 hour ago, blackmanga said:

 

I have added some missing modules. can you do the same as before. Copy these missing modules in your temp directory and run the rm_modules followed by in_modules

i915_3622_7.0_additional.7z 402.93 kB · 3 downloads rm_modules_3622.sh 412 B · 2 downloads in_modules_3622.sh 444 B · 1 download

 

Looks still missing some modules, pls see the attached dmesg file

 

1280997504_3622xs.thumb.png.7089a6cd8363891c86c941064e2954da.png

3622xs_dmesg.txt

Link to comment
Share on other sites

7 hours ago, scoobdriver said:

 

This download site just redirects me to gear best all the time . Am I missing a way to download the files ? 

you might be having some adblocker. i had the same issue when i use that link from mobile, but it works on my desktop computer.

try these.

 

https://www51.zippyshare.com/v/xKHQzQ1S/file.html

https://file.io/xyLwAfct8jbp

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, D.S said:

 

Still have the same errors. 

dmesg_3622xs+.txt 30.36 kB · 4 downloads

Sorry buddy. Looks like a lot of the stuff is missing from the 3622 kernel. It’s going to be a painful process to add one by one.
If you are still interested in testing we can take this on direct and see what other modules need to be complied. 

  • Like 1
Link to comment
Share on other sites

1 hour ago, blackmanga said:

Sorry buddy. Looks like a lot of the stuff is missing from the 3622 kernel. It’s going to be a painful process to add one by one.
If you are still interested in testing we can take this on direct and see what other modules need to be complied. 

 

Thanks for your work. I will switch back to 918p since it seems hard to add the kernel modules for 3622.

Link to comment
Share on other sites

I dont know what im doing then, I downloaded the missing files from that linux site and put them in /usr/lib/fimrware/i915 and copied all the other files with the new rm\in files in a tmp folder, tried to excute it, no dice, rebooted too and such..

root@Xpenology:/usr/lib/firmware/tmp# sudo ./rm_modules_3221.sh
rmmod: ERROR: Module i915 is not currently loaded
rmmod: ERROR: Module video is not currently loaded
rmmod: ERROR: Module backlight is not currently loaded
rmmod: ERROR: Module button is not currently loaded
rmmod: ERROR: Module iosf_mbi is not currently loaded
rmmod: ERROR: Module drm_kms_helper is not currently loaded
rmmod: ERROR: Module cfbcopyarea is not currently loaded
rmmod: ERROR: Module sysimgblt is not currently loaded
rmmod: ERROR: Module sysfillrect is not currently loaded
rmmod: ERROR: Module cfbimgblt is not currently loaded
rmmod: ERROR: Module syscopyarea is not currently loaded
rmmod: ERROR: Module cfbfillrect is not currently loaded
rmmod: ERROR: Module fb_sys_fops is not currently loaded
rmmod: ERROR: Module drm is not currently loaded
rmmod: ERROR: Module drm_panel_orientation_quirks is not currently loaded
rmmod: ERROR: Module fb is not currently loaded
rmmod: ERROR: Module fbdev is not currently loaded
root@Xpenology:/usr/lib/firmware/tmp#

 

root@Xpenology:/usr/lib/firmware/tmp# sudo ./in_modules_3221.sh
insmod: ERROR: could not insert module drm.ko: Unknown symbol in module
insmod: ERROR: could not insert module drm_kms_helper.ko: Unknown symbol in module
insmod: ERROR: could not insert module i915.ko: Unknown symbol in module
root@Xpenology:/usr/lib/firmware/tmp#

Edited by merve04
Link to comment
Share on other sites

18 hours ago, merve04 said:

I dont know what im doing then, I downloaded the missing files from that linux site and put them in /usr/lib/fimrware/i915 and copied all the other files with the new rm\in files in a tmp folder, tried to excute it, no dice, rebooted too and such..

root@Xpenology:/usr/lib/firmware/tmp# sudo ./rm_modules_3221.sh
rmmod: ERROR: Module i915 is not currently loaded
rmmod: ERROR: Module video is not currently loaded
rmmod: ERROR: Module backlight is not currently loaded
rmmod: ERROR: Module button is not currently loaded
rmmod: ERROR: Module iosf_mbi is not currently loaded
rmmod: ERROR: Module drm_kms_helper is not currently loaded
rmmod: ERROR: Module cfbcopyarea is not currently loaded
rmmod: ERROR: Module sysimgblt is not currently loaded
rmmod: ERROR: Module sysfillrect is not currently loaded
rmmod: ERROR: Module cfbimgblt is not currently loaded
rmmod: ERROR: Module syscopyarea is not currently loaded
rmmod: ERROR: Module cfbfillrect is not currently loaded
rmmod: ERROR: Module fb_sys_fops is not currently loaded
rmmod: ERROR: Module drm is not currently loaded
rmmod: ERROR: Module drm_panel_orientation_quirks is not currently loaded
rmmod: ERROR: Module fb is not currently loaded
rmmod: ERROR: Module fbdev is not currently loaded
root@Xpenology:/usr/lib/firmware/tmp#

 

root@Xpenology:/usr/lib/firmware/tmp# sudo ./in_modules_3221.sh
insmod: ERROR: could not insert module drm.ko: Unknown symbol in module
insmod: ERROR: could not insert module drm_kms_helper.ko: Unknown symbol in module
insmod: ERROR: could not insert module i915.ko: Unknown symbol in module
root@Xpenology:/usr/lib/firmware/tmp#

DVA3221 and DS3622 require more work and are not ready as their kernel is missing a lot of stuff required for HW transcoding. 

918+ and 920+ Are the ones working for now with the new 10th gen CPUs 

Link to comment
Share on other sites

On 4/13/2022 at 9:42 AM, pocopico said:

Hi, do you have any instructions you can share for the module compilation ? I’m thinking that maybe I could create an extension for the i915 module

he had a "i915.patch" earlier in the thread, that would be the one to patch syno's kernel and compile the modules

also keep in mind its still the same driver (syno's from end 2017)

i gave that stuff some thought too (and some testing)  and my suggestion would be to at least make the added i915 manually optional or split it in two drivers, one autodetect with only approved devices detected (can be made in the script code or in the driver itself) and one "experimental" where people would be able to test if the hardware in question is working or not, the thing with the two drivers would make is necessary to switch of the autodetect driver when activation the experimental driver

 

as wen know from the 6.2.3 patch testing there are conditions where the system will not boot anymore and without proper indications for user if problematic to add a driver that might stall systems when the driver is added with autodetect

in the end it was my goal to find out if non supported hardware like higher tier 10th gen or 11th could be tested with different older hardware drivers  (even skylake)

we know from 6.2.3 test that 9Bc5 is a problem case and switch that one through different hardware positions in the driver was one thing to test, the other thing to test was using newer firmware files too, so there would be a lot of testing for just one device

a few days ago i could get a 10th gen notebook so  would have a non supported güu hardware that i could switch through different older hardware types (one problem to solve was that it had no sata at all not even for a odd, but i use a m.2 to pcie 4x adapter now to "extranally" connect a ahci sata controller

 

1st step would be to implement i915 default driver as extensions with all needed firmware files

if that is working with the original i915 driver compiled from kernel source (mo mods yet) and is replacing syno's driver from dsm *.pat file then we could start making adjustments like adding new devices known to work (the driver in 7.x is still the same as in 6.2.3/6.2.4),making it easier for some people that had it working with 6.2.3

 

my plan for the easter weekend was to test with that 10th gen notebook gpu to find out if there is hope for newer devices to work with that ancient driver syno is using

so if anyone has time left it would be good to make the 1st step from above and ready a extension for i915

Link to comment
Share on other sites

5 hours ago, blackmanga said:

918+ and 920+ Are the ones working for now with the new 10th gen CPUs 

atm i have the option to test with a i5-10210u, device id 9B41, CometLake-U GT2 [UHD Graphics]

will be interesting to see what happens

your patch does contain more then just remapping the newer device id's to older devices but i expected intel to have more code in the last 4 years to add support for 10th gen gpu's, what newer version of the i915 driver did you use as base?

anything about firmware of the driver you used as base for the patch? what version of firmware was used in this driver?

Link to comment
Share on other sites

10 hours ago, blackmanga said:

DVA3221 and DS3622 require more work and are not ready as their kernel is missing a lot of stuff required for HW transcoding. 

918+ and 920+ Are the ones working for now with the new 10th gen CPUs 

As much as I can appreciate you and other dedicating time and effort in trying to make things work, its a let down seeing posts revolving models in question to activate quicksync and then told its not possible.

Link to comment
Share on other sites

7 hours ago, IG-88 said:

atm i have the option to test with a i5-10210u, device id 9B41, CometLake-U GT2 [UHD Graphics]

will be interesting to see what happens

your patch does contain more then just remapping the newer device id's to older devices but i expected intel to have more code in the last 4 years to add support for 10th gen gpu's, what newer version of the i915 driver did you use as base?

anything about firmware of the driver you used as base for the patch? what version of firmware was used in this driver?

These drivers should work with all CPUs until the 10th gen. As I have added the PCI ids and not replaced any. 

the base kernel is still 4.4.180+ and I had to get patches from kernels upto 5.5 if I remember correctly. That is when the Cometlake IDSs were added and some patches introduced.

 

Beyond that there is quite a lot of changes to the files for adding support of 11th gen and beyond - so it’s not as easily to implement.
 

there are no changes to the firmware either. The ones we have used for 6.2.3 previously work. 
 

My patched code also removed a bug where an extra vbt was being generated when there isn’t one - resulting in an oops.

Link to comment
Share on other sites

2 hours ago, merve04 said:

As much as I can appreciate you and other dedicating time and effort in trying to make things work, its a let down seeing posts revolving models in question to activate quicksync and then told its not possible.

I can understand your disappointment, but HW transcoding is not as simple as just providing the modules. the kernel needs to be compiled for it. And 3622 isn’t one of them. which is why when you insert the modules, there are unrecognized symbols. 

If you go through the various messages above I did say that it might require more work and even suggested to another user that we can take it offline to see what other modules are required to make this happen. 
 

I have had to go through 100s if not 1000s of lines of code to understand and remove bugs and add support for the new devices. So trust me, if it were that simple it would have already been done by now.
 

Link to comment
Share on other sites

7 hours ago, blackmanga said:

I can understand your disappointment, but HW transcoding is not as simple as just providing the modules. the kernel needs to be compiled for it. And 3622 isn’t one of them. which is why when you insert the modules, there are unrecognized symbols. 

thanks for doing so, it was like that with 3615/17 in dsm 6.2 and i hat that on my list for testing if its still the case with kernel 4.4 now in dsm 7.x

but as with 3615/17 in 6.2 there is still the option to compile additional nvidia drivers and use them instead of intel qsv

https://xpenology.com/forum/topic/22272-nvidia-runtime-library/

(we do have dva3221 with build-in nvidia but that one is limited to 16 threads, 3617 and 3622 are 24 threads and if FS6400 get support in tinycore it will be 64 threads)

 

8 hours ago, blackmanga said:

If you go through the various messages above I did say that it might require more work and even suggested to another user that we can take it offline to see what other modules are required to make this happen. 

might not be a question of modules, is presumably like with hyper-v support and you would need to create a special extension (module) where the code usually fixed in the kernel is made up es module to fix the missing dependencies - nor sure it that would be even possible but might not be worth the effort

imho nvidia drivers and jellyfin (as spk or docker) might be a far better option to invest time, jellyfin as 7.x spk already exists and nvidia drivers for 3615/17 and 918+ on 6.2 where no that difficult to make  (at least i was able to build the base *.ko files)

  • Like 1
Link to comment
Share on other sites

On 4/16/2022 at 7:07 PM, IG-88 said:
On 4/16/2022 at 1:05 PM, blackmanga said:

918+ and 920+ Are the ones working for now with the new 10th gen CPUs 

atm i have the option to test with a i5-10210u, device id 9B41, CometLake-U GT2 [UHD Graphics]

 

@blackmanga

i applied the i915.patch to dsm's 6.2.3 source and used the *.ko files you had in your insmod script in extra/extra2 (along with the i915 firmware) 

there are devices in /dev/dri after boot now but video station (activated with a patch for codecs and hw acceleration) gives no picture, when done without hw acceleration  it does transcode (with a crappy quality and high cpu load)

same driver/installation on a skylake system does work with hw transcoding, so i think the i915 driver is ok

 

with my old patching method the 9b41 was the same as the high tier 10th gen cpu (like 10900, 9bc5), system did not boot

did anyone with a 9bc5 test the driver yet? the one tester above had  a low tier cpu (10100, 9bc8) and these did work with the old binary patching already

 

the log does not have much to offer

2022-04-20T01:09:42+02:00 DiskStation synoscgi_SYNO.VideoStation2.Streaming_2_open[20709]: video_format_profile.cpp:373
There is no such json member, value[braswell_2][mkv_serial] in [/var/packages/VideoStation/target/etc/TransInfo_HLS]
2022-04-20T01:11:28+02:00 DiskStation coredump: Process ffmpeg[21116] dumped core on signal [6].

 

maybe i should try it with your binarys on an 7.0.1 installation

Edited by IG-88
  • Like 1
Link to comment
Share on other sites

10 hours ago, IG-88 said:

 

@blackmanga

i applied the i915.patch to dsm's 6.2.3 source and used the *.ko files you had in your insmod script in extra/extra2 (along with the i915 firmware) 

there are devices in /dev/dri after boot now but video station (activated with a patch for codecs and hw acceleration) gives no picture, when done without hw acceleration  it does transcode (with a crappy quality and high cpu load)

same driver/installation on a skylake system does work with hw transcoding, so i think the i915 driver is ok

 

with my old patching method the 9b41 was the same as the high tier 10th gen cpu (like 10900, 9bc5), system did not boot

did anyone with a 9bc5 test the driver yet? the one tester above had  a low tier cpu (10100, 9bc8) and these did work with the old binary patching already

 

the log does not have much to offer


2022-04-20T01:09:42+02:00 DiskStation synoscgi_SYNO.VideoStation2.Streaming_2_open[20709]: video_format_profile.cpp:373
There is no such json member, value[braswell_2][mkv_serial] in [/var/packages/VideoStation/target/etc/TransInfo_HLS]
2022-04-20T01:11:28+02:00 DiskStation coredump: Process ffmpeg[21116] dumped core on signal [6].

 

maybe i should try it with your binarys on an 7.0.1 installation

 

1) ok perfect, that is good to hear. Attached the binaries for 6.2.3 918+ just in case you want to try. Thank you for testing out video station. I didnt check that coz HW transcoding + TrueHD/EAC3 as a combination dont work on it once you patch.

 

2) Re: 9bc5, i havent seen anyone test yet. But i m quite hopeful these will work.

 

i915_918_623.7z

Link to comment
Share on other sites

I know this is stupid and obvious but I wanted ask to be 100% sure. This whole patch project is for newer 10th gen cpu only? or for all cpu up to 10th gen?

I have a couple I could test on, but dont know if it will benefit, none are 10th gen though. I have i7 4th gen, i3 2nd gen, Pentium N3710, and J3355 model... Next week I will have Xeon E3-1270V2 system when it arrives.

I only want to help 🖖

Link to comment
Share on other sites

1 hour ago, phone guy said:

I know this is stupid and obvious but I wanted ask to be 100% sure. This whole patch project is for newer 10th gen cpu only? or for all cpu up to 10th gen?

I have a couple I could test on, but dont know if it will benefit, none are 10th gen though. I have i7 4th gen, i3 2nd gen, Pentium N3710, and J3355 model... Next week I will have Xeon E3-1270V2 system when it arrives.

 

the driver is extended for additional support of 10th gen, all other that worked before will still work, the driver is supposed to replace the driver used now

yesterday i already did a test with 6th gen (skylake) to see if the patched driver i compiled does work in general and it did, so i dont think it needs testing with older gen's already proven to work

a i3 2nd will be hard to test (even if it would be working as a gpu) as the kernel of 918/920 only boots with 4th gen and newer

even 10th gen lower tier cpu's are tested already, ist just the upper tier version of desktops and the one i use from a notebook (U type cpu with lower tdp geared for mobile use)

 

12 hours ago, blackmanga said:

Thank you for testing out video station. I didnt check that coz HW transcoding + TrueHD/EAC3 as a combination dont work on it once you patch.

wan#n there a patch for that too? (a ffmpeg hack that just patched the binary to enable it afair)

 

your binary files for 6.2.3 are the same size as mine and it  does the same with your files, i also tried to disable vt-d but the did not change anything

 

loading the driver does work

[Thu Apr 21 00:40:40 2022] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[Thu Apr 21 00:40:40 2022] [drm] Driver supports precise vblank timestamp query.
[Thu Apr 21 00:40:40 2022] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[Thu Apr 21 00:40:40 2022] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[Thu Apr 21 00:40:40 2022] [drm] Initialized i915 1.6.0 20171222 for 0000:00:02.0 on minor 0
[Thu Apr 21 00:40:40 2022] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[Thu Apr 21 00:40:40 2022] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input2
[Thu Apr 21 00:40:40 2022] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device

 

in intels driver in kernel 5.17rc4 there is a extra section for the low power "U" gpu's

/* CML GT2 */
#define INTEL_CML_GT2_IDS(info)	\
	INTEL_VGA_DEVICE(0x9BC2, info), \
	INTEL_VGA_DEVICE(0x9BC4, info), \
	INTEL_VGA_DEVICE(0x9BC5, info), \
	INTEL_VGA_DEVICE(0x9BC6, info), \
	INTEL_VGA_DEVICE(0x9BC8, info), \
	INTEL_VGA_DEVICE(0x9BE6, info), \
	INTEL_VGA_DEVICE(0x9BF6, info)

#define INTEL_CML_U_GT2_IDS(info) \
	INTEL_VGA_DEVICE(0x9B41, info), \
	INTEL_VGA_DEVICE(0x9BCA, info), \
	INTEL_VGA_DEVICE(0x9BCC, info)

 

so my 9B41 might need different handling then the normal CML_GT2?

 

Edited by IG-88
  • Thanks 1
Link to comment
Share on other sites

The DTS/True HD has nothing to do with patching: 

 

Quote from Synology's website: 

Video Station currently does not support the playback of the audio formats below owing to patent licensing issues:

All DTS audio formats, including but not limited to DTS and DTS-HD

Partial Dolby Digital audio formats, including but not limited to Dolby Digital Plus (EAC3) and Dolby TrueHD

 

But should be easily fixed: 

 

https://github.com/AlexPresso/VideoStation-FFMPEG-Patcher

Link to comment
Share on other sites

Le 10/04/2022 à 09:18, blackmanga a dit :

i915 drivers for various models  and scripts. I have tested them on DS 918+ and can confirm that /dev/dri exists and HW transcoding works perfectly (even HDR tonemapping works with the linuxserver/plex docker)

 

where you able to do it with Quicksync and also do i need to use linuxserver/plex docker or i can just use regular plex

Link to comment
Share on other sites

Yes HW transcoding is via intel quicksync. 
 

The regular plex that comes from synology package centre is 32bit and might not do HDR tone mapping or HW transcoding. 
 

Even the 64bit version that you download from plex website (for synology) doesn’t do HDR tone mapping if I am not wrong. But it does HW transcoding. 
 

if you need to use all the features then the docker version is the way to go.

 

 

Link to comment
Share on other sites

On 4/10/2022 at 8:18 PM, blackmanga said:

i915 drivers for various models  and scripts. I have tested them on DS 918+ and can confirm that /dev/dri exists and HW transcoding works perfectly (even HDR tonemapping works with the linuxserver/plex docker)

 

DS918+ DSM 7

https://www.filehosting.org/file/details/3054890/i915.7z

https://www104.zippyshare.com/v/oPItjx82/file.html

https://dailyuploads.net/41tops2ix61g

 

DS920+  DSM 7

https://dailyuploads.net/iiafmtyxq2si

https://www74.zippyshare.com/v/NPbJM27X/file.html

 

DS3622+ DSM 7

https://dailyuploads.net/avd0bpv3ejw0

https://www100.zippyshare.com/v/i1ha0qjo/file.html

 

Attached the scripts as well to remove original modules (rm_modules.sh) in a running DSM system, and then insert the new modules (in_modules.sh). All modules are for kernel 4.4.180+

 

 

If someone would like to compile their own modules, you would need to patch the files in linux.4.4.x source files.

 

The i915.patch file is to be placed in linux.4.4.x folder of the GPL source.

(you can do a dry run to see if there are any errors first: patch -p0 --verbose --dry-run < i915.patch )

 

If everything looks ok, you can run the following command

patch -p0 --verbose -b < i915.patch

 

after this, you just cross compile the modules as usual.

 

in_modules.sh 203 B · 25 downloads rm_modules.sh 183 B · 26 downloads i915.patch 7.13 kB · 19 downloads

Could you compile module for DS920+ 7.1.0-42661 update1 with pic id 0x3E96(xeon e-2126g coffee lake)?I will test it and report neither it works or not,Thanks!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...