The package needs to be split, one for the latest runtime, one for the legacy. https://gitlab.archlinux.org/archlinux/packaging/packages/intel-compute-runtime/-/issues/3 OpenCL doesn't work anymore on my Intel HD Graphics 530 (Skylake), attempt to build a program crashes the process with the message: RequiresExtension: Feature requires the following SPIR-V extension: SPV_KHR_non_semantic_info
I don't maintain this but I don't think this would be viable for long, these packages already gives a lot of headaches (esp. for a source based distro that needs to keep them compiling with modern toolchains) and keeping a version that is no longer supported upstream would likely fall apart rather quickly.
(In reply to Ionen Wolkens from comment #1) > no longer supported upstream Or is there a legacy branch that is still receiving support? May have misunderstood.
Looks like there is a legacy branch that will receive no new features, but critical fixes only: https://github.com/intel/compute-runtime/blob/master/LEGACY_PLATFORMS.md
FWICS, the current version in tree seems the legacy branch and newer versions dropped support. I would tend to introduce a legacy slot instead of multiple variant packages. WDYT?
(In reply to Conrad Kostecki from comment #4) > FWICS, the current version in tree seems the legacy branch and newer > versions dropped support. Not quite, the current package version is 24.35.30872.25, while the first runtime release that dropped legacy support runtime is 24.35.30872.22. > I would tend to introduce a legacy slot instead of multiple variant > packages. WDYT? Any solution that works is fine by me. It is unlikely that two branches can be installed at the same time, nor that somebody has such hardware configuration in the first place.
(In reply to Ivan Podmazov from comment #5) > Not quite, the current package version is 24.35.30872.25, while the first > runtime release that dropped legacy support runtime is 24.35.30872.22. The runtime stopped working after the update, so it is definitely the 'non-legacy' version.
(In reply to Ivan Podmazov from comment #5) > Not quite, the current package version is 24.35.30872.25, while the first > runtime release that dropped legacy support runtime is 24.35.30872.22. thats why I talked about 'branch' ;-) 24.35 according to website. (In reply to Ivan Podmazov from comment #6) > (In reply to Ivan Podmazov from comment #5) > > Not quite, the current package version is 24.35.30872.25, while the first > > runtime release that dropped legacy support runtime is 24.35.30872.22. > > The runtime stopped working after the update, so it is definitely the > 'non-legacy' version. Thats strange. Upstream says: In case of critical fixes we plan to deliver them through a new release from 24.35 release branch. We have 24.35 branch, so you are sure?
(In reply to Conrad Kostecki from comment #7) > thats why I talked about 'branch' ;-) 24.35 according to website. > We have 24.35 branch, so you are sure? You're right, the branch is indeed 24.35. I believe that they meant that the legacy support will be based on this branch. Probably there are some patches or something that are applied to make deb packages with 'legacy1' suffix. But I can say for sure that the current ebuild downloads the latest runtime, not the legacy one.
(In reply to Ivan Podmazov from comment #8) > But I can say for sure that the current ebuild downloads the latest runtime, > not the legacy one. By the latest runtime I mean the one that does not support Gen8-Gen11 anymore.
They write: > If you are using legacy platform, follow latest 24.35 release procedure > instead the one below. More details in known issues section. > Support for Gen8, Gen9 and Gen11 devices will be delivered via packages with legacy1 suffix: > - intel-opencl-icd-legacy1_24.35.30872.22_amd64.deb > - intel-level-zero-gpu-legacy1_1.3.30872.22_amd64.deb I think the legacy runtime can be installed from a deb package only, not by building the 24.35 branch.
(In reply to Ivan Podmazov from comment #10) > They write: > > > If you are using legacy platform, follow latest 24.35 release procedure > > instead the one below. More details in known issues section. > > > Support for Gen8, Gen9 and Gen11 devices will be delivered via packages with legacy1 suffix: > > - intel-opencl-icd-legacy1_24.35.30872.22_amd64.deb > > - intel-level-zero-gpu-legacy1_1.3.30872.22_amd64.deb > > I think the legacy runtime can be installed from a deb package only, not by > building the 24.35 branch. No. I don't think so. There is actually a compile option, which even exists in newer versions: NEO_ALLOW_LEGACY_PLATFORMS_SUPPORT. As for current status: I am trying to update intel-graphics-compiler (v1) with the latest v1 version for legacy, but unable to get a successful compilation. Any ideas appreciated. Once that fixed, I can continue to look into intel-compute-runtime. -> https://github.com/intel/intel-graphics-compiler/issues/352
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56bc06608ed2515d3e63059f9c3207ba608abca6 commit 56bc06608ed2515d3e63059f9c3207ba608abca6 Author: Conrad Kostecki <conikost@gentoo.org> AuthorDate: 2024-12-15 15:32:26 +0000 Commit: Conrad Kostecki <conikost@gentoo.org> CommitDate: 2024-12-15 15:39:21 +0000 dev-libs/intel-compute-runtime: enable support for legacy devices Bug: https://bugs.gentoo.org/943189 Signed-off-by: Conrad Kostecki <conikost@gentoo.org> ...35.30872.25.ebuild => intel-compute-runtime-24.35.30872.25-r1.ebuild} | 1 + 1 file changed, 1 insertion(+)
I've enabled 'NEO_ALLOW_LEGACY_PLATFORMS_SUPPORT' in existing 24.35.30872.25. Could someone please test this? You need to emerge the pushed -r1 version.
@Ivan Podmazov: Could you please give a test? Thanks!
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbaa1c35976af056006e00263d6827e7c1d6674e commit bbaa1c35976af056006e00263d6827e7c1d6674e Author: Conrad Kostecki <conikost@gentoo.org> AuthorDate: 2025-01-09 15:10:36 +0000 Commit: Conrad Kostecki <conikost@gentoo.org> CommitDate: 2025-01-09 15:11:37 +0000 dev-libs/intel-compute-runtime: add 24.52.32224.5 This version will be masked initially, until split of legacy will happen. Bug: https://bugs.gentoo.org/943189 Signed-off-by: Conrad Kostecki <conikost@gentoo.org> dev-libs/intel-compute-runtime/Manifest | 1 + .../intel-compute-runtime-24.52.32224.5.ebuild | 84 ++++++++++++++++++++++ profiles/package.mask | 1 + 3 files changed, 86 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=508558b0d32975523a189d442a2a3700971093c0 commit 508558b0d32975523a189d442a2a3700971093c0 Author: Conrad Kostecki <conikost@gentoo.org> AuthorDate: 2025-01-09 14:45:38 +0000 Commit: Conrad Kostecki <conikost@gentoo.org> CommitDate: 2025-01-09 15:11:37 +0000 dev-util/intel-graphics-compiler: add 2.5.7 This version will be masked initially, until split of legacy will happen. Bug: https://bugs.gentoo.org/943189 Signed-off-by: Conrad Kostecki <conikost@gentoo.org> dev-util/intel-graphics-compiler/Manifest | 1 + .../intel-graphics-compiler-2.5.7.ebuild | 106 +++++++++++++++++++++ profiles/package.mask | 5 + 3 files changed, 112 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8ed4c614111d2c2cdae9df6a53514de6937aae0 commit b8ed4c614111d2c2cdae9df6a53514de6937aae0 Author: Conrad Kostecki <conikost@gentoo.org> AuthorDate: 2025-01-09 13:25:52 +0000 Commit: Conrad Kostecki <conikost@gentoo.org> CommitDate: 2025-01-09 15:11:36 +0000 dev-util/intel-graphics-compiler: add 1.0.17791.18 This is the final branch for lecacy devices. Bug: https://bugs.gentoo.org/943189 Signed-off-by: Conrad Kostecki <conikost@gentoo.org> dev-util/intel-graphics-compiler/Manifest | 1 + .../intel-graphics-compiler-1.0.17791.18.ebuild | 105 +++++++++++++++++++++ 2 files changed, 106 insertions(+)
Sorry for the response delay. I have tested the new package version and can confirm, it works again! Many, many thanks! Older hardware was revived and can serve a little longer now. If I understand correctly, the driver code wasn't drastically rewritten and the device compatibility wasn't broken, they've just blocked older devices with a flag? That was a quite rude move from Intel.
(In reply to Ivan Podmazov from comment #16) > Sorry for the response delay. > I have tested the new package version and can confirm, it works again! Many, > many thanks! Older hardware was revived and can serve a little longer now. Thanks for testing! Which version did you tested? This one? (the latest legacy versions according to upstream) dev-libs/intel-compute-runtime-24.35.30872.32 dev-util/intel-graphis-compiler-1.0.17791.18 > If I understand correctly, the driver code wasn't drastically rewritten and > the device compatibility wasn't broken, they've just blocked older devices > with a flag? That was a quite rude move from Intel. As for the legacy branches, this is the case. But since I noticed, that this legacy option still exists in newer releases, I would be curious, if you could test that. The option is still enabled in eBuild by me. Could please unmask (via package.unmask) and try if older devices still work with newer releases? dev-libs/intel-compute-runtime-24.52.32224.5 dev-util/intel-graphics-compiler-2.5.7-r1
Created attachment 916705 [details] emerge --info '=dev-util/intel-graphics-compiler-2.5.7-r1::gentoo'
Created attachment 916706 [details] /var/tmp/portage/dev-util/intel-graphics-compiler-2.5.7-r1/temp/build.log
You're right! I've 'tested' the old version, and didn't look at the version number, how silly of me XD I've attached the build log of the new graphics compiler, which is built first and fails. Here's the output of `emerge -pqv '=dev-util/intel-graphics-compiler-2.5.7-r1::gentoo'`: [ebuild U ] dev-util/intel-graphics-compiler-2.5.7-r1 [1.0.17791.18] USE="-debug -vc" LLVM_SLOT="15"
(In reply to Ivan Podmazov from comment #20) > You're right! I've 'tested' the old version, and didn't look at the version > number, how silly of me XD All fine. The new version is masked. So you can confirm, that at least with 'intel-graphis-compiler-1.0.17791.18' and 'intel-compute-runtime-24.35.30872.32' it works with legacy? Because I would take that versions then for legacy. > I've attached the build log of the new graphics compiler, which is built > first and fails. Could you please try with enabled vc use flag?
(In reply to Conrad Kostecki from comment #21) > So you can confirm, that at least with > 'intel-graphics-compiler-1.0.17791.18' and > 'intel-compute-runtime-24.35.30872.32' it works with legacy? Yep, I have these versions installed on two of my computers and I could compile and run code on HD Graphics 530 and UHD Graphics 620 without noticeable problems. > Could you please try with enabled vc use flag? Still doesn't compile on both machines. It doesn't look good. Should I upload the whole build log? ``` /var/tmp/portage/dev-util/intel-graphics-compiler-2.5.7-r1/work/intel-graphics-compiler-2.5.7/IGC/VectorCompiler/lib/Driver/SPIRVWrapper.cpp: In function ‘int {anonymous}::spirvReadVerify(const char*, size_t, const uint32_t*, const uint64_t*, unsigned int, llvm::LLVMContext&, void (*)(const char*, size_t, void*), void*, void (*)(const char*, void*), void*)’: /var/tmp/portage/dev-util/intel-graphics-compiler-2.5.7-r1/work/intel-graphics-compiler-2.5.7/IGC/VectorCompiler/lib/Driver/SPIRVWrapper.cpp:117:10: error: ‘class SPIRV::TranslatorOpts’ has no member named ‘setEmitFunctionPtrAddrSpace’ 117 | Opts.setEmitFunctionPtrAddrSpace(true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ```
Hm, I am not able to reproduce. As for IGC-2.5.7. Do you have this versions installed as deps? dev-libs/intel-metrics-discovery-1.13.179 dev-libs/intel-metrics-library-1.0.182 dev-libs/level-zero-1.20.1 dev-util/intel-graphics-system-controller-0.9.5 dev-libs/intel-vc-intrinsics-0.21.0 dev-util/spirv-llvm-translator-15.0.8
> As for IGC-2.5.7. Do you have this versions installed as deps? > > dev-libs/intel-metrics-discovery-1.13.179 > dev-libs/intel-metrics-library-1.0.182 > dev-libs/level-zero-1.20.1 > dev-util/intel-graphics-system-controller-0.9.5 > dev-libs/intel-vc-intrinsics-0.21.0 > dev-util/spirv-llvm-translator-15.0.8 I had older versions of some of these packages. After manually adding them to accept_keywords and updating them I've managed to build the newest intel-graphics-compiler and intel-compute-runtime without errors. However, the Intel OpenCL platform isn't available after the update. clinfo doesn't detect it anymore, not even after a reboot. After a downgrade, the Intel platform becomes detected again instantly, without a reboot.
Allright, thanks for confirming! I will now have a look to split them in legacy and current.
(In reply to Conrad Kostecki from comment #25) > Allright, thanks for confirming! I will now have a look to split them in > legacy and current. Thank you for the support!
Ivan Podmazov: WDYT? I tend to move current intel-graphics-compiler as seperate intel-graphics-compiler-legacy package for older GPUs?
That's fine. I'd just need to uninstall the old package and install the new one, right?