Added support for multiple GPUs, and enabled support for both Polaris and Vega without editing hardcoded constants#10
Conversation
|
I have also added some troubleshooting help to the readme |
|
This module stopped building with kernel 6.8, I'm trying to fix it, I'll do a separate pull request for that. |
|
Poke @hartmark |
|
I lost the notification so thanks for the poke. I'll try to look at this in the the coming days. We're having national holiday today so let's see if I have time tonight |
|
No pressure, I figured you list the notification. If it doesn't compile look at the other pull request first |
|
I have resolved the conflict and it's compiling on my machine but I don't have any aura GPU anymore so I'm unable to properly test it. |
|
I have only one, so all I can say is that it works on that. Do you know anybody who can test this? |
|
We could try to contact someone from openRGB to test it |
|
I don't know anyone with multiple aura devices sadly, poking in openRGB sounds like a good idea. I don't have any aura capable GPU any more so if you like I can make you a correlaborator on the repo so you can keep the ball rolling. I'm not so experienced with kernel module development, I was just piecing stuff together to get Aura working on my Vega64 (which I now longer own) I also have the aur package for arch linux to build this What distro are you on? |
|
Actually this was also my first time writing something for the kernel, I didn't even know what Fedora, I don't know how to package for AUR (or fedora either, I built it from source), so I can't help with that. But you can make me a collaborator for this repo, I will keep merging pull requests for a bit more. And hope that someone steps in. |
|
Thanks, if I get no answers from openRGB, can I just merge this and call it a day? |
|
Yeah, I have added you as corroborator now and PRs to master needs to have atleast one approver so we get one extra set of eyes. You can complete the PR when you're ready as I have already approved now. |
|
Alright, I tried to get some people to test it, and failed. I have decided to merge it anyway because:
We can always revert this later |
|
👍 let's hope for no issues |
|
@hartmark Hijacking this pull request because issues are not enabled on the repo but i have nothing to commit yet. As posted on mastodon by OpenRGB's main developer, AMD is working on some patches to support the i2c interfaces on cards from Polaris and onward, and it works with OpenRGB. Effectively it replaces this driver. When it is merged I will open a pull request on the readme describing the situation, before archiving the repository, I don't think I have the permissions to set the repo as archived tho. |
|
Great news! Have a great holidays and keep up the good work |
This pull request makes the driver scan for up to a certain number (4, but it's configurable) of compatible devices, and creates an i2c_adapter for each one, stored on a fixed size array, allowing for controlling multiple GPUs.
On the side, the driver now saves the asic_type (e.g.: CHIP_POLARIS10) for each adapter, and the i2c transfer algorithm now runs a looks up for that type when transferring, in order to choose which line to use for each device (e.g.: 6 for Polaris), defaulting to 6 for unknown asics. With this now users don't need to edit the UC_LINE macro depending on their specific hardware.
One of the commit also adds a new pci_id to the list.
Due to lack of hardware, this has only been tested with a single Polaris GPU, but it should work with multiple GPUs, and also with Vega, without editing. At the very least, it still works for a single GPU and with editing it will surely work for any asic, so it is not a regression. Testing is welcome.