error: attribute '"550.90.07"' missing #7
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
mohamed/nvidia-patch-nixos#7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
latest version of the nvidia driver from the unstable channel is unsupported
It will be added automatically once upstream adds support for it
I see the same thing happening currently with the latest version. I'm wondering if failing during a rebuild is the only option here or if there's a way to fail more gracefully in this situation to allow throwing an error but otherwise allowing the rebuild to succeed?
I can understand the correctness of failing to rebuild in the situation that version is missing from upstream. I can also understand the desire to simply ignore this without needing to comment out this overlay periodically when it breaks.
It would be nice if there was an optional way to handle this as a warning instead of a hard failure, if possible.
I've exposed the list of patches so you can check if a patch is available for a driver version from your nixos config.
Something like:
I ran into this as well. For now, my fix is to just use this patch against NixOS 24.05. Is there a convenient way to identify the latest commit possible that is available in nixpkgs that corresponds with the latest version of the patched driver in a specific branch -- for example
release-24.11?It'd be nice to have inputs like this in a flake:
And implementation could look something like this:
Ultimately, I'd love to not run an outdated version of NixOS kernel to use this patch -- but I'm not sure how other than my current solution of using the 24.05 release. :)
My solution was thus:
Where
videois defined asvideo = config.boot.kernelPackages.nvidiaPackages.beta;in a let block earlier.Edit: Alternatively, this one actually applies either or both patches based on availability:
It will automatically patch the driver if a patch is available, but won't if it isn't.
@icewind1991 Perhaps this could be suggested in the readme?
Brilliant @Krutonium. I figured there was a cute way to handle this, and this looks to do the trick.
Just to clarify @Krutonium, is the second version to handle situations where the patch is available for one component (fbc) but not the other (nvenc) and therefore cleanly falls back to no patching at all?
Assuming that's the case, it seems like the more robust solution obviously to avoid potential rebuild breakage. But out of curiosity, is that a situation that you've ever really encountered? Just curious.
The second solution will check each patch individually and apply it if it's available, so you could end up with nvenc and not fbc or fbc and not nvenc or with both. And it's possible to enounter; I looked at the source of this patch that this repo ingests and there has been versions where you only get one or the other, but not both. It's very unlikely but not impossible and that preemptively catches it.
Technically there's also no reason why you couldn't replace the if on the
hardware.nvidia.packagewith justfinalPkg- It'd point at the unmodified nvidia driver if both patches don't apply.