intel arc support


jsrk
Go to solution Solved by ich777,

Recommended Posts

2 minutes ago, ich777 said:

I can spoiler you something (4x 4K HDR HFR simultaneous transcodes to various different h264 bitrates and resolutions)

 

This makes me a happy man haha.

I purchased the Arc A380 with sole intention as a dedicated card for Plex, so this will work perfectly.

 

Does your card's temps also get significantly lower at that kernel version? I'm noticing that my GPU is getting quite hot for a card that's not doing anything, which I'm attributing to the lack of any drivers currently.

Link to comment
12 minutes ago, xorinzor said:

I purchased the Arc A380 with sole intention as a dedicated card for Plex, so this will work perfectly.

But keep in mind this is only h264 and h265, for AV1 transcoding you have to wait a bit longer since the Linux implementation is not ready yet (Intel Media Driver package, FFMPEG and all other applications are not quiet ready yet).

 

17 minutes ago, xorinzor said:

Does your card's temps also get significantly lower at that kernel version?

I have a Asrock Intel Arc A380 Challenger ITX 6GB OC and this card is getting pretty hot OOB, of course one thing is that it has a zero fan RPM mode and by default it's in that mode but at least while transcoding the fan turns on but it won't get noticeable cooler since the fan curve is not that aggressive in my opinion.

Link to comment
6 minutes ago, ich777 said:

But keep in mind this is only h264 and h265, for AV1 transcoding you have to wait a bit longer since the Linux implementation is not ready yet (Intel Media Driver package, FFMPEG and all other applications are not quiet ready yet).

 

Ah okay, good to know. Still a perfect card for me though. I had my RTX2070 before this shared with multiple docker containers, including plex.

But wanted to move that to a dedicated VM, thus needed a new GPU for transcoding.

 

14 minutes ago, ich777 said:

I have a Asrock Intel Arc A380 Challenger ITX 6GB OC and this card is getting pretty hot OOB


I have that exact same card, brand new, same behaviour. I guess it's just normal for this card then. Hopefully they'll improve that in future updates. My RTX2070 fans dont spin either, but it doesn't get anywhere near as warm in idle as the A380

Link to comment
6 minutes ago, xorinzor said:

but it doesn't get anywhere near as warm in idle as the A380

But don't forget that the cooler is much smaller on the A380, I even thought about removing the shroud and attaching a 120mm fan to it which is connected to the MB and let it run at 50% or something like that, not the nicest solution but it will work, keep the card cool and this wouldn't be the first time that I'll do some mods like that. :D

Link to comment
On 2/18/2023 at 12:46 PM, xorinzor said:

 

Ah okay, good to know. Still a perfect card for me though. I had my RTX2070 before this shared with multiple docker containers, including plex.

But wanted to move that to a dedicated VM, thus needed a new GPU for transcoding.

 


I have that exact same card, brand new, same behaviour. I guess it's just normal for this card then. Hopefully they'll improve that in future updates. My RTX2070 fans dont spin either, but it doesn't get anywhere near as warm in idle as the A380

me too, save behavior.

In regards to the earlier question, I am uncertain how an update will work out for me, but my estimation is that I can just download a new unraid on my windows pc and replace all the files on the usb stick if something fails. I have a pretty simple setup so I am confident that this will work for me. I don't know what your setup is, but my understanding is that official support is around the corner so it's probably better to wait. Having said that, I think you made an excellent choice with having gotten an A380 and you will probably be very happy with the results.

Link to comment
On 2/18/2023 at 12:55 PM, ich777 said:

But don't forget that the cooler is much smaller on the A380, I even thought about removing the shroud and attaching a 120mm fan to it which is connected to the MB and let it run at 50% or something like that, not the nicest solution but it will work, keep the card cool and this wouldn't be the first time that I'll do some mods like that. :D

I think the cooling block is too small for that, you would also have the remove the fan from the card or else it could block the airflow too much.

Link to comment
2 minutes ago, jsrk said:

I don't know what your setup is

I'm using a pretty beefy server that runs pretty much everything; Webservers, Plex, Windows VM, Pihole, Unifi controller, etc.

 

so reinstalling and reconfiguring all the vlans, docker networks, etc would be quite a bit of a hassle for me 😅 I do make backups, but I'm unsure how much backups will help me if the unraid packages get messed up.

 

Since my CPU (ryzen 5900X) is powerful enough to transcode (if needed) I have no issue with just waiting for an official release :)

Link to comment
2 minutes ago, xorinzor said:

I'm using a pretty beefy server that runs pretty much everything; Webservers, Plex, Windows VM, Pihole, Unifi controller, etc.

 

so reinstalling and reconfiguring all the vlans, docker networks, etc would be quite a bit of a hassle for me 😅 I do make backups, but I'm unsure how much backups will help me if the unraid packages get messed up.

 

Since my CPU (ryzen 5900X) is powerful enough to transcode (if needed) I have no issue with just waiting for an official release :)

 

In that case I think you are definitly making the right choice in waiting. Plex currently also doesn't support the ARC card (at least it didn't 2 weeks ago), only jellyfin does.

Link to comment
On 2/17/2023 at 9:39 PM, Clockwork Elf said:

When stable unraid reaches kernel 6.2 will you have to do anything or just update as regular (possibly skip previous updates before 6.2)?

I am in the same boat currently( arc380/trying to encode most of my media in AV1 and decode if necessary on clients that don't support it), using Jellyfin as well and wondering if I should try your approach. The other option I've seen is running a VM with the necessary kernel but I've seen multiple people having issue with passing through the arc380. Have you had any additional problems since this post or is everything still fine? 

In regards to the updates: Probably not. What you should know though is that AV1 encode doesn't work yet. Passing the kernel through to an additional vm works but it has given me so many additional problems that I decided to not do that. I have zero issues currently (with custom kernel) but I only use jellyfin. Emby and Plex don't support the arc yet.

Link to comment
1 hour ago, jsrk said:

I can just download a new unraid on my windows pc and replace all the files on the usb stick if something fails.

You have to only replace the bz* files and the changes.txt file if you want to upgrade…

 

1 hour ago, jsrk said:

I think the cooling block is too small for that, you would also have the remove the fan from the card or else it could block the airflow too much.

Exactly, but since I‘m only testing whats currently possible with ARC I don‘t have to do this currently.

 

57 minutes ago, jsrk said:

only jellyfin does.

49 minutes ago, jsrk said:

Emby and Plex don't support the arc yet.

This is also not entirely true… have you compiled the Kernel yourself? Maybe something went wrong there since I have no issue usig the card with Emby.

I‘m not too sure about Plex because I don‘t know if they are using QuickSync (which is not ready yet for ARC) but if they are using the VA-API it should be no issue at all but I can also imagine if you have a second card installed which actually uses /dev/dri/renderD128 and your ARC card is /dev/dri/renderD129 in the system this will cause issues and you need to map it from the host to the container with something like that in the template:

--device=/dev/dri/renderD129:/dev/dri/renderD128

And you also have to map the card from 1 to 0 like:

--device=/dev/dri/card1:/dev/dri/card0

 

This should work for Plex too if they are using VA-API instead of QuickSync.

Link to comment
1 hour ago, ich777 said:

You have to only replace the bz* files and the changes.txt file if you want to upgrade…

 

Exactly, but since I‘m only testing whats currently possible with ARC I don‘t have to do this currently.

 

This is also not entirely true… have you compiled the Kernel yourself? Maybe something went wrong there since I have no issue usig the card with Emby.

I‘m not too sure about Plex because I don‘t know if they are using QuickSync (which is not ready yet for ARC) but if they are using the VA-API it should be no issue at all but I can also imagine if you have a second card installed which actually uses /dev/dri/renderD128 and your ARC card is /dev/dri/renderD129 in the system this will cause issues and you need to map it from the host to the container with something like that in the template:

--device=/dev/dri/renderD129:/dev/dri/renderD128

And you also have to map the card from 1 to 0 like:

--device=/dev/dri/card1:/dev/dri/card0

 

This should work for Plex too if they are using VA-API instead of QuickSync.

I moved completely to jellyfin but when I still had emby it would only show the vp9 and h264 decoder and nothing else. Yes I compiled the Kernel myself, if it works for you and not for me, then I probably messed something up. I can use quicksync on jellyfin just fine, even though it's not completely ready yet.

I disabled my igpu in the bios but I am sure the info you provided will come in handy for other people.

Link to comment
On 2/19/2023 at 11:03 PM, ich777 said:

You have to only replace the bz* files and the changes.txt file if you want to upgrade…

 

Exactly, but since I‘m only testing whats currently possible with ARC I don‘t have to do this currently.

 

This is also not entirely true… have you compiled the Kernel yourself? Maybe something went wrong there since I have no issue usig the card with Emby.

I‘m not too sure about Plex because I don‘t know if they are using QuickSync (which is not ready yet for ARC) but if they are using the VA-API it should be no issue at all but I can also imagine if you have a second card installed which actually uses /dev/dri/renderD128 and your ARC card is /dev/dri/renderD129 in the system this will cause issues and you need to map it from the host to the container with something like that in the template:

--device=/dev/dri/renderD129:/dev/dri/renderD128

And you also have to map the card from 1 to 0 like:

--device=/dev/dri/card1:/dev/dri/card0

 

This should work for Plex too if they are using VA-API instead of QuickSync.

 

https://forums.plex.tv/t/anybody-get-hw-transcoding-working-with-the-a380-on-ubunutu/823618

I doubt it will work on Plex as they are still using outdated Intel UMD drivers and libs that don't match the upstream 6.2 kernel.

 

And yes Plex only support VA-API interface instead of QuickSync interface in their modified FFmpeg.

  • Like 1
Link to comment
30 minutes ago, nyanmisaka said:

I doubt it will work on Plex as they are still using outdated Intel UMD drivers and libs that don't match the upstream 6.2 kernel.

 

And yes Plex only support VA-API interface instead of QuickSync interface in their modified FFmpeg.

But what are they using by default?

 

If VA-API is used the latest Intel Media Drivers are not necessary and it should work right OOB. If they are using QuickSync by default it won't work, that's fore sure.

I'm not really a Plex user, I have a copy from Plex for testing purposes but nothing more and as I noticed lately they seem to transform their platform a bit, at least it seems to me that they are taking a turn into a wrong direction.

Link to comment
20 minutes ago, ich777 said:

But what are they using by default?

 

If VA-API is used the latest Intel Media Drivers are not necessary and it should work right OOB. If they are using QuickSync by default it won't work, that's fore sure.

I'm not really a Plex user, I have a copy from Plex for testing purposes but nothing more and as I noticed lately they seem to transform their platform a bit, at least it seems to me that they are taking a turn into a wrong direction.

 

$ strings /usr/lib/plexmediaserver/lib/dri/iHD_drv_video.so | grep "iHD driver"

Intel iHD driver for Intel(R) Gen Graphics - 22.4.4 (2bbbd9b)

 

media-driver 22.4.4

 

They don't enable libmfx/libvpl in their FFmpeg build configs. So they use VA-API on Intel.

  • Thanks 2
Link to comment
  • 2 weeks later...
11 minutes ago, xorinzor said:

Ah, I wasn't really tracking it haha. Just looked and saw the updated stable version.

 

Do you have any idea if this could mean we'll see this kernel come to unraid in a soon-ish update? or would it realistically take a while longer?

With 6.12 ZFS support is included within the base so likely that it wont be at least until zfs confirms 6.2 support. Currently last release support upto 6.1

Edited by SimonF
  • Thanks 1
Link to comment
  • 1 month later...
  • 3 weeks later...
On 2/10/2023 at 12:54 PM, jsrk said:

 

The easy way:

download the kernel 6.2 from: github.com/DatPat/unraid_arc_g2

replace the downloaded files (bzImage, bzmodues and bzfirmware ) on your unraid usb-stick.

*you may want to set a static ip as some people had issues with their dhcp config

then reboot. then you should have the card available. you may then download a beta/unstable jellyfin build to use it.

 

 

The hard way:

download a 6.2 build of your choice from here github.com/thor2002ro/unraid_kernel

Add this to the .config file:

CONFIG_INTEL_MEI=m 
CONFIG_INTEL_MEI_ME=m 
CONFIG_INTEL_MEI_TXE=m 
CONFIG_INTEL_MEI_GSC=m 
CONFIG_INTEL_MEI_HDCP=m 
CONFIG_INTEL_MEI_PXP=m 
CONFIG_INTEL_MEI_WDT=m

compile

follow the easy way from here on out.


Unfortunately, it does not work for me. I have done the following:


1) Update Unraid to 6.12.0-rc5
2) Reboot to take effect the update and shutdown afterwards
3) Downloaded "the files" from "https://github.com/DatPat/unraid_arc_g2/releases" and copied the three mentioned files to the USB drive
4) start Unraid again


Here's what happens:
Unraid starts but does not get an IP assigned. Normally there is always the IP above the login. Static IP is set.

https://imgur.com/d1ioHBD

I tried both files (RC5 and RC7) from github.

--

I had to delete the network.conf. Then it worked.

Edited by PlanetDyna
Link to comment

Someone broke it. Wasn't me. Add static IP manually.

 

 

Quote:

 

README.md

unraid_arc_g2

compiled unraid kernel images to get intel arc dg2 working

this was compiled from https://github.com/thor2002ro/unraid_kernel (rc5)

for me dhcp was broken un this RC so you may have to set a static ip if that happens to you as well

changes: bzmodules & bzimages: CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_TXE=m CONFIG_INTEL_MEI_GSC=m CONFIG_INTEL_MEI_HDCP=m CONFIG_INTEL_MEI_PXP=m CONFIG_INTEL_MEI_WDT=m

bzfirmware: files from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 dg2_huc_gsc.bin dg2_dmc_ver2_08.bin

 

 

 

/etc/rc.d/rc.local: line 129: logger: command not found 
/etc/rc.d/rc.local: line 132: /usr/local/sbin/plugin: No such file or directory 
/etc/rc.d/rc.local: line 132: logger: command not found 
/etc/rc.d/rc.local: line 132: /usr/local/sbin/plugin: No such file or directory 
/etc/rc.d/rc.local: line 132: logger: command not found 
/etc/rc.d/rc.local: line 132: /usr/local/sbin/plugin: No such file or directory 
/etc/rc.d/rc.local: line 132: logger: command not found 
/etc/rc.d/rc.local: line 132: /usr/local/sbin/plugin: No such file or directory 
/etc/rc.d/rc.local: line 132: logger: command not found 
/etc/rc.d/rc.local: line 132: /usr/local/sbin/plugin: No such file or directory 
/etc/rc.d/rc.local: line 132: logger: command not found 
/etc/rc.d/rc.local: line 132: /usr/local/sbin/plugin: No such file or directory 
/etc/rc.d/rc.local: line 132: logger: command not found 
/etc/rc.d/rc.local: line 138: logger: command not found 
/etc/rc.d/rc.local: line 147: logger: command not found 
/etc/rc.d/rc.local: line 148: frondos: command not found 
agetty: cannot open UNIX socket 
agetty: cannot open UNIX socket 
Welcome to Linux 6.2.0-rc7-thor-Unraid+ x86_64 (tty1) 

Tower login: up
 

In a situation where you have command-line access but not network access, you can set a static IP address for your network interface directly from the command line. Here's a step-by-step guide on how you might go about doing this:

1. **Identify your network interface:** The first thing you need to do is figure out which network interface you want to configure. You can do this with the `ip link show` or `ifconfig` command. The output should list your network interfaces. Typically, your primary ethernet interface will be something like `eth0` or `ens33`.

2. **Set the IP address:** Once you know which interface you want to configure, you can use the `ip` command to set its IP address. The command to do this is as follows:
    ```bash
    ip addr add 192.0.2.1/24 dev eth0
    ```
    Replace `192.0.2.1/24` with your desired IP address and subnet mask, and `eth0` with your network interface. Note that you'll need root permissions to run this command.

3. **Set the default gateway:** You'll also need to set the default gateway for your network interface. You can do this with the `ip` command as well:
    ```bash
    ip route add default via 192.0.2.254
    ```
    Replace `192.0.2.254` with the IP address of your gateway (typically your router's IP address).

4. **Set the DNS server:** Finally, you'll need to set your DNS server. This is done in the `/etc/resolv.conf` file. You can edit this file with a text editor like `nano` or `vi`:
    ```bash
    echo "nameserver 8.8.8.8" > /etc/resolv.conf
    ```
    Replace `8.8.8.8` with the IP address of your preferred DNS server. The above command uses Google's DNS server.

Remember, these settings will be lost after a system reboot. To make these changes persistent across reboots, you'll need to edit the network configuration file for your specific Linux distribution. For Slackware, these settings are typically stored in the `/etc/rc.d/rc.inet1.conf` file.

As always, be careful when making changes to system configuration files, and only do so if you're comfortable with what you're doing. If you're not sure, it's better to ask for help rather than risk making a mistake.

Edited by GRRRRRRR
Link to comment
  • 6 months later...
On 2/8/2023 at 7:56 PM, jsrk said:

 

I don't think we are entitled to every operating system supporting the hardware we want or certain technical decisions made in line with our personal perferences.

Having said that, you can make or download a kernel which supports ARC gpus and install it over the kernel you're currently using.

I'd agree with this if the discussion was about obscure technology, but when it comes to GPUs..........

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.