Mesa: Difference between revisions

imported>Fufexan
m Add page to Video category
imported>PedroHLC
m update default drivers to 22.3.0
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:


== Enabling Vulkan Layers ==
== Enabling Vulkan Layers ==
{{outdated|Vulkan layers are enabled by default since we merged {{pull|196310}}. However, this is a good example on how to properly override mesa's package attributes.}}
Vulkan Layers are not enabled by default in [https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/mesa/default.nix Nixpkgs]. You can override the existing Mesa packages and specify them in <code>config.hardware.opengl</code>.
Vulkan Layers are not enabled by default in [https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/mesa/default.nix Nixpkgs]. You can override the existing Mesa packages and specify them in <code>config.hardware.opengl</code>.
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
Line 56: Line 58:
== Default drivers ==
== Default drivers ==


In case you wonder where does <code>["auto"]</code> in mesa's attributes lead you, this might be another way to see them (for 22.1.3[https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-22.1.3/meson.build]):
In case you wonder where does <code>["auto"]</code> in mesa's attributes lead you, this might be another way to see them (for 22.3.0[https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-22.3.0/meson.build]):
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
, galliumDrivers ?
, galliumDrivers ?
Line 62: Line 64:
   if stdenv.isLinux then
   if stdenv.isLinux then
     if stdenv.isi686 || stdenv.isx86_64  then ["r300" "r600" "radeonsi" "nouveau" "virgl" "svga" "swrast" "iris" "crocus" "i915"]
     if stdenv.isi686 || stdenv.isx86_64  then ["r300" "r600" "radeonsi" "nouveau" "virgl" "svga" "swrast" "iris" "crocus" "i915"]
     else if stdenv.isAarch64 then ["v3d" "vc4" "freedreno" "etnaviv" "nouveau" "tegra" "virgl" "lima" "panfrost" "swrast"]
     else if stdenv.isAarch64 then ["v3d" "vc4" "freedreno" "etnaviv" "nouveau" "svga" "tegra" "virgl" "lima" "panfrost" "swrast"]
     else throw "Unsupported platform: this derivation only supports i686/x86_64/aarch64"
     else throw "Unsupported platform: this derivation only supports i686/x86_64/aarch64"
   else if stdenv.isDarwin then ["swrast"]
   else if stdenv.isDarwin then ["swrast"]
Line 69: Line 71:
   # Search for `_vulkan_drivers.contains('auto')` in meson.build
   # Search for `_vulkan_drivers.contains('auto')` in meson.build
   if stdenv.isLinux then
   if stdenv.isLinux then
     if stdenv.isi686 || stdenv.isx86_64  then ["amd" "intel" "swrast"]
     if stdenv.isi686 || stdenv.isx86_64  then ["amd" "intel" "intel_hasvk" "swrast"]
     else if stdenv.isAarch64 || stdenv.isArch32 then ["swrast"]
     else if stdenv.isAarch64 || stdenv.isArch32 then ["swrast"]
     else throw "Unsupported platform: this derivation only supports i686/x86_64/aarch64"
     else throw "Unsupported platform: this derivation only supports i686/x86_64/aarch64"