Mirano Posted April 19, 2023 Share #1 Posted April 19, 2023 (edited) Hello, i've recently started using XPEnology and i've been loving it so i want to move my production unraid server to synology. I have a few questions for it: First of all the stats of the machine: CPU: i5 1240P (16 threads) RAM: 64GB 3200Mhz Storage: 1TB 980 nvme ssd Storage: 500GB Sata ssd So my questions: What model should i use, to get 64GB RAM working + 16 threads and be able to use transcoding on Plex docker If i build my redpill loader and replace a HDD, will that just detect and work? If i add a new HDD and boot the machine, will it be able to detect? Thank you in advance for answering! Used: https://github.com/fbelavenuto/arpl Edited April 19, 2023 by Mirano added way of instalation Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted April 19, 2023 Author Share #2 Posted April 19, 2023 3 hours ago, Mirano said: Hello, i've recently started using XPEnology and i've been loving it so i want to move my production unraid server to synology. I have a few questions for it: First of all the stats of the machine: CPU: i5 1240P (16 threads) RAM: 64GB 3200Mhz Storage: 1TB 980 nvme ssd Storage: 500GB Sata ssd So my questions: What model should i use, to get 64GB RAM working + 16 threads and be able to use transcoding on Plex docker If i build my redpill loader and replace a HDD, will that just detect and work? If i add a new HDD and boot the machine, will it be able to detect? Thank you in advance for answering! Also looking for around 8 disks to add! Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted April 19, 2023 Author Share #3 Posted April 19, 2023 `Will the SA6400 provide hardware encoding? Quote Link to comment Share on other sites More sharing options...
0 smilenkovski Posted April 19, 2023 Share #4 Posted April 19, 2023 SA6400, kernel 5.x is til 10-th gen intel Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted April 19, 2023 Share #5 Posted April 19, 2023 9 hours ago, Mirano said: Will the SA6400 provide hardware encoding? for 12th gen? maybe later https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=440534 for now its up to 11th gen Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted April 19, 2023 Author Share #6 Posted April 19, 2023 7 minutes ago, IG-88 said: for 12th gen? maybe later https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=440534 for now its up to 11th gen ohh okay! that sounds promising. So if i would make a build with a 11600k (6c 12T) and running Plex transcoding with 8 Disks and 64Gb RAM. Would SA6400 suffice for that? of will i run into limitations? Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted April 20, 2023 Share #7 Posted April 20, 2023 (edited) 21 hours ago, Mirano said: So if i would make a build with a 11600k (6c 12T) and running Plex transcoding with 8 Disks and 64Gb RAM. Would SA6400 suffice for that? of will i run into limitations? SA6400 can do up to 24 threads https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=441436 11600k https://ark.intel.com/content/www/us/en/ark/products/212275/intel-core-i511600k-processor-12m-cache-up-to-4-90-ghz.html GPU ID -> 0x4C8A https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=440411 or jim ma's blog (table with gpu id's ins not in chinese, also its possible to use google translate to read most of whats there) https://blog.jim.plus/blog/post/jim/synology-sa6400-with-i915 4c8a is in the list (rocket lake) as plex does not need anything else beside the i915 driver there should be no limitations with that (synolgy's own videostation would need a synology codec pack that has protections that need to be circumvented) 8 disks is even below the 12 default disks the original hardware has and even >>64GB is a supported scenario on the original (i dont recall any limit with ram size coming from synologys kernel config so no limit imho, the original comes with 1x32GB and supports extending with 32GB and 64GB DIMM's with up to 16 DIMM's slots so up to 1TB RAM might be synology's official support for SA6400) Edited April 20, 2023 by IG-88 Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted April 20, 2023 Author Share #8 Posted April 20, 2023 (edited) 45 minutes ago, IG-88 said: SA6400 can do up to 24 threads https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=441436 11600k https://ark.intel.com/content/www/us/en/ark/products/212275/intel-core-i511600k-processor-12m-cache-up-to-4-90-ghz.html GPU ID -> 0x4C8A https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/?do=findComment&comment=440411 or jim ma's blog (table with gpu id's ins not in chinese, also its possible to use google translate to read most of whats there) https://blog.jim.plus/blog/post/jim/synology-sa6400-with-i915 4c8a is in the list (rocket lake) as plex does not need anything else beside the i915 driver there should be no limitations with that (synolgy's own videostation would need a synology codec pack that has protections that need to be circumvented) 8 disks is even below the 12 default disks the original hardware has and even >>64GB is a supported scenario on the original (i dont recall any limit with ram size coming from synologys kernel config so no limit imho, the original comes with 1x32GB and supports extending with 32GB and 64GB DIMM's with up to 16 DIMM's slots so up to 1TB RAM might be synology's official support for SA6400) Hello, first and foremost thank you for the full answer that you have provided. Since i am using https://github.com/fbelavenuto/arpl and since SA6400 is still being worked on, i need a safe route. I would like to purchase a 10700k instead of 11600k (which is in the i915 driver) and use the following: Model 920+ (CPU HT disabled) Use 4 Disks for now (18TB each) Using the model 920+ synology includes the i915 driver which enables me to use plex transcoding right? Then when the 6400 is worked out more, i would switch to that config, enable HT and add the remainder 4 18TB disks and 6X 2TB SSD Also, is it better to use UEFI or BIOS? Stating the above, would that be a functional route to go by? or am i missing some critical stuff? Regards, Mirano! Edited April 20, 2023 by Mirano Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted April 20, 2023 Share #9 Posted April 20, 2023 2 hours ago, Mirano said: I would like to purchase a 10700k instead of 11600k (which is in the i915 driver) and use the following: Model 920+ (CPU HT disabled) Use 4 Disks for now (18TB each) Using the model 920+ synology includes the i915 driver which enables me to use plex transcoding right? yes, there is a extended driver (for kernel 4.x based uits like 918/920/dva1622) that can do up to 10th gen you can have more disks the default number of disks, i use a dva1622 installation with 5 disks (also a device tree model like 920) the loader should factor that in when building the loader you would need to activate the 10th gen i915 driver addon in arpl loader, that should make the 10th gen gpu work 2 hours ago, Mirano said: Also, is it better to use UEFI or BIOS? bios would be seen as exotic, uefi is the normal way 2 hours ago, Mirano said: Stating the above, would that be a functional route to go by? or am i missing some critical stuff? should be working you might consider a smaller cpu with lower power consumption (less heat equals less noise for cooling and also less money per year) you could also use 918+ if you want, with dsm 7.1 and 7.2 (still beta atm) there is no real difference as they use the same kernel, no difference with plex, 918+ might not get dsm 7.3 in the future but if you going for sa6400 anyway that might not make any difference for now, so if you have any trouble with 920 then try 918 Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted April 21, 2023 Author Share #10 Posted April 21, 2023 9 hours ago, IG-88 said: yes, there is a extended driver (for kernel 4.x based uits like 918/920/dva1622) that can do up to 10th gen you can have more disks the default number of disks, i use a dva1622 installation with 5 disks (also a device tree model like 920) the loader should factor that in when building the loader you would need to activate the 10th gen i915 driver addon in arpl loader, that should make the 10th gen gpu work Ohh that's amazing, will the drives that extend the normal capacity of the 918/920 be configurable through the UI or will that be through CLI?. I have activated the i915 driver, so that should work. Without the patch, the i915 works until 10th gen? So, 4th – 9th? 9 hours ago, IG-88 said: bios would be seen as exotic, uefi is the normal way Switching to UEFI as we speak, thank you for clarifying 9 hours ago, IG-88 said: should be working you might consider a smaller cpu with lower power consumption (less heat equals less noise for cooling and also less money per year) you could also use 918+ if you want, with dsm 7.1 and 7.2 (still beta atm) there is no real difference as they use the same kernel, no difference with plex, 918+ might not get dsm 7.3 in the future but if you going for sa6400 anyway that might not make any difference for now, so if you have any trouble with 920 then try 918 That might be an idea, I will monitor my current server and see my usage during peak hours. Running around 60~ dockers on it, so usage is quite there. Is 918+ more stable than 920+ that you would recommend switching to it? Also, I want to thank you for keep answering to my questions, some might've been answered before, but this will help me through the last parts of configuration! Is there a way for me to donate to you or xpenology to help support this project? Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted April 21, 2023 Share #11 Posted April 21, 2023 (edited) On 4/21/2023 at 9:52 AM, Mirano said: Ohh that's amazing, will the drives that extend the normal capacity of the 918/920 be configurable through the UI or will that be through CLI?. I have activated the i915 driver, so that should work. the real 10th gen driver was made for 7.x here https://xpenology.com/forum/topic/59909-i915ko-backported-driver-for-intel-10th-gen-ds918-ver-701-up3/ i never checked but i guess that driver is in arpl as 10th gen support (at least it would be the best option), the old method of just changing the id of a 9th gen unit into a 10th gen has limits (see link below about what was done in 6.2.3), the newer driver does have real backported code for 10th gen arpl comes with a gui/menu and there is a section for addon's On 4/21/2023 at 9:52 AM, Mirano said: Without the patch, the i915 works until 10th gen? So, 4th – 9th? yes syno's own ootb driver in platform apollolake (918+) and geminilake (920+/dva1622) can do up to 9th gen (when the needed firmware files are added) the i915 driver in dsm 7.1 is still the same as in 6.2.3 (synology backported a newer i915 driver in 2020 for 920+ and has not released any intel qsv hardware since, dva1622 is also just geminilake) i documented the device numbers here https://xpenology.com/forum/topic/28321-driver-extension-jun-103b104b-for-dsm623-for-918-3615xs-3617xs/ "iGPU device ID's supported by synology's i915 driver (Reveal hidden contents)" you could check the gpu id in a intel cpu on ark intel (just google "ark intel" and the cpu) On 4/21/2023 at 9:52 AM, Mirano said: Switching to UEFI as we speak, thank you for clarifying for about 10 years all "BIOS" in new hardware are uefi and have a added module named Compatibility Support Module aka "CSM" to add classic BIOS support https://en.wikipedia.org/wiki/UEFI#CSM_booting csm was only needed with dsm 6.2.3 (3615/3617) you might have used uefi already as for using CSM you need to enable that "option" in bios but also would need to boot from the "non-uefi" (or legacy) usb boot device, when using the uefi usb boot device then csm is not used (as it is just an option) some systems of the last 2-3 years might not even have CSM module anymore (seen on some NUC's from intel) On 4/21/2023 at 9:52 AM, Mirano said: That might be an idea, I will monitor my current server and see my usage during peak hours. Running around 60~ dockers on it, so usage is quite there. if you have real need like that dont bother about my comment, lots of people put in way to much cpu power just in case On 4/21/2023 at 9:52 AM, Mirano said: Is 918+ more stable than 920+ that you would recommend switching to it? no real diffrence, same kernel/driver/software, the kernel config for 920+ (geminilake is slightly different ) main difference is in sata disk handling, 920+ uses device tree that made some issues in the beginning with the loaders, as 920+ will get 2 years longer updates from synology it would be the starting point if there are problems that can't be solved or it gets to frustrating to solve 918+ is a option thats easy to try https://en.wikipedia.org/wiki/Devicetree#Linux https://xpenology.com/forum/topic/61634-dsm-7x-loaders-and-platforms/ On 4/21/2023 at 9:52 AM, Mirano said: Also, I want to thank you for keep answering to my questions, some might've been answered before, but this will help me through the last parts of configuration! Is there a way for me to donate to you or xpenology to help support this project? support the coders of the loaders, they do the heavy lifting https://github.com/pocopico https://github.com/fbelavenuto https://github.com/jim3ma (he is doing the sa6400 stuff and i915 driver for sa6400) Edited May 3, 2023 by IG-88 1 Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted April 23, 2023 Author Share #12 Posted April 23, 2023 On 4/21/2023 at 10:14 PM, IG-88 said: the real 10th gen driver was made for 7.x here https://xpenology.com/forum/topic/59909-i915ko-backported-driver-for-intel-10th-gen-ds918-ver-701-up3/ i never checked but i guess that driver is in arpl as 10th gen support (at least it would be the best option), the old method of just changing the id of a 9th gen unit into a 10th gen has limits (see link below about what was done in 6.2.3), the newer driver does have real backported code for 10th gen arpl comes with a gui/menu and there is a section for addon's Found that! thank you. On 4/21/2023 at 10:14 PM, IG-88 said: if you have real need like that dont bother about my comment, lots of people put in way to much cpu power just in case Can imagine, these types of builds are easily overbuild which causes a lot more power than they need. On 4/21/2023 at 10:14 PM, IG-88 said: support the coders of the loaders, they do the heavy lifting https://github.com/pocopico https://github.com/fbelavenuto https://github.com/jim3ma (he is doing the sa6400 stuff and i915 driver for sa6400) Donating some this afternoon, Thank you! I've tried to add more than 4 disks using ARPL but it doesn't seem to get detected in de UI of DSM. Am i suppose to do that part through CLI? Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted April 23, 2023 Share #13 Posted April 23, 2023 2 minutes ago, Mirano said: Found that! thank you. if the driver in arpl is not that one its still possible to replace the i915.ko file with the one from that thread 5 minutes ago, Mirano said: Can imagine, these types of builds are easily overbuild which causes a lot more power than they need. i've seen setups like old gaming board/cpu going into a nas and thats often some high power consumption cpu's (no one case about that in a gaming setup, just use a potent cooler and you are done) 8 minutes ago, Mirano said: I've tried to add more than 4 disks using ARPL but it doesn't seem to get detected in de UI of DSM. Am i suppose to do that part through CLI? did you look at the list of disks (the graphic only shows the original state of the housing wit its possible disks) if the disks are listed in hdd you should be able to add them depending on the configuration of the hardware it might be needed to renew the device tree files to get the disks, going into the loader and use build loader might be needed there is also a option to show disks detected in arpl (in advanced options?) if not detected at this point its not going to work in dsm Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted April 26, 2023 Author Share #14 Posted April 26, 2023 On 4/23/2023 at 1:34 PM, IG-88 said: if the driver in arpl is not that one its still possible to replace the i915.ko file with the one from that thread i've seen setups like old gaming board/cpu going into a nas and thats often some high power consumption cpu's (no one case about that in a gaming setup, just use a potent cooler and you are done) did you look at the list of disks (the graphic only shows the original state of the housing wit its possible disks) if the disks are listed in hdd you should be able to add them depending on the configuration of the hardware it might be needed to renew the device tree files to get the disks, going into the loader and use build loader might be needed there is also a option to show disks detected in arpl (in advanced options?) if not detected at this point its not going to work in dsm I indeed had to rebuild the tree to get the disks visible. Thank you so much for the answers you have been providing to me! (now it's time to wait for ARPL to get 7.2 update) Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 2, 2023 Author Share #15 Posted May 2, 2023 On 4/23/2023 at 1:34 PM, IG-88 said: if the driver in arpl is not that one its still possible to replace the i915.ko file with the one from that thread i've seen setups like old gaming board/cpu going into a nas and thats often some high power consumption cpu's (no one case about that in a gaming setup, just use a potent cooler and you are done) did you look at the list of disks (the graphic only shows the original state of the housing wit its possible disks) if the disks are listed in hdd you should be able to add them depending on the configuration of the hardware it might be needed to renew the device tree files to get the disks, going into the loader and use build loader might be needed there is also a option to show disks detected in arpl (in advanced options?) if not detected at this point its not going to work in dsm Hello, For testing i purchased a a HP mini desktop with i5 10500t. It got a UHD 630 in it, but video accerelation doesn't seem to be working: I get this result: This shows me the output required. But no /dev/dri. i used ARPL V1.1-beta2a with model 920+ and build 42962 also lspci -tvnnq is showing the videocard (igpu): Do you know what perhaps is going wrong? what should i do next to try and figure this out? Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted May 2, 2023 Share #16 Posted May 2, 2023 (edited) did you activate the addon for 10th gen cpu in the loader? check the log with "dmesg |grep i915" that the i915 driver is loaded and is loading the firmware might look similar like this (this is a log from 9th gen, afair 10th gen might need a cnl_dmc_*.bin as firmware [ 28.854600] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4) [ 29.149691] [drm] Initialized i915 1.6.0 20171222 for 0000:00:02.0 on minor 0 [ 29.244885] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device also check if the needed firmware is present "ls /usr/lib/firmware/i915" Edited May 2, 2023 by IG-88 Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 3, 2023 Author Share #17 Posted May 3, 2023 21 hours ago, IG-88 said: did you activate the addon for 10th gen cpu in the loader? check the log with "dmesg |grep i915" that the i915 driver is loaded and is loading the firmware might look similar like this (this is a log from 9th gen, afair 10th gen might need a cnl_dmc_*.bin as firmware [ 28.854600] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4) [ 29.149691] [drm] Initialized i915 1.6.0 20171222 for 0000:00:02.0 on minor 0 [ 29.244885] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device also check if the needed firmware is present "ls /usr/lib/firmware/i915" Yes i have just verified it that i loaded the addon. The commands as specified above: Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 3, 2023 Author Share #18 Posted May 3, 2023 22 hours ago, IG-88 said: check the log with "dmesg |grep i915" that the i915 driver is loaded and is loading the firmware just tried the following: This seemed to crash it Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 3, 2023 Author Share #19 Posted May 3, 2023 Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted May 3, 2023 Share #20 Posted May 3, 2023 (edited) 1 hour ago, Mirano said: the driver here is not loaded as its a wrong version from a older dsm version the kernel version of 7.0 and 7.1 is 4.4.180 and the driver needs to be compiled for that kernel version from above its there is nothing about the log after you manually loaded the driver and you could also check if there is something in /dev/dri as alternative but when just loading manually it would be gone after a reboot i also checked the driver in arpl and its "only" a patched driver the way i did it in dsm 6.2.3, the "real deal" is the extended driver that is specifically compiled from extended source that take 10th gen stuff into account (the old patch method is just changing a device id from 9th gen into one from other/newer hardware and that does not worked with all 10th gen afair) earlier in this thread https://xpenology.com/forum/topic/59909-i915ko-backported-driver-for-intel-10th-gen-ds918-ver-701-up3/ there was this patch for the i915 source code that would not need any patching for device id's like seen later in the thread or in arpl, you x9BC8 would just be part of the "better" i915 driver (not 4 different driver files, just one for all) Spoiler --- linux-4.4.x/include/drm/i915_pciids.h 2021-07-01 22:41:51.000000000 +0800 +++ linux-4.4.new/include/drm/i915_pciids.h 2022-04-10 00:46:45.589172181 +0800 @@ -406,13 +406,40 @@ INTEL_VGA_DEVICE(0x3EA7, info), /* ULT GT3 */ \ INTEL_VGA_DEVICE(0x3EA8, info) /* ULT GT3 */ -#define INTEL_CFL_IDS(info) \ - INTEL_CFL_S_GT1_IDS(info), \ - INTEL_CFL_S_GT2_IDS(info), \ - INTEL_CFL_H_GT2_IDS(info), \ - INTEL_CFL_U_GT1_IDS(info), \ - INTEL_CFL_U_GT2_IDS(info), \ - INTEL_CFL_U_GT3_IDS(info) +/* Adding CML PCI IDs */ +/* CML GT1 */ +#define INTEL_CML_GT1_IDS(info) \ + INTEL_VGA_DEVICE(0x9B21, info), \ + INTEL_VGA_DEVICE(0x9BAA, info), \ + INTEL_VGA_DEVICE(0x9BAB, info), \ + INTEL_VGA_DEVICE(0x9BAC, info), \ + INTEL_VGA_DEVICE(0x9BA0, info), \ + INTEL_VGA_DEVICE(0x9BA5, info), \ + INTEL_VGA_DEVICE(0x9BA8, info), \ + INTEL_VGA_DEVICE(0x9BA4, info), \ + INTEL_VGA_DEVICE(0x9BA2, info) + +/* CML GT2 */ +#define INTEL_CML_GT2_IDS(info) \ + INTEL_VGA_DEVICE(0x9B41, info), \ + INTEL_VGA_DEVICE(0x9BCA, info), \ + INTEL_VGA_DEVICE(0x9BCB, info), \ + INTEL_VGA_DEVICE(0x9BCC, info), \ + INTEL_VGA_DEVICE(0x9BC0, info), \ + INTEL_VGA_DEVICE(0x9BC5, info), \ + INTEL_VGA_DEVICE(0x9BC8, info), \ + INTEL_VGA_DEVICE(0x9BC4, info), \ + INTEL_VGA_DEVICE(0x9BC2, info) + +#define INTEL_CFL_IDS(info) \ + INTEL_CFL_S_GT1_IDS(info), \ + INTEL_CFL_S_GT2_IDS(info), \ + INTEL_CFL_H_GT2_IDS(info), \ + INTEL_CFL_U_GT1_IDS(info), \ + INTEL_CFL_U_GT2_IDS(info), \ + INTEL_CFL_U_GT3_IDS(info), \ + INTEL_CML_GT1_IDS(info), \ + INTEL_CML_GT2_IDS(info) /* CNL U 2+2 */ #define INTEL_CNL_U_GT2_IDS(info) \ --- linux-4.4.x/drivers/gpu/drm/i915/i915_pci.c 2021-07-01 22:30:21.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/i915_pci.c 2022-04-10 00:48:35.859172808 +0800 @@ -636,6 +636,8 @@ INTEL_CFL_U_GT1_IDS(&intel_coffeelake_gt1_info), INTEL_CFL_U_GT2_IDS(&intel_coffeelake_gt2_info), INTEL_CFL_U_GT3_IDS(&intel_coffeelake_gt3_info), + INTEL_CML_GT1_IDS(&intel_coffeelake_gt1_info), + INTEL_CML_GT2_IDS(&intel_coffeelake_gt2_info), INTEL_CNL_U_GT2_IDS(&intel_cannonlake_gt2_info), INTEL_CNL_Y_GT2_IDS(&intel_cannonlake_gt2_info), {0, 0, 0} --- linux-4.4.x/drivers/gpu/drm/i915/intel_i2c.c 2021-07-01 22:30:24.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/intel_i2c.c 2022-04-10 00:50:24.599173426 +0800 @@ -107,8 +107,10 @@ else size = ARRAY_SIZE(gmbus_pins); - return pin < size && - i915_mmio_reg_valid(get_gmbus_pin(dev_priv, pin)->reg); + return pin < size && get_gmbus_pin(dev_priv, pin)->name; + /* Remove for CML + *i915_mmio_reg_valid(get_gmbus_pin(dev_priv, pin)->reg); + */ } /* Intel GPIO access functions */ --- linux-4.4.x/drivers/gpu/drm/i915/i915_drv.h 2021-07-01 22:30:35.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/i915_drv.h 2022-04-10 00:52:03.709173989 +0800 @@ -782,7 +782,7 @@ PCH_LPT, /* Lynxpoint/Wildcatpoint PCH */ PCH_SPT, /* Sunrisepoint PCH */ PCH_KBP, /* Kaby Lake PCH */ - PCH_CNP, /* Cannon Lake PCH */ + PCH_CNP, /* Cannon/Comet Lake PCH */ PCH_NOP, }; @@ -2844,6 +2844,8 @@ #define INTEL_PCH_KBP_DEVICE_ID_TYPE 0xA280 #define INTEL_PCH_CNP_DEVICE_ID_TYPE 0xA300 #define INTEL_PCH_CNP_LP_DEVICE_ID_TYPE 0x9D80 +#define INTEL_PCH_CMP_DEVICE_ID_TYPE 0x0280 /* PCH IDs CML */ +#define INTEL_PCH_CMP2_DEVICE_ID_TYPE 0x0680 /* PCH IDs CML */ #define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100 #define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000 #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /* qemu q35 has 2918 */ --- linux-4.4.x/drivers/gpu/drm/i915/i915_drv.c 2021-07-01 22:30:29.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/i915_drv.c 2022-04-10 00:53:46.579174574 +0800 @@ -252,7 +252,16 @@ DRM_DEBUG_KMS("Found Cannon Lake LP PCH (CNP-LP)\n"); WARN_ON(!IS_CANNONLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv)); - } else if (id == INTEL_PCH_P2X_DEVICE_ID_TYPE || + } else if (id == INTEL_PCH_CMP_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_CNP; + DRM_DEBUG_KMS("Found Comet Lake PCH (CMP)\n"); + WARN_ON(!IS_COFFEELAKE(dev_priv)); + } else if (id == INTEL_PCH_CMP2_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_CNP; + DRM_DEBUG_KMS("Found Comet Lake PCH (CMP)\n"); + WARN_ON(!IS_COFFEELAKE(dev_priv)); + } + else if (id == INTEL_PCH_P2X_DEVICE_ID_TYPE || id == INTEL_PCH_P3X_DEVICE_ID_TYPE || (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE && pch->subsystem_vendor == --- linux-4.4.x/drivers/gpu/drm/i915/intel_bios.c 2021-07-01 22:30:27.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/intel_bios.c 2022-04-10 01:12:10.759180850 +0800 @@ -1198,7 +1198,8 @@ static u8 map_ddc_pin(struct drm_i915_private *dev_priv, u8 vbt_pin) { - if (HAS_PCH_CNP(dev_priv)) { + /* + if (HAS_PCH_CNP(dev_priv)) { if (vbt_pin < ARRAY_SIZE(cnp_ddc_pin_map)) { return cnp_ddc_pin_map[vbt_pin]; } else { @@ -1206,6 +1207,15 @@ return 0; } } + */ + if (HAS_PCH_CNP(dev_priv)) { + if (vbt_pin > 0 && vbt_pin < ARRAY_SIZE(cnp_ddc_pin_map)) + return cnp_ddc_pin_map[vbt_pin]; + if (vbt_pin > GMBUS_PIN_4_CNP) { + DRM_DEBUG_KMS("Ignoring alternate pin: VBT claims DDC pin %d, which is not valid for this platform\n", vbt_pin); + return 0; + } + } return vbt_pin; } @@ -1218,7 +1228,7 @@ uint8_t hdmi_level_shift; int i, j; bool is_dvi, is_hdmi, is_dp, is_edp, is_crt; - uint8_t aux_channel, ddc_pin; + /*uint8_t aux_channel, ddc_pin; */ /* Each DDI port can have more than one value on the "DVO Port" field, * so look for all the possible values for each port. */ @@ -1254,8 +1264,10 @@ if (!child) return; + /* Removed for CML aux_channel = child->aux_channel; - ddc_pin = child->ddc_pin; + ddc_pin = child->ddc_pin; + */ is_dvi = child->device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; is_dp = child->device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; @@ -1302,13 +1314,22 @@ DRM_DEBUG_KMS("Port %c is internal DP\n", port_name(port)); if (is_dvi) { - info->alternate_ddc_pin = map_ddc_pin(dev_priv, ddc_pin); - - sanitize_ddc_pin(dev_priv, port); + /*info->alternate_ddc_pin = map_ddc_pin(dev_priv, ddc_pin); + sanitize_ddc_pin(dev_priv, port); */ + u8 ddc_pin; + ddc_pin = map_ddc_pin(dev_priv, child->ddc_pin); + if (intel_gmbus_is_valid_pin(dev_priv, ddc_pin)) { + info->alternate_ddc_pin = ddc_pin; + sanitize_ddc_pin(dev_priv, port); + } else { + DRM_DEBUG_KMS("Port %c has invalid DDC pin %d, " + "reverting to defaults\n", + port_name(port), ddc_pin); + } } if (is_dp) { - info->alternate_aux_channel = aux_channel; + info->alternate_aux_channel = child->aux_channel; sanitize_aux_ch(dev_priv, port); } @@ -1878,7 +1899,7 @@ if (port == PORT_A || port >= ARRAY_SIZE(port_mapping)) return false; - + if ((child->device_type & DEVICE_TYPE_DP_DUAL_MODE_BITS) != (DEVICE_TYPE_DP_DUAL_MODE & DEVICE_TYPE_DP_DUAL_MODE_BITS)) return false; Edited May 3, 2023 by IG-88 Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 3, 2023 Author Share #21 Posted May 3, 2023 13 minutes ago, IG-88 said: the driver here is not loaded as its a wrong version from a older dsm version the kernel version of 7.0 and 7.1 is 4.4.180 and the driver needs to be compiled for that kernel version from above its there is nothing about the log after you manually loaded the driver and you could also check if there is something in /dev/dri as alternative but when just loading manually it would be gone after a reboot i also checked the driver in arpl and its "only" a patched driver the way i did it in dsm 6.2.3, the "real deal" is the extended driver that is specifically compiled from extended source that take 10th gen stuff into account (the old patch method is just changing a device id from 9th gen into one from other/newer hardware and that does not worked with all 10th gen afair) earlier in this thread https://xpenology.com/forum/topic/59909-i915ko-backported-driver-for-intel-10th-gen-ds918-ver-701-up3/ there was this patch for the i915 source code that would not need any patching for device id's like seen later in the thread or in arpl, you x9BC8 would just be part of the "better" i915 driver (not 4 different driver files, just one for all) i915.patch (Reveal hidden contents) --- linux-4.4.x/include/drm/i915_pciids.h 2021-07-01 22:41:51.000000000 +0800 +++ linux-4.4.new/include/drm/i915_pciids.h 2022-04-10 00:46:45.589172181 +0800 @@ -406,13 +406,40 @@ INTEL_VGA_DEVICE(0x3EA7, info), /* ULT GT3 */ \ INTEL_VGA_DEVICE(0x3EA8, info) /* ULT GT3 */ -#define INTEL_CFL_IDS(info) \ - INTEL_CFL_S_GT1_IDS(info), \ - INTEL_CFL_S_GT2_IDS(info), \ - INTEL_CFL_H_GT2_IDS(info), \ - INTEL_CFL_U_GT1_IDS(info), \ - INTEL_CFL_U_GT2_IDS(info), \ - INTEL_CFL_U_GT3_IDS(info) +/* Adding CML PCI IDs */ +/* CML GT1 */ +#define INTEL_CML_GT1_IDS(info) \ + INTEL_VGA_DEVICE(0x9B21, info), \ + INTEL_VGA_DEVICE(0x9BAA, info), \ + INTEL_VGA_DEVICE(0x9BAB, info), \ + INTEL_VGA_DEVICE(0x9BAC, info), \ + INTEL_VGA_DEVICE(0x9BA0, info), \ + INTEL_VGA_DEVICE(0x9BA5, info), \ + INTEL_VGA_DEVICE(0x9BA8, info), \ + INTEL_VGA_DEVICE(0x9BA4, info), \ + INTEL_VGA_DEVICE(0x9BA2, info) + +/* CML GT2 */ +#define INTEL_CML_GT2_IDS(info) \ + INTEL_VGA_DEVICE(0x9B41, info), \ + INTEL_VGA_DEVICE(0x9BCA, info), \ + INTEL_VGA_DEVICE(0x9BCB, info), \ + INTEL_VGA_DEVICE(0x9BCC, info), \ + INTEL_VGA_DEVICE(0x9BC0, info), \ + INTEL_VGA_DEVICE(0x9BC5, info), \ + INTEL_VGA_DEVICE(0x9BC8, info), \ + INTEL_VGA_DEVICE(0x9BC4, info), \ + INTEL_VGA_DEVICE(0x9BC2, info) + +#define INTEL_CFL_IDS(info) \ + INTEL_CFL_S_GT1_IDS(info), \ + INTEL_CFL_S_GT2_IDS(info), \ + INTEL_CFL_H_GT2_IDS(info), \ + INTEL_CFL_U_GT1_IDS(info), \ + INTEL_CFL_U_GT2_IDS(info), \ + INTEL_CFL_U_GT3_IDS(info), \ + INTEL_CML_GT1_IDS(info), \ + INTEL_CML_GT2_IDS(info) /* CNL U 2+2 */ #define INTEL_CNL_U_GT2_IDS(info) \ --- linux-4.4.x/drivers/gpu/drm/i915/i915_pci.c 2021-07-01 22:30:21.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/i915_pci.c 2022-04-10 00:48:35.859172808 +0800 @@ -636,6 +636,8 @@ INTEL_CFL_U_GT1_IDS(&intel_coffeelake_gt1_info), INTEL_CFL_U_GT2_IDS(&intel_coffeelake_gt2_info), INTEL_CFL_U_GT3_IDS(&intel_coffeelake_gt3_info), + INTEL_CML_GT1_IDS(&intel_coffeelake_gt1_info), + INTEL_CML_GT2_IDS(&intel_coffeelake_gt2_info), INTEL_CNL_U_GT2_IDS(&intel_cannonlake_gt2_info), INTEL_CNL_Y_GT2_IDS(&intel_cannonlake_gt2_info), {0, 0, 0} --- linux-4.4.x/drivers/gpu/drm/i915/intel_i2c.c 2021-07-01 22:30:24.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/intel_i2c.c 2022-04-10 00:50:24.599173426 +0800 @@ -107,8 +107,10 @@ else size = ARRAY_SIZE(gmbus_pins); - return pin < size && - i915_mmio_reg_valid(get_gmbus_pin(dev_priv, pin)->reg); + return pin < size && get_gmbus_pin(dev_priv, pin)->name; + /* Remove for CML + *i915_mmio_reg_valid(get_gmbus_pin(dev_priv, pin)->reg); + */ } /* Intel GPIO access functions */ --- linux-4.4.x/drivers/gpu/drm/i915/i915_drv.h 2021-07-01 22:30:35.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/i915_drv.h 2022-04-10 00:52:03.709173989 +0800 @@ -782,7 +782,7 @@ PCH_LPT, /* Lynxpoint/Wildcatpoint PCH */ PCH_SPT, /* Sunrisepoint PCH */ PCH_KBP, /* Kaby Lake PCH */ - PCH_CNP, /* Cannon Lake PCH */ + PCH_CNP, /* Cannon/Comet Lake PCH */ PCH_NOP, }; @@ -2844,6 +2844,8 @@ #define INTEL_PCH_KBP_DEVICE_ID_TYPE 0xA280 #define INTEL_PCH_CNP_DEVICE_ID_TYPE 0xA300 #define INTEL_PCH_CNP_LP_DEVICE_ID_TYPE 0x9D80 +#define INTEL_PCH_CMP_DEVICE_ID_TYPE 0x0280 /* PCH IDs CML */ +#define INTEL_PCH_CMP2_DEVICE_ID_TYPE 0x0680 /* PCH IDs CML */ #define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100 #define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000 #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /* qemu q35 has 2918 */ --- linux-4.4.x/drivers/gpu/drm/i915/i915_drv.c 2021-07-01 22:30:29.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/i915_drv.c 2022-04-10 00:53:46.579174574 +0800 @@ -252,7 +252,16 @@ DRM_DEBUG_KMS("Found Cannon Lake LP PCH (CNP-LP)\n"); WARN_ON(!IS_CANNONLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv)); - } else if (id == INTEL_PCH_P2X_DEVICE_ID_TYPE || + } else if (id == INTEL_PCH_CMP_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_CNP; + DRM_DEBUG_KMS("Found Comet Lake PCH (CMP)\n"); + WARN_ON(!IS_COFFEELAKE(dev_priv)); + } else if (id == INTEL_PCH_CMP2_DEVICE_ID_TYPE) { + dev_priv->pch_type = PCH_CNP; + DRM_DEBUG_KMS("Found Comet Lake PCH (CMP)\n"); + WARN_ON(!IS_COFFEELAKE(dev_priv)); + } + else if (id == INTEL_PCH_P2X_DEVICE_ID_TYPE || id == INTEL_PCH_P3X_DEVICE_ID_TYPE || (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE && pch->subsystem_vendor == --- linux-4.4.x/drivers/gpu/drm/i915/intel_bios.c 2021-07-01 22:30:27.000000000 +0800 +++ linux-4.4.new/drivers/gpu/drm/i915/intel_bios.c 2022-04-10 01:12:10.759180850 +0800 @@ -1198,7 +1198,8 @@ static u8 map_ddc_pin(struct drm_i915_private *dev_priv, u8 vbt_pin) { - if (HAS_PCH_CNP(dev_priv)) { + /* + if (HAS_PCH_CNP(dev_priv)) { if (vbt_pin < ARRAY_SIZE(cnp_ddc_pin_map)) { return cnp_ddc_pin_map[vbt_pin]; } else { @@ -1206,6 +1207,15 @@ return 0; } } + */ + if (HAS_PCH_CNP(dev_priv)) { + if (vbt_pin > 0 && vbt_pin < ARRAY_SIZE(cnp_ddc_pin_map)) + return cnp_ddc_pin_map[vbt_pin]; + if (vbt_pin > GMBUS_PIN_4_CNP) { + DRM_DEBUG_KMS("Ignoring alternate pin: VBT claims DDC pin %d, which is not valid for this platform\n", vbt_pin); + return 0; + } + } return vbt_pin; } @@ -1218,7 +1228,7 @@ uint8_t hdmi_level_shift; int i, j; bool is_dvi, is_hdmi, is_dp, is_edp, is_crt; - uint8_t aux_channel, ddc_pin; + /*uint8_t aux_channel, ddc_pin; */ /* Each DDI port can have more than one value on the "DVO Port" field, * so look for all the possible values for each port. */ @@ -1254,8 +1264,10 @@ if (!child) return; + /* Removed for CML aux_channel = child->aux_channel; - ddc_pin = child->ddc_pin; + ddc_pin = child->ddc_pin; + */ is_dvi = child->device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; is_dp = child->device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; @@ -1302,13 +1314,22 @@ DRM_DEBUG_KMS("Port %c is internal DP\n", port_name(port)); if (is_dvi) { - info->alternate_ddc_pin = map_ddc_pin(dev_priv, ddc_pin); - - sanitize_ddc_pin(dev_priv, port); + /*info->alternate_ddc_pin = map_ddc_pin(dev_priv, ddc_pin); + sanitize_ddc_pin(dev_priv, port); */ + u8 ddc_pin; + ddc_pin = map_ddc_pin(dev_priv, child->ddc_pin); + if (intel_gmbus_is_valid_pin(dev_priv, ddc_pin)) { + info->alternate_ddc_pin = ddc_pin; + sanitize_ddc_pin(dev_priv, port); + } else { + DRM_DEBUG_KMS("Port %c has invalid DDC pin %d, " + "reverting to defaults\n", + port_name(port), ddc_pin); + } } if (is_dp) { - info->alternate_aux_channel = aux_channel; + info->alternate_aux_channel = child->aux_channel; sanitize_aux_ch(dev_priv, port); } @@ -1878,7 +1899,7 @@ if (port == PORT_A || port >= ARRAY_SIZE(port_mapping)) return false; - + if ((child->device_type & DEVICE_TYPE_DP_DUAL_MODE_BITS) != (DEVICE_TYPE_DP_DUAL_MODE & DEVICE_TYPE_DP_DUAL_MODE_BITS)) return false; This explains alot why it is not working! Seeing you've got the i915.patch file linked, how would i install that? Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted May 3, 2023 Share #22 Posted May 3, 2023 the alternative to this would be the next level of i915 support we've seen lately its a modded arpl loader with sa6400 (only x64 kernel 5.x device) with a extension to use i915 driver up to 11th gen https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/ the only glitch was with realtek 8168/8111 where it cant use the nic ootb (i added a intel nic and changed something to make r8168 work on boot and then removed the intel nic) also atm it does not come with such a rich driver set as the other loaders, it still some beta but works and it would be possible to use the *.ko files from other loaders like arpl or tcrp (they do have driver sets for epyc aka sa6400 on github) Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 3, 2023 Author Share #23 Posted May 3, 2023 6 minutes ago, IG-88 said: the alternative to this would be the next level of i915 support we've seen lately its a modded arpl loader with sa6400 (only x64 kernel 5.x device) with a extension to use i915 driver up to 11th gen https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/ the only glitch was with realtek 8168/8111 where it cant use the nic ootb (i added a intel nic and changed something to make r8168 work on boot and then removed the intel nic) also atm it does not come with such a rich driver set as the other loaders, it still some beta but works and it would be possible to use the *.ko files from other loaders like arpl or tcrp (they do have driver sets for epyc aka sa6400 on github) currently installing this! keeping you updated! Quote Link to comment Share on other sites More sharing options...
0 IG-88 Posted May 3, 2023 Share #24 Posted May 3, 2023 8 minutes ago, Mirano said: Seeing you've got the i915.patch file linked, how would i install that? someone would need to compile a new driver from the dsm 7.0 source with the patch and that could be (tested) and installed - i did not follow this thread for a while but a thought they where on the right path, looks like they took a different turn somewhere anyway the best so far might be jim ma's i915 in sa6400 so far, it overcomes some of the backporting issues as the i915 in kernel 5.x can do more and a lot of that stuff was to much effort to backport into kernel 4.4 (and all the other devices of synology is still based in kernel 4.4 and that will be the same with dsm 7.2, so for at least a year there might be no better solution then sa6400 with 10th and above cpu's (for now up to 11th but he wrote that he already had code for 12th gen) Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 3, 2023 Author Share #25 Posted May 3, 2023 28 minutes ago, IG-88 said: the alternative to this would be the next level of i915 support we've seen lately its a modded arpl loader with sa6400 (only x64 kernel 5.x device) with a extension to use i915 driver up to 11th gen https://xpenology.com/forum/topic/68067-develop-and-refine-sa3600broadwellnk-and-sa6400epyc7002-thread/ the only glitch was with realtek 8168/8111 where it cant use the nic ootb (i added a intel nic and changed something to make r8168 work on boot and then removed the intel nic) also atm it does not come with such a rich driver set as the other loaders, it still some beta but works and it would be possible to use the *.ko files from other loaders like arpl or tcrp (they do have driver sets for epyc aka sa6400 on github) got sa6400 running through the link provided. /dev/dri is working now, i ran this earlier and opted out of it because of this: Since its Intel running a AMD setup (sa6400) that doesn't seem to play nice with Virtual machines within Synology's OS. Do you perhaps know a way around? Quote Link to comment Share on other sites More sharing options...
0 Mirano Posted May 3, 2023 Author Share #26 Posted May 3, 2023 Quote Link to comment Share on other sites More sharing options...
Question
Mirano
Hello,
i've recently started using XPEnology and i've been loving it so i want to move my production unraid server to synology.
I have a few questions for it:
First of all the stats of the machine:
So my questions:
Thank you in advance for answering!
Used: https://github.com/fbelavenuto/arpl
Edited by Miranoadded way of instalation
Link to comment
Share on other sites
28 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.