Skip to content
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

Update README for new i915 params usage #65

Merged
merged 2 commits into from
Apr 25, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Linux i915 driver with SR-IOV support (dkms module) for linux 6.1 and linux 6.2
# Linux i915 driver with SR-IOV support (dkms module) for linux 6.1 ~ linux 6.3

Originally from [linux-intel-lts](https://github.com/intel/linux-intel-lts/tree/lts-v5.15.49-adl-linux-220826T092047Z/drivers/gpu/drm/i915)
Update to [6.1.8](https://github.com/intel/linux-intel-lts/tree/lts-v6.1.8-linux-230201T082419Z/drivers/gpu/drm/i915)
Update to [6.1.12](https://github.com/intel/linux-intel-lts/tree/lts-v6.1.12-linux-230415T124447Z/drivers/gpu/drm/i915)

## Notice

Expand All @@ -13,8 +13,8 @@ For Arch Linux users, it is available in AUR. [i915-sriov-dkms-git](https://aur.

Tested kernel versions:

* `pve-kernel-6.1.0-1-pve`~`6.1.10-1-pve` on PVE VM Host
* `gentoo-sources-6.1.0-gentoo`~`6.2.0-gentoo` on Gentoo VM Guest
* `pve-kernel-6.2.9-1-pve` on PVE VM Host
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the 6.1.x PVE kernel no longer supported?

Copy link
Contributor Author

@zhtengw zhtengw Apr 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, it just means not tested on 6.1 PVE kernel.
Will add more kernel versions in list when tested.

* `gentoo-sources-6.1.19-gentoo`~`6.2.11-gentoo` on Gentoo VM Guest

Tested usages:

Expand All @@ -23,7 +23,7 @@ Tested usages:
## My testing cmdline

```
intel_iommu=on i915.enable_guc=7
intel_iommu=on i915.enable_guc=3 i915.max_vfs=7
```

## Creating virtual functions
Expand All @@ -41,15 +41,15 @@ You can create up to 7 VFs on UHD Graphics 770
4. Move the entire content of the repository to `/usr/src/i915-sriov-dkms-6.1`. The folder name will be the DKMS package name.
5. Execute command `dkms -i -m i915-sriov-dkms -v 6.1`. `-m` argument denotes the package name, and it should be the same as the folder name which contains the package content. `-v` argument denotes the package version, which we have specified in the `dkms.conf` as `6.1`
6. The kernel module should begin building.
7. Once finished, we need to make a few changes to the kernel commandline. `nano /etc/default/grub` and change `GRUB_CMDLINE_LINUX_DEFAULT` to 'intel_iommu=on i915.enable_guc=7`, or add to it if you have other arguments there already.
7. Once finished, we need to make a few changes to the kernel commandline. `nano /etc/default/grub` and change `GRUB_CMDLINE_LINUX_DEFAULT` to 'intel_iommu=on i915.enable_guc=3 i915.max_vfs=7`, or add to it if you have other arguments there already.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change should be more prominent. People who are upgrading from a previous release of i915-sriov-dkms may not notice this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, may add a note for updating from previous version on the top of README.

Copy link

@FallingSnow FallingSnow Apr 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also do this via by adding a udev rule to /etc/udev/rules.d/intel-sriov.rules if your OS uses udev.

ACTION=="add", DRIVER=="i915", ATTR{sriov_numvfs}="7"

Edit: Never mind, this is a different parameter.

8. Update `grub` and `initrramfs` by executing `update-grub` and `update-initramfs -u`
9. In order to enable the VFs, we need to modify some variables in the `sysfs`. Install `sysfsutils`, then do `echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf`, assuming your iGPU is on 00:02 bus. If not, use `lspci | grep VGA` to find the PCIe bus your iGPU is on.
10. Reboot the system.
11. When the system is back up again, you should see the number of VFs you specified show up under 02:00.1 - 02:00.7. Again, assuming your iGPU is on 00:02 bus.
12. You can passthrough the VFs to LXCs or VMs. However, never touch the PF which is 02:00.0 under any circumstances.

## Linux Guest Installation Steps (Tested Kernel 6.2)
We will need to run the same driver under Linux guests. We can repeat the steps for installing the driver. However, when modifying command line defaults, we use `i915.enable_guc=3` instead of `i915.enable_guc=7`. Furthermore, we don't need to use `sysfsutils` to create any more VFs since we ARE using a VF.
We will need to run the same driver under Linux guests. We can repeat the steps for installing the driver. However, when modifying command line defaults, we use `i915.enable_guc=3` instead of `i915.enable_guc=3 i915.max_vfs=7`. Furthermore, we don't need to use `sysfsutils` to create any more VFs since we ARE using a VF.
Once that's done, update `grub` and `initramfs`, then reboot. Once the VM is back up again, do `dmesg | grep i915` to see if your VF is recognized by the kernel.
Optionally, install `vainfo`, then do `vainfo` to see if the iGPU has been picked up by the VAAPI.

Expand Down Expand Up @@ -206,4 +206,4 @@ vainfo: Supported profile and entrypoints

... List of all the compression formats and profiles ...
```
* The kernel DEB installation files can be copied to other, similar, Debian systems for use without recompiling.
* The kernel DEB installation files can be copied to other, similar, Debian systems for use without recompiling.