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

NVIDIA Driver Support #128

Closed
skyne98 opened this issue Jan 22, 2019 · 9 comments · Fixed by #214
Closed

NVIDIA Driver Support #128

skyne98 opened this issue Jan 22, 2019 · 9 comments · Fixed by #214

Comments

@skyne98
Copy link

skyne98 commented Jan 22, 2019

Hey there! As we had a small discussion on the twitter before, this should be a good place for its continuation.

The point of the discussion is: can we have NVIDIA Linux driver support? As far as I know, the problem is in the way NVIDIA allocates and manages memory (using EGLStreams), which is not compatible with the Wayland way of doing things.

Neither Gnome, nor KDE support Wayland on NVIDIA. However, as @levansfr and @Drakulix mentioned on twitter, it is a possibility in Smithay - which is exciting.

@Drakulix
Copy link
Member

Drakulix commented Jan 22, 2019

Yeah this is entirely possible, I already have a bunch of code regarding that on my hard drive, I just need to find the time to test, debug and polish it. So this will happen rather sooner then later actually.

which is not compatible with the Wayland way of doing things.

It is, it is just annoying to support two different code paths.

Neither Gnome, nor KDE support Wayland on NVIDIA.

Gnome is actually actively working on support btw, not sure what the story for KDE is though.

@skyne98
Copy link
Author

skyne98 commented Jan 22, 2019

@Drakulix, glad to hear the news. I will be very excited to hear about the status of this feature 👍

@csnewman
Copy link
Contributor

csnewman commented Aug 5, 2019

@Drakulix Did you ever get chance to create a PR for this?

@Drakulix
Copy link
Member

Drakulix commented Aug 5, 2019

@Drakulix Did you ever get chance to create a PR for this?

I have an implementation that should be working, but errors out, because my nvidia card does not expose crtc's for EGLStreams, but only planes. Smithay, on the other hand, has no idea what drm-planes are and any work-around would have been quite hacky.

It might be, that some older cards work with my implementation, but I have no way to tell, so I have not released it.

Regarding planes in smithay: Planes are not terribly useful without the atomic mode-setting api of the drm system, so I do not want to add support for those in smithay's current renderer, but rather when adding atomic-modesetting support. That is currently blocked on implementing the api inside drm-rs (discussed here), which I want to tackle in the upcoming weeks.

So the plan is currently:

  • implement atomic-modesetting in drm-rs
  • implement an atomic-modesetting based renderer in smithay
  • implement support for planes (overlay planes missing, but unneeded for now)
  • fixup my nvidia branch (which should just work at this point)
  • (maybe try to support the old renderer as well, but I have no seen any nvidia cards supporting EGLStreams, but not atomic-modesetting yet, so why bother works)

(Updated: 2020-05-23)

@PolyMeilex
Copy link
Member

Sorry for the noise, but shouldn't this be reopened, since #261 got merged?

@Drakulix Drakulix reopened this Jul 21, 2021
@Drakulix Drakulix removed this from the v0.3: Raising the heat milestone Jul 21, 2021
@i509VCB
Copy link
Member

i509VCB commented Oct 24, 2021

This issue has progressed with the new 495 beta drivers now supporting gbm

@Drakulix
Copy link
Member

It has, but I would leave this open until we have properly tested it (which is not super straightforward, given the packaging situation of e.g. the new XWayland version required).

@PolyMeilex
Copy link
Member

I have tested it with-git dependencies, and it works fairly well, but I would keep the issue until the driver stabilizes. In sway it has a lot of bugs so my guess is some of them would manifest in anvil as well, but I simply did not find them yet.

@Drakulix
Copy link
Member

I think we can close this now. Support through the new nvidia driver is there and nobody seems to be interested in maintaining an EGLStream codepath inside smithay. Implementating that out-of-tree is also easily possible with the current architecture.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants