Intel 12th generation Alder Lake / Hybrid CPU


Recommended Posts

On 3/18/2022 at 2:38 PM, greencode said:

Is there something particular one should look at/for to know if iGPU support for UHD 770 transcode has been added.

Yes, if you're wanting to use plex then other distros will bring faster support than unRAID due to how they perform base OS updates.

 

I've also been monitoring this unRAID thread to see if/when iGPU will have support. Keeping an eye on plex forums is going to be the way to go.

 

https://forums.plex.tv/t/anyone-have-been-able-to-hw-transcode-on-an-intel-nuc-11-iris-xe/695381/464

 

https://forums.plex.tv/t/plex-media-server-on-ubuntu-21-10-with-intel-12th-gen-alder-lake/768123/8

Link to comment
On 3/19/2022 at 9:41 AM, accelaptd said:

 

*I'm not entirely sure I understand how the PCIe slots work on the boards. Please tell me I'm wrong and I can jam those physically-x16-but-actually-only-3.0x4 slots full of x8 HBAs and it'll work.

 

For the most part, PCIe cards of any lane count will work in any PCIe slot with any other lane count.  What you really need to do is sit down and determine what you have as far as add on cards and their bandwidth, what your board has for available slots and then where you want to have peak performance and where you don't mind taking a hit.

 

I went with the MSI Z690-A DDR4 board specifically because of the x16 length slots.

As of this moment, I'm running a Intel X520-SR2 (PCIe 2.0 x8), IBM M5110 HBA (PCIe 3.0 x8) and a LSI 9207-8e HBA (PCIe 3.0 x8)
 

The X520 is only ever going to be able to operate at 2.0, because it's only a 2.0 card.  It uses 8 lanes, so it could use 32gbps of bandwidth if it was put in a 2.0 (or greater) x8 slot.  If you take that same card and put it in a x4 slot (regardless of PCIe 2/3/4), it will max out at 16gbps.  in a x1 slot, 4gbps.

Each of my HBA's can do 64gbps.  The reality is thought that one of these HBA's connect to a pair of external shelfs (24x2.5, 15x3.5).  Since the bulk of those disks are used as my Unraid array and since Unraid doesn't strip data, I'm rarely ever able to move any crazy data speeds through there.  On write, I'm limited to parity speed writes.  On reads, I'm really not pulling data from too many disks at the same time.

For me, it made sense to do the following;

 

* M5110 in the x16 slot, giving me full bandwidth (important as I'll have some NVME connected to that card)

* 9207-8e on the x1 slot.  The drops the card all the way down to 8gbps on that single lane, but the reality is that is still more bandwidth than I can ever move do to a non-striped array.

* X520-SR2 in the x4 slot.  It chokes my bandwidth for a 2x10gbe NIC down to 16gbps total, but that's fine.  I kept high network bandwidth as a preference since I have two 2x500gb Gen4 cache pools to write to and pull appdata from.

I'm going to ultimately pull the two HBA's and replace them with a single 16i HBA, then pass through two of the ports to the shelfs with a slot adapter.  This will give me full bandwidth on any of the disks.

HTH. 

Link to comment

@accelaptd Biostar Z690A Valkyrie is the only board that fits those requirements that I'm aware of (I spent a very long time looking for additional boards). Running it myself, it works well - x8 HBA in one slot, other slot running a GPU at x8 as well, both direct to the CPU. No other boards have x8/x8 and DDR4 that I'm currently aware of. I actually ended up importing my Z690A from abroad as it wasn't sold locally.

 

One thing additional thing to be aware of that @Brandon_K didn't mention is the DMI bus, and how that will limit things - on Z690 the bandwidth between the CPU and the chipset is equivalent to PCIe Gen4 x8. This bandwidth is shared among _everything_ connected to the chipset, which on most boards is all additional M.2 slots after the first (as that's connected straight to the CPU as PCIe Gen4 x4), all additional PCIe slots, and then stuff like ethernet, USB, etc etc.

 

In many cases, this will be fine, but that is the big advantage of the x8/x8 boards - you can put two high bandwidth PCIe devices onto the motherboard without bottlenecking the chipset.

Edited by dgh3q678re
Link to comment
3 hours ago, dgh3q678re said:

@accelaptd Biostar Z690A Valkyrie is the only board that fits those requirements that I'm aware of (I spent a very long time looking for additional boards). Running it myself, it works well - x8 HBA in one slot, other slot running a GPU at x8 as well, both direct to the CPU. No other boards have x8/x8 and DDR4 that I'm currently aware of. I actually ended up importing my Z690A from abroad as it wasn't sold locally.

 

On 3/12/2022 at 1:34 AM, DeadDevil6210 said:

Server specs
i5 12600K
gigabyte z690 UD DDR4
64GB 3600MHZ mem

 

And I have an ASUS Prime z690-p d4 coming today.   You'd think we could've standardized or just let one of us be the guinea pig. Hopefully they all do great. 

Link to comment
36 minutes ago, dimes007 said:

 

 

And I have an ASUS Prime z690-p d4 coming today.   You'd think we could've standardized or just let one of us be the guinea pig. Hopefully they all do great. 

Running RC4 on the Asus Prime Z690-p D4, seems same as RC3.  Still haven’t tried iGPU passthrough for Plex or Handbrake, but everything seems stable so far.

Link to comment
32 minutes ago, NightOps said:

Running RC4 on the Asus Prime Z690-p D4, seems same as RC3.  Still haven’t tried iGPU passthrough for Plex or Handbrake, but everything seems stable so far.

You ever try passing through the iGPU to a Windows VM?

 

I've only ever used CPU transcoding in Plex.  In this new setup, by my estimation the 4 E-cores give about a 7000 passmark and can do 3 x 1080p streams simultaneously.   I rarely need more than 1.

 

Regards.

Link to comment
2 minutes ago, dimes007 said:

You ever try passing through the iGPU to a Windows VM?

 

I've only ever used CPU transcoding in Plex.  In this new setup, by my estimation the 4 E-cores give about a 7000 passmark and can do 3 x 1080p streams simultaneously.   I rarely need more than 1.

 

Regards.

I have not, I’m running Plex and Handbrake in docker.  I’ve isolated 2 E cores to unRAID, and pretty much left the rest wide open.  I don’t have many non direct play users, so I figured I would just sit tight until a release came out using the 5.16.x kernel that fully supports the iGPU on the 12600k

Link to comment

The TLDR is that with ASUS motherboard you can't use legacy boot along with both discrete AND integrated GPU at the same time.   Do you guys have that issue?  is it a weird 12th Gen Intel thing or just a silly programming decision in Asus bios.  

 

== longer version

 

in order to keep igpu active when discrete gpu is plugged in you have to go into bios without igpu installed.  You can then turn on Multi-Monitor to Enabled.  Assign the initial gpu to the iGPU.   Then shutdown and install discrete and it'll show up.  But doing so disables CSM and along with that anyway to boot legacy.  I guess uefi boot for unraid isn't a big deal but i've never used it.

 

 

  • Like 1
Link to comment
On 3/12/2022 at 1:34 AM, DeadDevil6210 said:

Server specs
i5 12600K
gigabyte z690 UD DDR4
64GB 3600MHZ mem

I’m also using this same mobo. Are you able to detect the fan speed? I can see CPU and MB Temp sensors but none of my PWM fans can be seen within Unraid. Currently running RC4

 

 

Edit: Was able to solve the PWM fan issue by following these instructions from a different thread. Turns out its not a Z690-specific problem like I assumed.

 

Edited by Kthwaits
answered my own question
  • Like 1
Link to comment
7 minutes ago, crankyCowboy said:

I'm running on RC4 and it doesn't appear to recognize that my nic is capable of 2.5gb. Is there something in particular I have to do?

Which motherboard and NIC type from lspci and the run -v -s and the ID to get driver info.

 

lspci  sample

00:1f.4 SMBus: Intel Corporation Alder Lake-S PCH SMBus Controller (rev 11)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-S PCH SPI Controller (rev 11)
02:00.0 Non-Volatile memory controller: Micron/Crucial Technology P2 NVMe PCIe SSD (rev 01)
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8192EE PCIe Wireless Network Adapter
04:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3]
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)

root@computenode:~# lspci -v -s 05:00.0
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-V (rev 03)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7d25
        Flags: bus master, fast devsel, latency 0, IRQ 18, IOMMU group 17
        Memory at 50e00000 (32-bit, non-prefetchable) [size=1M]
        Memory at 50f00000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
        Capabilities: [a0] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Device Serial Number d8-bb-c1-ff-ff-8c-c9-b0
        Capabilities: [1c0] Latency Tolerance Reporting
        Capabilities: [1f0] Precision Time Measurement
        Capabilities: [1e0] L1 PM Substates
        Kernel driver in use: igc
        Kernel modules: igc

 

Link to comment

Chiming in with my experience on RC4 (5.15.30-Unraid), so far.

 

- 12th Gen Intel(R) Core(TM) i7-12700K

- 64GB DDR4-3200

- AsRock Z690 Pro RS

- Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

-- Kernel driver in use: r8169

- Fan speed and temperature sensors working with nct6798

 

Lots of dockers, zero VMs.  Disabled hardware encoding for Plex in the app's settings, but still passing through a /dev/dri device, so I can turn it back on easily when it's ready. I can't confirm the Realtek LAN at 2.5GbE, as I'm using a 10GbE PCIe card instead.

 

I have not experienced a single crash/freeze.

  • Like 1
Link to comment
On 3/13/2022 at 10:16 PM, Wintersdark said:

How did you get Plex hw transcoding?  I'm running on a very similar setup with an i5-12400 and a Gigabyte Z690 (ddr4, 2.5gbe).  I have connectivity on the LAN (though I'm only connecting to a 1gbe network, so I can't confirm 2.5.  

 

But while I can get the iGPU to be recognized, plex will not hardware transcode.

 

root@Tuna:~# ls -al /dev/dri
total 0
drwxrwxrwx  3 root root       100 Mar 13 18:51 ./
drwxr-xr-x 16 root root      4440 Mar 13 18:54 ../
drwxrwxrwx  2 root root        80 Mar 13 18:51 by-path/
crwxrwxrwx  1 root video 226,   0 Mar 13 18:51 card0
crwxrwxrwx  1 root video 226, 128 Mar 13 18:51 renderD128
root@Tuna:~#

 

root@Tuna:~# cat /boot/config/modprobe.d/i915.conf
#options i915 force_probe=4692
blacklist i915

Tried with and without forceprobe and blacklist.

 

Pulling up a Plex docker console (linuxserver.io docker container):

# ls -al /dev/dri
total 0
drwxrwxrwx 3 root root        100 Mar 13 18:51 .
drwxr-xr-x 6 root root        360 Mar 13 18:55 ..
drwxrwxrwx 2 root root         80 Mar 13 18:51 by-path
crwxrwxrwx 1 root video1 226,   0 Mar 13 18:51 card0
crwxrwxrwx 1 root video1 226, 128 Mar 13 18:51 renderD128

 

From Plex's logs when attempting to transcode (this is an h264 file):

320700743_Plexlog.thumb.jpg.f2f7741a504e2876b8f567a31610ad8a.jpg

 

aaaaand it just falls back to software decode.  But the 12400 isn't really meaty enough to handle a lot of software decodes.

 

Running 6.10.rc3.

 

Edit: Finally got it.   

 

--device=/dev/dri

in the container Advanced View "Extra Parameters" field did the job.  Now, to see if it crashes.

YES.jpg.cbeea651a062fa852b6ab79db6809920.jpg


I feel like a complete moron here, but admittedly I have limited experience with linux outside of Unraid.  I've been banging my head against a wall for a bit here.

I read through this thread 15 times and I seem to be missing some obvious step, or my limited knowledge of linux is hindering me.  I see the bit about "Extra Parameters" (which I don't have with binhex's build). And I see;
 

root@Tuna:~# cat /boot/config/modprobe.d/i915.conf
#options i915 force_probe=4692
blacklist i915

But I have no idea where that goes?

Can you (or anyone else) give a condensed / step by step version on what needs done to get QS working under Unraid / Plex?  I would be much greatful!

Link to comment
52 minutes ago, Brandon_K said:


I feel like a complete moron here, but admittedly I have limited experience with linux outside of Unraid.  I've been banging my head against a wall for a bit here.

I read through this thread 15 times and I seem to be missing some obvious step, or my limited knowledge of linux is hindering me.  I see the bit about "Extra Parameters" (which I don't have with binhex's build). And I see;
 

root@Tuna:~# cat /boot/config/modprobe.d/i915.conf
#options i915 force_probe=4692
blacklist i915

But I have no idea where that goes?

Can you (or anyone else) give a condensed / step by step version on what needs done to get QS working under Unraid / Plex?  I would be much greatful!

 

The #options i915 force_probe=4692 is commented out so it does nothing.  The blacklist i915 line is the functional one.

 

You want blacklist i915 in the file "/boot/config/modprobe.d/i915.conf" (it's on the flash drive, but from unraid command line that'll take you there. 

 

You can use, from the command line:

 

echo "blacklist i915" > /boot/config/modprobe.d/i915.conf

 

To do it.

Link to comment
3 hours ago, crankyCowboy said:

@SimonFFirst of all, thank you very much for taking the time to help (I'm new and confused). See the attached outputs from running the lspci command.

Capture.JPG

Capture1.JPG

Ok so it looks like the driver is being used on the nic and I have the same nic on my MSI board.

 

What do you get if you run you will need to select the correct eth number.

 

root@computenode:~# ethtool ethx
Settings for eth2:
        Supported ports: [  ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no

Link to comment
1 hour ago, Brandon_K said:

I see the bit about "Extra Parameters"

Have you switch from basic to advanced view in the docker template?

 

1 hour ago, Brandon_K said:

But I have no idea where that goes?

Do you have the /dev/dri on your system otherwise you need to enable the igpu.

 

in rc3 and above i915 is loaded but you will need to have the forceprobe to enable and depends on how you are doing this. 

 

1) you can do in modprobe.d/i915.conf file value of force probe will vary between CPUs

2) add options to syslinx line

3) blacklist in modprobe and using intet_gpu_top plugin to load drivers.

 

Have a look at this thread.

 

 

Link to comment
8 hours ago, Brandon_K said:




Can you (or anyone else) give a condensed / step by step version on what needs done to get QS working under Unraid / Plex?  I would be much greatful!

 

I see you quoted a post from someone with an Alder Lake CPU. If you have one of those, QS just isn't going to work with Plex yet, no matter what you do.,

  • Like 1
Link to comment
4 hours ago, flyize said:

I see you quoted a post from someone with an Alder Lake CPU. If you have one of those, QS just isn't going to work with Plex yet, no matter what you do.,

@flyize Many in this thread have reported success using QS in these 12th gen Alder Lakes with varying levels of success. It seems to be hit or miss with some people saying they aren't experiencing any problems whatsoever, where others are stating they are having hangs, freezes, and all kinds of problems.   I'll probably disable until it's officially supported, but I have been able to get QS to work with initial tests.

  • Like 1
Link to comment
28 minutes ago, crankyCowboy said:

@flyize Many in this thread have reported success using QS in these 12th gen Alder Lakes with varying levels of success. It seems to be hit or miss with some people saying they aren't experiencing any problems whatsoever, where others are stating they are having hangs, freezes, and all kinds of problems.   I'll probably disable until it's officially supported, but I have been able to get QS to work with initial tests.

I've gotten Plex to do some hardware transcoding - for a time.  However within 2 weeks I'll have lockups and be forced to hard shut down and restart... resulting in the inevitable parity sync.  Same situation with using QS for Handbrake.  However once I shut down Plex and Handbrake from using the iGPU, I've had 0 problems... 56 days no parity sync, and the only downtime was planned so that I could update to RC4.

Link to comment

Thank you to everyone who guided me in the right direction.  While it isn't perfect, I'm getting somewhere!  The echo command posted earlier, as well as needing to chmod the /dev/dri now has me hardware transcoding in Plex on a i5 12600K.  2% CPU and 5% GPU load on a basic 4K transcode (13gb film, 265, 10bit).  There are still some issues though.  There is some odd green video artifacting when I try to transcode LOTR (125gb 4K remux).  But it's a start!

 

My go-to build is binhex's Plex. Unfortunately it doesn't have the "Extra Parameters" field to add --device=/dev/dri .  What would I have to add to the binhex template to do that?  Part of my issue is I don't understand what --device=/dev/dri actually is or does, so I have idea where to start on what to add.

Link to comment
20 hours ago, crankyCowboy said:

@flyize Many in this thread have reported success using QS in these 12th gen Alder Lakes with varying levels of success. It seems to be hit or miss with some people saying they aren't experiencing any problems whatsoever, where others are stating they are having hangs, freezes, and all kinds of problems.   I'll probably disable until it's officially supported, but I have been able to get QS to work with initial tests.

It works. Until it crashes (in my case, no more than 24 hours). I've been monitoring this intently and don't think I've seen it work long term for anyone. I'd love to be wrong though!

Link to comment
11 hours ago, Brandon_K said:

Thank you to everyone who guided me in the right direction.  While it isn't perfect, I'm getting somewhere!  The echo command posted earlier, as well as needing to chmod the /dev/dri now has me hardware transcoding in Plex on a i5 12600K.  2% CPU and 5% GPU load on a basic 4K transcode (13gb film, 265, 10bit).  There are still some issues though.  There is some odd green video artifacting when I try to transcode LOTR (125gb 4K remux).  But it's a start!

 

My go-to build is binhex's Plex. Unfortunately it doesn't have the "Extra Parameters" field to add --device=/dev/dri .  What would I have to add to the binhex template to do that?  Part of my issue is I don't understand what --device=/dev/dri actually is or does, so I have idea where to start on what to add.

--device=/dev/dri is simply adding a "device" to your Plex docker, and the path to that device is /dev/dri.  Easiest way to look at it is "/dev" are devices within the machine.  "/dri" is one such device within Linux for Direct Rendering Infrastructure - basically the general purpose pathway for Linux to be able to use a rendering device.  So by specifying "--device=/dev/dri" you are effectively adding a display rendering device to your docker for whatever purposes it can access via the Direct Rendering Manager API.  That's about the extent of what I understand in all this.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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.