nix-community / nixpkgs-wayland

Automated, pre-built packages for Wayland (sway/wlroots) tools for NixOS. [maintainers=@colemickens, @Artturin]
510 stars 47 forks source link

request: add wlroots-eglstreams and config to build/cache pkgs built with it #305

Closed colemickens closed 2 years ago

colemickens commented 3 years ago

see: https://github.com/danvd/wlroots-eglstreams

Seems like we could provide this, a tiny module to enable it via overlay, and then add a job to build and cache it for users.

I can test with a RTX 3080 in a Ryzen machine.

colemickens commented 3 years ago

For this to be complete, I think we'd need to have another flakes-compat file for overlay-egl, since non-flakes users are just hitting default.nix and directly landing on the overlay output.

It's tempting to deprecate default.nix and say that we're going to force users to import overlay.nix (or overlay-egl.nix) and then allow default.nix to just map to all flake outputs... but I'm not sure it's worth the hassle and it would spoil the "transparent" seamless feeling that came with adopting flakes in this repo.

colemickens commented 3 years ago

This has been partially resolved: https://github.com/nix-community/nixpkgs-wayland/commit/42e07dc73fc569322da41cf980bb103fa8d6880c

These packages are not being cached yet, but I can add that soon.

nixos-discourse commented 3 years ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/nvidia-users-testers-requested-sway-on-nvidia-steam-on-wayland/15264/1

almostnobody commented 3 years ago

new nvidia beta drivers support gbm https://discourse.nixos.org/t/nvidia-users-testers-requested-sway-on-nvidia-steam-on-wayland/15264/9

Version: | 495.29.05 BETA Release Date: | 2021.10.14

Added support for the GBM API. This adds the new symlink nvidia-drm_gbm.so pointing to the file libnvidia-allocator.so.VERSION to implement a GBM backend driver usable with the GBM loader from the Mesa project version 21.2 and above, as well as the files libnvidia-egl-gbm.so.1.1.0 and 15_nvidia_gbm.json, which implement EGL support for the GBM platform (EGL_KHR_platform_gbm).

colemickens commented 3 years ago

It already just works, here's my notes thus far:

  1. beta-driver + sway-head = choppy, stuttering, certain types of "upper layer" draws seem to make things really slow for a bit
  2. stable-driver + sway-head-wlroots-eglstreams = much better, pretty consistent performance

I'm actually thinking of reverting back to the eglstreams builds for a while, until nvidia or wlroots improves - however, I've already seen wlroots stuff get closed related to nvidia.

colemickens commented 2 years ago

I might instead rip this out since Nvidia 495 + GBM + Sway works pretty decently and is clearly the future.