diff --git a/README.md b/README.md index 5d9b2e04..1a55c0bc 100644 --- a/README.md +++ b/README.md @@ -364,6 +364,7 @@ See code for all available configurations. | [Lenovo Yoga Slim 7i Pro X 14IAH7 (Hybrid)](lenovo/yoga/7/14IAH7/hybrid) | `` | `lenovo-yoga-7-14IAH7-hybrid` | | [Lenovo Yoga Slim 7 14ILL10](lenovo/yoga/7/14ILL10) | `` | `lenovo-yoga-7-14ILL10` | | [LENOVO Yoga 7 Slim Gen8](lenovo/yoga/7/slim/gen8) | `` | `lenovo-yoga-7-slim-gen8` | +| [Linglong Nova Studio](linglong/nova-studio) | `` | `linglong-nova-studio` | | [MSI B550-A PRO](msi/b550-a-pro) | `` | `msi-b550-a-pro` | | [MSI B350 TOMAHAWK](msi/b350-tomahawk) | `` | `msi-b350-tomahawk` | | [MSI GS60 2QE](msi/gs60) | `` | `msi-gs60` | diff --git a/flake.nix b/flake.nix index 5fa2f313..0a234ddc 100644 --- a/flake.nix +++ b/flake.nix @@ -304,6 +304,7 @@ lenovo-yoga-7-14ILL10 = import ./lenovo/yoga/7/14ILL10; lenovo-yoga-7-slim-gen8 = import ./lenovo/yoga/7/slim/gen8; letsnote-cf-lx4 = import ./panasonic/letsnote/cf-lx4; + linglong-nova-studio = import ./linglong/nova-studio; malibal-aon-s1-intel = import ./malibal/aon/s1; mechrevo-gm5hg0a = import ./mechrevo/GM5HG0A; microchip-icicle-kit = import ./microchip/icicle-kit; diff --git a/linglong/nova-studio/README.md b/linglong/nova-studio/README.md new file mode 100644 index 00000000..ef35dc04 --- /dev/null +++ b/linglong/nova-studio/README.md @@ -0,0 +1,39 @@ +# Linglong Nova Studio + +This is a configuration for [Linglong Nova Studio (玲珑星核)](https://www.firstarpc.com/). + +## Configuration + +import `` (using configurations), or add `nixos-hardware.nixosModules.linglong-nova-studio` in modules (using Flakes). + +This configuration will force to use Linux kernel that >= 6.14, otherwise it will be updated to the latest version. This part follows [Framework Desktop](../../framework/desktop/amd-ai-max-300-series), which is also a desktop computer using Ryzen AI Max 300 series processor. + +## OpenCL and ROCm support + +To setup OpenCL and ROCm environment, please add the following configuration: + +``` +# Tell packages that supports ROCm to enable the related supports. +nixpkgs.config.rocmSupport = true; + +# Install ROCm and enable +hardware.amdgpu.opencl.enable = true; + +# These tools can show the info related to ROCm and OpenCL. +environment.systemPackages = with pkgs; [ + rocmPackages.rocminfo + clinfo +]; +``` + +After switching, to check whether the environment has been correctly setup, please run + +``` +clinfo +``` + +and + +``` +rocminfo +``` diff --git a/linglong/nova-studio/default.nix b/linglong/nova-studio/default.nix new file mode 100644 index 00000000..32aa0896 --- /dev/null +++ b/linglong/nova-studio/default.nix @@ -0,0 +1,25 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ../../common/cpu/amd + ../../common/cpu/amd/pstate.nix + ../../common/cpu/amd/zenpower.nix + ../../common/gpu/amd + ../../common/pc/ssd + ]; + + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.14") ( + lib.mkDefault pkgs.linuxPackages_latest + ); + boot.kernelModules = [ "amdgpu" ]; + + hardware.enableRedistributableFirmware = lib.mkDefault true; + hardware.graphics.enable = lib.mkDefault true; + hardware.graphics.enable32Bit = lib.mkDefault true; +}