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

mesa: 19.3.3 -> 19.3.5 #90559

Merged
merged 1 commit into from Jun 22, 2020
Merged

Conversation

pwetzel
Copy link
Contributor

@pwetzel pwetzel commented Jun 16, 2020

Motivation for this change

Bug-fix-only updates to mesa since freeze for 20.03.
https://www.mesa3d.org/relnotes/19.3.4.html
https://www.mesa3d.org/relnotes/19.3.5.html

I am personally affected by a bug with amd-gpu in 19.3.3 that makes the computer unusable[1]. That particular issue was resolved in 19.3.4, but it seems to me that if it should be changed that we might as well also get the fixes provided by 19.3.5.

I don't have the hardware to test compilation of everything that depends on this change in a reasonable amount of time, but I did build and test KDE on top of it.

[1] https://gitlab.freedesktop.org/mesa/mesa/-/issues/1426

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@vcunat, maintainer.

@vcunat
Copy link
Member

vcunat commented Jun 16, 2020

I don't have the hardware to test compilation of everything that depends on this change in a reasonable amount of time, but I did build and test KDE on top of it.

I don't think recompiling reverse dependencies is worth checking. Running with the 19.3.5 driver on various GPU seems much more worthwhile (even if running SW were compiled against 19.3.3). There's actually precedent that in the past such patch bump in mesa caused too many problems on a nixos stable release and it had to be reverted.

@pwetzel
Copy link
Contributor Author

pwetzel commented Jun 18, 2020

Thank you for your reply, and sorry for the slow turn around. I got wrapped around the axle on something like #85866 while trying to find test assets.

Running with the 19.3.5 driver on various GPU seems much more worthwhile

This makes sense to me. I'm running this now on:

  • amdgpu on Vega 8
  • modesetting on Ivybridge, Skylake

How many/what kinds of GPUs would give you confidence for merging? Are there any particular tests you would suggest?

(even if running SW were compiled against 19.3.3).

Is there a way to do that? I guess you could manually edit the nix store; I've never tried that. It's taking me over a day to build a desktop with this, if there's a better way I'm all ears.

There's actually precedent that in the past such patch bump in mesa caused too many problems on a nixos stable release and it had to be reverted.

I seem to be the only person with a problem on 19.3.3. If you think this is too risky for the payoff, I would respect that.

@vcunat
Copy link
Member

vcunat commented Jun 21, 2020

Here's how I'd switch drivers in NixOS config:

{
  imports = [ # you'd typically add this part next to your other imports
    
    (let mkDrivers = pkgs: (pkgs.mesa.overrideAttrs (a_: rec {
          branch = "19.3";
          version = "${branch}.5";
          src = pkgs.fetchurl {
            urls = [
              "ftp://ftp.freedesktop.org/pub/mesa/mesa-${version}.tar.xz"
              "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
              "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
              "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
            ];
            sha256 = "1dn6975sj25kx6a6x5054ql27lqlshkp5m8cg8nwhwdranq9b600";
          };
        })).drivers;
      in { pkgs, ... }: {
        hardware.opengl = {
          package = mkDrivers pkgs;
          package32 = mkDrivers pkgs.pkgsi686Linux;
        };
      }
    )

  ];
}

This should only rebuild one or two mesas, nothing else – depending on whether you use 32-bit OpenGL.

EDIT: when you nixos-rebuild switch, systemd will immediately switch the symlinks, but I expect most applications will need to get restarted to use the different OpenGL.

Copy link
Member

@vcunat vcunat left a comment

Choose a reason for hiding this comment

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

I'm now running the drivers on amdgpu with polaris11 and I briefly tried Intel SandyBridge default ("modesetting" driver, I think). I expect this will be good, but further testing is welcome. I can't see why hurry with this; even if merged soon, it most likely won't hit the channel within the next few days.

@vcunat vcunat merged commit 4e3c943 into NixOS:staging-20.03 Jun 22, 2020
@pwetzel pwetzel deleted the 20.03-mesa-19.3.5 branch June 24, 2020 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants