-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux 5.18 NVIDIA module won't load: Missing ENDBR: _portMemAllocatorAllocNonPagedWrapper+0x0/0x10
#256
Comments
Missing ENDBR: _portMemAllocatorAllocNonPagedWrapper+0x0/0x10
Missing ENDBR: _portMemAllocatorAllocNonPagedWrapper+0x0/0x10
Hi, I couldn't repro this with 5.18.0-arch1-1 from testing. Can you try with nvidia-open-dkms-515.43.04-8 just to be sure that the kernel module was rebuilt with the matching kernel headers? |
I was using the Downgraded to kernel |
@rnd-ash: Could you experiment to see if the same ENDBR error happens with: I'm curious if the problem has something to do with how the open nvidia.ko was built by arch-linux (maybe something about the toolchain used). I think experiments (1) and (2) should help shake that out. It looks like ENDBR is new in 5.18. I wonder if the problem here only manifests with certain kernel kconfigs. E.g., maybe it requires X86_KERNEL_IBT |
From archlinux's config file, I can see that on the problematic kernel version, I tried to download the However, I switched over to try both the nvidia-open-dkms and nvidia-dkms packages from arch (PKGBUILDs can be seen here and here), and they all result in the same ENDBR error. |
Does it work if you pass the kernel ' ibt=off' ? |
Just tried it, it does! |
ibt=off also works for me from grub. I am running Arcolinux on a Dell XPS 9520 (NVIDIA 3050 and 16 GB ram). I am also running NVIDIA Prime. Any idea what the issue may be? |
GPU: NVIDIA RTX 3060 laptop |
Perfect fix😉 |
Same issue here. Kernel: 5.18 - GPU Driver: NVIDIA 515.43.04 - Rtx 3080 desktop @atiensivu thank you, what does ibt=off do? It boots if I use it |
I also faced this problem. Optimus-manager failed. |
Add support for Intel CET-IBT (Indirect Branch Tracking), a hardware support course-grain forward-edge Control Flow Integrity protection. It enforces that all indirect calls must land on an ENDBR instruction, as such, the compiler will instrument the code with them to make this happen. |
Anyone knows how to add parameter this when using EFIStub? Edit:
|
same goes for me Kernel: 5.18.0-arch1-1 |
Happens to me too Setting ibt=off fixes the issue temporarily, but cannot be considered a full solution. |
I can confirm, I have the same issue. How can we fix this issue? |
@CryptLabs You can temporarily fix the issue by adding |
I can confirm the same issue on my laptop. Arch Linux RTX 3070 Laptop |
@mahancoder I have used |
please fix |
I just installed latest nvidia dkms drivers (515.43.04-2) and the fix does not work anymore |
5.18.0-arch1-1 Same problem here latest Nvidia driver literally broke my system. I was stuck on What fixed the Issue:
Did you try to remove the |
I had the same issue this morning when updating the drivers. It seems like |
There appears to be an open bug now on Archlinux about this issue |
@m1guelperez yes, the first thing I've done is to remove and reboot but still not working. Also, I'm not sure it's related, but even with nvidia drivers loading properly, HDMI does not seems to work with the workaround (my HDMI is wired to my GPU) |
The following patch will insert the necessary
Is there anyone facing these problems that can try rebuilding the modules with the patch and report back? I'm not sure why the |
Hmm, I can't help you there since I use DP. But I will definitely wait with any updates for now. 😄 |
I can confirm the issue. i5-11400h + RTX 3050ti laptop ibt=off fixes the issue |
Thank you for forwarding this internally, @mtijanic! I bought a RTX 3070 and an i7-12700F for my custom desktop PC build that I'm eager to use for working with Blender and Unreal Engine 5 on Linux. Running into this right away after doing a clean install of Arch was a bit surprising, but I'm glad there are workarounds for now. Seeing this discussion about NVIDIA dirvers on GitHub is exciting! Hopefully the development team can find a way to make even the proprietary driver work with the new IBT feature on the latest Intel processors! |
On an updated Arch Linux install, this is what worked for me to get a Wayland session using the proprietary NVIDIA drivers:
No modification was necessary to If anyone is relying on UEFI booting with efibootmgr, here's what got me over the IBT hump:
Some of the other kernel parameters are for an encrypted hard drive. Though my drive supports TCG OPAL, my motherboard does not support booting from such a drive when it's enabled. I found that using block device software encryption like this is much less of a hassle. CPUs probably accelerate this anyway nowadays. Oh, the many hours it took for my thick skull to learn this :) |
Note that above is not required for v5.13+ kernels as kernel configs were fixed up correctly to always emit correct value kernel needs for cf-protection flag if compiler supports it. It would be best to fix those up to be conditional. Or for example, always use IBT compatible flags that are backwards compatible. |
Ran into the same issue with newly released kernel 5.19 on Manjaro. GPU: GeForce RTX 3080 laptop. |
On 5.19.4 (Fedora 36, 3070ti 12400f), the only way I can boot into my system is by not setting |
Still needs Kernel Still needs edit: new versions tested Kernel edit: new versions tested Kernel |
asus z690-p prime + RTX 3080 TI + archlinux with kernel 6.0.4, same issue, perfectly solved! Thank you 😃 |
|
https://www.phoronix.com/news/Linux-IBT-By-Default-Tip According to Phoronix, the default configuration for the Linux kernel will now have IBT turned on for everyone. This will no longer be a distro-specific change. NVIDIA, please consider implementing proper support for IBT sooner rather than later for all of your Linux drivers. |
Hi all, just want to reassure you that this is an issue that is actively being worked on. For open-gpu-kernel-modules, there is a patch posted above that you (or a distro) can apply, and we will be integrating something similar soon enough. Since the patch changes the compile flags for the project, we need to properly QA it on a wide range of HW and kernel configs, hence the delay. For the proprietary driver, the story is a fair bit more complicated, as that driver is built with a custom patched-up version of GCC, that doesn't support IBT. Which means we have to port the patches over and build with a completely new compiler version. And that requires even more QA. It's all actively being worked on, but I'm sure you understand why we can't give an ETA. Thanks for the interest and the understanding! |
Thank you, @mtijanic, for the detailed response and update! It's always interesting to see glimpses into the software development processes of other companies. Working at a large one myself, I understand that there are reasons for how things are done. I appreciate the diligence the team is taking to ensure a quality release, as these things can be tricky. |
ETA is just that: an estimation. You can't even estimate if it will a couple of months, a year or more? |
For open-gpu-kernel-modules, this should be addressed in 525.53. Since the Issue here is specifically tracking open-gpu-kernel-modules, I'm going to mark this Issue as closed. For the closed-source kernel modules, we're still wrangling with the toolchain issues that mtijanic mentioned. I suspect it could be as much as a few months until we ship the close-source kernel modules with IBT support. But, yes, we're in a race with Linux kernel 6.2. |
Encountered the same issue. Running |
@aritger : is there some means to track this patch's arrival in closed-source kmod? thx |
This is required when using the proprietary NVIDIA driver with 12th gen Intel processors until NVIDIA makes an update to support IBT. NVIDIA/open-gpu-kernel-modules#256 The open NVIDIA driver has been fixed, but prefer to use the proprietary version. The open version is considered alpha quality according to a note on the Arch Linux NVIDIA wiki. Add nvidia kernel module parameters via modprobe.d configuration instead.
Hi All, |
I had this bug on Arch, nvidia-dkms, and an RTX 3090. I used the |
NVIDIA Open GPU Kernel Modules Version
515.43.04
Does this happen with the proprietary driver (of the same version) as well?
Yes
Operating System and Version
Arch Linux
Kernel Release
5.18.0-arch1-1
Hardware: GPU
RTX 3070 laptop (System 76 Oryx 8)
Describe the bug
Since upgrading to Kernel 5.18, loading the nvidia driver (Or proprietary one) fails with the same kernel log:
To Reproduce
Bug Incidence
Always
nvidia-bug-report.log.gz
nvidia-bug-report.log.gz
More Info
Originally I thought this issue was to do with optimus-manager (As I am using a hybrid setup I use that utility to switch between intel and nvidia mode), but after uninstalling optimus manager the same issue occurs
The text was updated successfully, but these errors were encountered: