-
Notifications
You must be signed in to change notification settings - Fork 133
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
[RFC]Rebase the dkms module on the linux-intel-lts 6.6/linux branch #207
base: master
Are you sure you want to change the base?
Conversation
I have tried your patch on pve which uses kernel 6.8.12-2, when I reboot the guest machine, it still report an error:
But my host device won't stuck after applying your patch, is this trace a great concern? |
I don't know. Could you add |
Thank you for this fork! I had many errors in dmesg when using the original repo, but after trying your fork, all the errors are gone. |
After uninstalling desktop environment, I no more get these errors, but my Windows 10/11 VM randomly either works well or gets error 43 in device manager and nothing can be found in dmesg, and I can't find any solutions to fix it, so I temporarily disabled it. |
Have you set the cpu = host? |
Yes. This problem happens randomly. I have rebooted my VM for 10 times, 7 times works well and 3 times initialize failed with error 43.I found a solution:
but after trying it, GPU totally disappeared in my VM. |
Can you try this instead: |
Thanks! :args -cpu hv-vendor-id=GenuineIntel seems to be worked for me with latest xe driver for Windows. |
What are the advantages of making this change? I'm asking for a couple of reasons, as I anticipate these are issues others will have:
ETA: The latest SR-IOV related kernel commits from Intel suggest that iGPU SR-IOV support might hit in kernel 6.13. How much work would it be to maintain the current status quo for kernel support vs. re-basing, if we're that close to in-kernel official support that would (hopefully) be an easier, more stable alternative than this DKMS driver? |
The module based on 6.1 is too old, rebasing to a new branch is the simplest way to get upstream fixes.
In my setup, modules based on branch 6.1 also require setting the vendor ID for the guest driver to work. (#8 (comment)) This might be related to the driver version on the guest side. If your vm works with older versions of the module, there should be no issues with the newer versions as well.
In fact, the older version of the module is based on kernel 6.1. I currently don’t use kernels below version 6.8, and the 6.1-based branch may be maintained by other contributors.
Rebasing to a new branch is the simplest way to get upstream fixes for newer kernel. |
Add doc to set compile flags for Ubuntu and Debian
Source code had been synchronized with @Strongz repo, but I had got some i915 errors during boot and init in dmesg. So I had integrated @BBAA Pull Request strongtz#207 and it solved the problem. Now everything works on linux kernel 6.11.2-zen.
Has anyone tried this with Tiger Lake? I tried with i7-1165G7 with no success. I get code 43 on Windows. GuC firmware version 70.1.1 is being loaded instead of the latest one for some reason. |
Just try https://github.com/resiliencer/i915-sriov-dkms#first-of-all-you-need-to-extract-intelgopdriverefi-from-your-bios |
Tiger Lake does not support SR-IOV. |
I don't know if SR-IOV works or is supported on Tiger Lake, I haven't tested it, but at least I've seen this info: Intel's response in the past: Links with success stories with Tiger Lake: And I Think before Windows or another Guest OS initializes the iGPU video driver, the Guest VM's UEFI at first must correctly initialize IntelGopDriver.efi. Missing that causes many problems everywhere(like err.code 43) on different intel generations. Interesting that GuC/HuC firmware file names in dmesg on Raptor Lake have the tgl prefix:
|
Rebase the dkms module on the linux-intel-lts 6.6/linux branch
Based on linux-intel-lts#lts-v6.6.50-linux-240925T091328Z without color management updates (https://github.com/bbaa-bbaa/linux-intel-lts/tree/6bf2df6d263e101cbb9a2c996fa6de30ddd13e01/drivers/gpu/drm/i915)
Test on kernel 6.11.2-zen1 with ArchLinux / 6.8.12-2-pve with Proxmox VE
Other versions may need more testing.
Minimum kernel version: 6.8
The upstream tree of Intel seems to rely on features backported from 6.8, and more research is needed to make the module work in the 6.6 kernel.
Migrating to the 6.6 branch means that we need to drop support for kernels before 6.8.
We may need to create a new branch to preserve the original 6.1 kernel-based branch.