nixos/doc: update the status of Intel Graphics with fixed intel driver
xf86-video-intel is now working again due to a bug fix in Mesa. So this re-introduces the section on the intel driver and screen-tearing while discouraging its use generally.
This commit is contained in:
@@ -123,6 +123,24 @@ setting](https://en.wikipedia.org/wiki/Mode_setting) (KMS) mechanism, it
|
||||
supports Glamor (2D graphics acceleration via OpenGL) and is actively
|
||||
maintained, it may perform worse in some cases (like in old chipsets).
|
||||
|
||||
There is a second driver, `intel` (provided by the xf86-video-intel package),
|
||||
specific to older Intel iGPUs from generation 2 to 9. It is not recommended by
|
||||
most distributions: it lacks several modern features (for example, it doesn't
|
||||
support Glamor) and the package hasn't been officially updated since 2015.
|
||||
|
||||
Third generation and older iGPUs (15-20+ years old) are not supported by the
|
||||
`modesetting` driver (X will crash upon startup). Thus, the `intel` driver is
|
||||
required for these chipsets.
|
||||
Otherwise, the results vary depending on the hardware, so you may have to try
|
||||
both drivers. Use the option
|
||||
[](#opt-services.xserver.videoDrivers)
|
||||
to set one. The recommended configuration for modern systems is:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.xserver.videoDrivers = [ "modesetting" ];
|
||||
}
|
||||
```
|
||||
::: {.note}
|
||||
The `modesetting` driver doesn't currently provide a `TearFree` option (this
|
||||
will become available in an upcoming X.org release), So, without using a
|
||||
@@ -130,20 +148,22 @@ compositor (for example, see [](#opt-services.picom.enable)) you will
|
||||
experience screen tearing.
|
||||
:::
|
||||
|
||||
There also used to be a second driver, `intel` (provided by the
|
||||
xf86-video-intel package), specific to older Intel iGPUs from generation 2 to
|
||||
9.
|
||||
This driver hasn't been maintained in years and was removed in NixOS 24.11
|
||||
after it stopped working. If you chipset is too old to be supported by
|
||||
`modesetting` and have no other choice you may try an unsupported NixOS version
|
||||
(reportedly working up to NixOS 24.05) and set
|
||||
If you experience screen tearing no matter what, this configuration was
|
||||
reported to resolve the issue:
|
||||
|
||||
```nix
|
||||
{
|
||||
services.xserver.videoDrivers = [ "intel" ];
|
||||
services.xserver.deviceSection = ''
|
||||
Option "DRI" "2"
|
||||
Option "TearFree" "true"
|
||||
'';
|
||||
}
|
||||
```
|
||||
|
||||
Note that this will likely downgrade the performance compared to
|
||||
`modesetting` or `intel` with DRI 3 (default).
|
||||
|
||||
## Proprietary NVIDIA drivers {#sec-x11-graphics-cards-nvidia}
|
||||
|
||||
NVIDIA provides a proprietary driver for its graphics cards that has
|
||||
|
||||
@@ -231,9 +231,6 @@
|
||||
|
||||
- The NVIDIA driver no longer defaults to the proprietary kernel module with versions >= 560. You will need to manually set `hardware.nvidia.open` to select the proprietary or open modules.
|
||||
|
||||
- The `intel` driver for the X server (`services.xserver.videoDrives = [ "intel" ]`) is no longer functional due to incompatibilities with the latest Mesa version.
|
||||
All users are strongly encouraged to switch to the generic `modesetting` driver (the default one) whenever possible, for more information see the manual chapter on [Intel Graphics](#sec-x11--graphics-cards-intel) and issue [#342763](https://github.com/NixOS/nixpkgs/issues/342763).
|
||||
|
||||
- The `(buildPythonPackage { ... }).override` and `(buildPythonPackage { ... }).overrideDerivation` attributes is now deprecated and removed in favour of `overridePythonAttrs` and `lib.overrideDerivation`.
|
||||
This change does not affect the override interface of most Python packages, as [`<pkg>.override`](https://nixos.org/manual/nixpkgs/unstable/#sec-pkg-override) provided by `callPackage` shadows such a locally-defined `override` attribute.
|
||||
The `<pkg>.overrideDerivation` attribute of Python packages called with `callPackage` will also remain available after this change.
|
||||
|
||||
Reference in New Issue
Block a user