···64646565### Intel {#sec-gpu-accel-opencl-intel}
66666767-[Intel Gen8 and later
6868-GPUs](https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units#Gen8)
6969-are supported by the Intel NEO OpenCL runtime that is provided by the
7070-intel-compute-runtime package. The proprietary Intel OpenCL runtime, in
7171-the intel-ocl package, is an alternative for Gen7 GPUs.
6767+[Intel Gen12 and later GPUs](https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units#Gen12)
6868+are supported by the Intel NEO OpenCL runtime that is provided by the `intel-compute-runtime` package.
6969+The previous generations (8,9 and 11), have been moved to the `intel-compute-runtime-legacy1` package.
7070+The proprietary Intel OpenCL runtime, in the `intel-ocl` package, is an alternative for Gen7 GPUs.
72717373-The intel-compute-runtime or intel-ocl package can be added to
7272+Both `intel-compute-runtime` packages, as well as the `intel-ocl` package can be added to
7473[](#opt-hardware.graphics.extraPackages)
7575-to enable OpenCL support. For example, for Gen8 and later GPUs, the following
7474+to enable OpenCL support. For example, for Gen12 and later GPUs, the following
7675configuration can be used:
77767877```nix
+3
nixos/doc/manual/release-notes/rl-2411.section.md
···236236- The `intel` driver for the X server (`services.xserver.videoDrives = [ "intel" ]`) is no longer functional due to incompatibilities with the latest Mesa version.
237237 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).
238238239239+- The `intel-compute-runtime` package dropped support for older GPUs, and only supports 12th Gen and newer from now on.
240240+ Intel GPUs from Gen 8,9 and 11 need to use the `intel-compute-runtime-legacy1` package in `hardware.graphics.extraPackages`.
241241+239242- The `(buildPythonPackage { ... }).override` and `(buildPythonPackage { ... }).overrideDerivation` attributes is now deprecated and removed in favour of `overridePythonAttrs` and `lib.overrideDerivation`.
240243 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.
241244 The `<pkg>.overrideDerivation` attribute of Python packages called with `callPackage` will also remain available after this change.
···5858 serviceConfig = {
5959 ExecStart = (
6060 lib.concatStringsSep " " [
6161+ # `python-matter-server` writes to /data even when a storage-path
6262+ # is specified. This symlinks /data at the systemd-managed
6363+ # /var/lib/matter-server, so all files get dropped into the state
6464+ # directory.
6565+ "${pkgs.bash}/bin/sh"
6666+ "-c"
6767+ "'"
6868+ "${pkgs.coreutils}/bin/ln -s %S/matter-server/ %t/matter-server/root/data"
6969+ "&&"
6170 "${cfg.package}/bin/matter-server"
6271 "--port"
6372 (toString cfg.port)
···6877 "--log-level"
6978 "${cfg.logLevel}"
7079 "${lib.escapeShellArgs cfg.extraArgs}"
8080+ "'"
7181 ]
7282 );
7383 # Start with a clean root filesystem, and allowlist what the container
7484 # is permitted to access.
7575- TemporaryFileSystem = "/";
8585+ # See https://discourse.nixos.org/t/hardening-systemd-services/17147/14.
8686+ RuntimeDirectory = [ "matter-server/root" ];
8787+ RootDirectory = "%t/matter-server/root";
8888+7689 # Allowlist /nix/store (to allow the binary to find its dependencies)
7790 # and dbus.
7878- ReadOnlyPaths = "/nix/store /run/dbus";
9191+ BindReadOnlyPaths = "/nix/store /run/dbus";
7992 # Let systemd manage `/var/lib/matter-server` for us inside the
8093 # ephemeral TemporaryFileSystem.
8194 StateDirectory = storageDir;
8282- # `python-matter-server` writes to /data even when a storage-path is
8383- # specified. This bind-mount points /data at the systemd-managed
8484- # /var/lib/matter-server, so all files get dropped into the state
8585- # directory.
8686- BindPaths = "${storagePath}:/data";
87958896 # Hardening bits
8997 AmbientCapabilities = "";
+19-17
nixos/tests/matter-server.nix
···88 {
99 name = "matter-server";
1010 meta.maintainers = with lib.maintainers; [ leonm1 ];
1111+ meta.timeout = 120; # Timeout after two minutes
11121213 nodes = {
1314 machine =
···22232324 testScript = # python
2425 ''
2626+ @polling_condition
2727+ def matter_server_running():
2828+ machine.succeed("systemctl status matter-server")
2929+2530 start_all()
26312727- machine.wait_for_unit("matter-server.service")
2828- machine.wait_for_open_port(1234)
3232+ machine.wait_for_unit("matter-server.service", timeout=20)
3333+ machine.wait_for_open_port(1234, timeout=20)
29343030- with subtest("Check websocket server initialized"):
3131- output = machine.succeed("echo \"\" | ${pkgs.websocat}/bin/websocat ws://localhost:1234/ws")
3232- machine.log(output)
3333-3434- assert '"sdk_version": "${chipVersion}"' in output, (
3535- 'CHIP version \"${chipVersion}\" not present in websocket message'
3636- )
3535+ with matter_server_running: # type: ignore[union-attr]
3636+ with subtest("Check websocket server initialized"):
3737+ output = machine.succeed("echo \"\" | ${pkgs.websocat}/bin/websocat ws://localhost:1234/ws")
3838+ machine.log(output)
37393838- assert '"fabric_id": 1' in output, (
3939- "fabric_id not propagated to server"
4040- )
4040+ assert '"fabric_id": 1' in output, (
4141+ "fabric_id not propagated to server"
4242+ )
41434242- with subtest("Check storage directory is created"):
4343- machine.succeed("ls /var/lib/matter-server/chip.json")
4444+ with subtest("Check storage directory is created"):
4545+ machine.succeed("ls /var/lib/matter-server/chip.json")
44464545- with subtest("Check systemd hardening"):
4646- _, output = machine.execute("systemd-analyze security matter-server.service | grep -v '✓'")
4747- machine.log(output)
4747+ with subtest("Check systemd hardening"):
4848+ _, output = machine.execute("systemd-analyze security matter-server.service | grep -v '✓'")
4949+ machine.log(output)
4850 '';
4951 }
5052)
···8080 };
81818282 meta = with lib; {
8383- description = "Intel Graphics Compute Runtime for OpenCL with support for Gen8, Gen9 and Gen11 GPUs.d";
8383+ description = "Intel Graphics Compute Runtime oneAPI Level Zero and OpenCL with support for Gen8, Gen9 and Gen11 GPUs";
8484 mainProgram = "ocloc";
8585 homepage = "https://github.com/intel/compute-runtime";
8686 changelog = "https://github.com/intel/compute-runtime/releases/tag/${version}";
+1-1
pkgs/by-name/in/intel-compute-runtime/package.nix
···7070 '';
71717272 meta = with lib; {
7373- description = "Intel Graphics Compute Runtime for OpenCL. Replaces Beignet for Gen8 (Broadwell) and beyond";
7373+ description = "Intel Graphics Compute Runtime oneAPI Level Zero and OpenCL, supporting 12th Gen and newer";
7474 mainProgram = "ocloc";
7575 homepage = "https://github.com/intel/compute-runtime";
7676 changelog = "https://github.com/intel/compute-runtime/releases/tag/${version}";
···19192020buildPythonPackage rec {
2121 pname = "ipyparallel";
2222- version = "9.0.0";
2222+ version = "9.0.1";
2323 pyproject = true;
24242525 disabled = pythonOlder "3.8";
26262727 src = fetchPypi {
2828 inherit pname version;
2929- hash = "sha256-cGAcuvmhadNQ/+IsgtW73+bf5MTfAoNtmZDpxVm1vLY=";
2929+ hash = "sha256-LlksrSIAxalPu/9jm/825uyRIvNLNrL8a01njZ6Y8pw=";
3030 };
31313232 # We do not need the jupyterlab build dependency, because we do not need to