Flash Intel Arc GPU Firmware in Linux - Printable Version +- Jellyfin Forum (https://forum.jellyfin.org) +-- Forum: Support (https://forum.jellyfin.org/f-support) +--- Forum: Guides, Walkthroughs & Tutorials (https://forum.jellyfin.org/f-guides-walkthroughs-tutorials) +--- Thread: Flash Intel Arc GPU Firmware in Linux (/t-flash-intel-arc-gpu-firmware-in-linux) |
Flash Intel Arc GPU Firmware in Linux - TheDreadPirate - 2024-06-09 For whatever reason, Intel only bundles firmware updates with their Windows driver packages. Leaving us Linux users to either periodically boot into Windows just for firmware updates or manually update firmware. Why would we need to update firmware? If you have an Arc GPU that is performing poorly compared to what others have posted, its possible the firmware your Arc GPU is running is the problem. We found out that old firmware was the cause of this user's poor transcoding performance. https://forum.jellyfin.org/t-help-with-transcoding?page=3 This guide will walk you through the process of updating your Intel Arc GPU's firmware on the Linux command line. Credit goes to this Level 1 Techs forum thread. This walk through is purely for awareness in the Jellyfin community and distilling down the process. https://forum.level1techs.com/t/remember-to-update-your-intel-arc-firmware-on-linux/208736 *****DISCLAIMER***** Do not interrupt the firmware update process once it has begun, period. Do not start this process during a storm. Ideally, your server is connected to a UPS. Just in case. Proceed at your own risk. ************************** Before we begin, verify which version of glibc is on your system. The pre-compiled binaries we will be using require glibc 2.38 and newer. Debian 12 and other older distros may not have a new enough glibc. To check your glibc version type "ldd --version" in a terminal. The output will look like this. Code: chris@rat-trap:~$ ldd --version If your system is running 2.38+ you can continue following this guide. If your system is running an older glibc scroll down to the bottom of this post and read the appendix to manually build the igsc tool from Intel's git.
Now that you've downloaded all the files you need, we can proceed with flashing your Arc GPU's firmware. The steps below will be the commands I used. ******** All text in bold+underlined need to be substituted with your device path and file names you downloaded for your model. ******** First we need the device path.
It will be something like "/dev/mei2". Now we will flash the SOC firmware. This will be the .bin file you downloaded.
Now we will flash the OPROM data. This will be the .rom file you downloaded.
Now we will flash the OPROM code.
Now we will flash the fw-data. The file we need will be in the zip file we expanded earlier.
Reboot and you're done. ####### Appendix - Manually build igsc ####### You will need to install a few packages to build igsc from Intel's git. libudev-dev ninja-build cmake git On Debian/Ubuntu this would be done with
If you're not on Debian/Ubuntu, replace apt with whatever package manager your distro uses. Now we are going to clone Intel's igsc git.
Cd into the igsc directory this created and build the executable and library
Now we that have our executable and library, move them to another folder in your home where you will also be downloading all the binaries and roms to.
The igsc executable should already have execute permissions, but we are ensuring is has execute permissions before moving it. Now you can proceed with the rest of the walk through. RE: Flash Intel Arc GPU Firmware in Linux - Host-in-the-Shell - 2024-06-10 Unfortunately Debian stable is still on glibc 2.36 and the igsc binary requires 2.38, so I was unable to try this. Maybe there's a way of compiling it for Debian, but I did not see any docs for it on the git repo. Anyway, transcoding performance is pretty solid for me so I suppose I shouldn't mess with this in the first place. Thanks for the comprehensive guide, though! RE: Flash Intel Arc GPU Firmware in Linux - TheDreadPirate - 2024-06-10 @Host-in-the-Shell Check out Intel's git for the build instructions. https://github.com/intel/igsc RE: Flash Intel Arc GPU Firmware in Linux - bitmap - 2024-06-10 Well shit. I found this just as a storm is rolling in. I wouldn't be gun shy but I had three brownouts that caused my UPS to kick in last night. I need a better UPS, too... RE: Flash Intel Arc GPU Firmware in Linux - Host-in-the-Shell - 2024-06-10 @TheDreadPirate Thanks! Compiled and firmware upgraded successfully without issues. All transcoding working great after rebooting and I do feel some improvement in speeds. Went smoother than I imagined. Perhaps adding a small note for Debian 12 users about these extra steps in the original post could be useful. RE: Flash Intel Arc GPU Firmware in Linux - TheDreadPirate - 2024-06-10 Can you post the instructions you followed successfully and I'll append my post with it. RE: Flash Intel Arc GPU Firmware in Linux - anthonylavado - 2024-06-10 So far for me, on Debian 12 (Bookworm): sudo apt-get update sudo apt-get install libudev-dev ninja-build git clone https://github.com/intel/igsc.git cd igsc/ cmake -G Ninja -S . -B builddir ninja -v -C builddir cp builddir/lib/libigsc.so.0 {location of original download} It's also worth mentioning that I don't have an Intel CPU with iGPU, so for me the device was always mei1. RE: Flash Intel Arc GPU Firmware in Linux - Host-in-the-Shell - 2024-06-10 That's pretty much it, except I also had to install the package build-essential for the compilation to be successful. Edit: Oh, and also had to install cmake. RE: Flash Intel Arc GPU Firmware in Linux - anthonylavado - 2024-06-10 That's a good call out - I forgot I had those installed because of other build work RE: Flash Intel Arc GPU Firmware in Linux - TheDreadPirate - 2024-06-10 For clarification, you were able to use the pre-compiled igsc executable from the Solaris17 git but had to build libigsc from source, correct? Nm. I found the executable the build produced. igsc/builddir/src/igsc |