mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 17:27:14 +08:00 
			
		
		
		
	Added dell xps 15-9500, with nvidia gpu.
This commit is contained in:
		@@ -69,6 +69,8 @@ See code for all available configurations.
 | 
			
		||||
| [Dell XPS 15 9560][]              | `<nixos-hardware/dell/xps/15-9560>`                |
 | 
			
		||||
| [Dell XPS 15 9560, intel only][]  | `<nixos-hardware/dell/xps/15-9560/intel>`          |
 | 
			
		||||
| [Dell XPS 15 9560, nvidia only][] | `<nixos-hardware/dell/xps/15-9560/nvidia>`         |
 | 
			
		||||
| [Dell XPS 15 9500][]              | `<nixos-hardware/dell/xps/15-9500>`                |
 | 
			
		||||
| [Dell XPS 15 9500, nvidia][]      | `<nixos-hardware/dell/xps/15-9500/nvidia>`         |
 | 
			
		||||
| [Google Pixelbook][]              | `<nixos-hardware/google/pixelbook>`                |
 | 
			
		||||
| [Inverse Path USB armory][]       | `<nixos-hardware/inversepath/usbarmory>`           |
 | 
			
		||||
| Lenovo IdeaPad Z510               | `<nixos-hardware/lenovo/ideapad/z510>`             |
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								dell/xps/15-9500/README.wiki
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								dell/xps/15-9500/README.wiki
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
= Dell XPS 15 9550 =
 | 
			
		||||
 | 
			
		||||
== Tested Hardware ==
 | 
			
		||||
 | 
			
		||||
* CPU: Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz
 | 
			
		||||
* RAM: 64 GB
 | 
			
		||||
* HDD: 1 TiB SSD
 | 
			
		||||
* Screen: 15" 4k (3840✕2160)
 | 
			
		||||
* Graphics: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile], with Intel Graphics too.
 | 
			
		||||
* Input: Touchscreen and trackpad.
 | 
			
		||||
 | 
			
		||||
== Notes ==
 | 
			
		||||
 | 
			
		||||
Also tested with Dell WD19TB Thunderbolt Dock.
 | 
			
		||||
							
								
								
									
										10
									
								
								dell/xps/15-9500/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								dell/xps/15-9500/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
{ lib, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./xps-common.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # This configuration makes intel default
 | 
			
		||||
  services.xserver.videoDrivers = lib.mkDefault [ "intel" ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										31
									
								
								dell/xps/15-9500/nvidia/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								dell/xps/15-9500/nvidia/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
{ lib, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
# This creates a new 'nvidia-offload' program that runs the application passed to it on the GPU
 | 
			
		||||
let
 | 
			
		||||
  nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
 | 
			
		||||
    export __NV_PRIME_RENDER_OFFLOAD=1
 | 
			
		||||
    export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
 | 
			
		||||
    export __GLX_VENDOR_LIBRARY_NAME=nvidia
 | 
			
		||||
    export __VK_LAYER_NV_optimus=NVIDIA_only
 | 
			
		||||
    exec -a "$0" "$@"
 | 
			
		||||
  '';
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ../xps-common.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # As per https://nixos.wiki/wiki/Nvidia
 | 
			
		||||
  services.xserver.videoDrivers = lib.mkDefault [ "nvidia" ];
 | 
			
		||||
  environment.systemPackages = [ nvidia-offload ];
 | 
			
		||||
 | 
			
		||||
  hardware.nvidia.prime = {
 | 
			
		||||
    offload.enable = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
    # Bus ID of the Intel GPU.
 | 
			
		||||
    intelBusId = lib.mkDefault "PCI:0:2:0";
 | 
			
		||||
 | 
			
		||||
    # Bus ID of the NVIDIA GPU.
 | 
			
		||||
    nvidiaBusId = lib.mkDefault "PCI:1:0:0";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										205
									
								
								dell/xps/15-9500/thermald-conf.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								dell/xps/15-9500/thermald-conf.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,205 @@
 | 
			
		||||
<?xml version="1.0"?> 
 | 
			
		||||
 <!-- BEGIN --> 
 | 
			
		||||
 <ThermalConfiguration> 
 | 
			
		||||
 <Platform>
 | 
			
		||||
	<Name> Auto generated </Name>
 | 
			
		||||
	<ProductName>XPS 15 9500</ProductName>
 | 
			
		||||
	<Preference>QUIET</Preference>
 | 
			
		||||
	<PPCC>
 | 
			
		||||
		<PowerLimitIndex>0</PowerLimitIndex>
 | 
			
		||||
		<PowerLimitMinimum>10000</PowerLimitMinimum>
 | 
			
		||||
		<PowerLimitMaximum>68000</PowerLimitMaximum>
 | 
			
		||||
		<TimeWindowMinimum>56000</TimeWindowMinimum>
 | 
			
		||||
		<TimeWindowMaximum>56000</TimeWindowMaximum>
 | 
			
		||||
		<StepSize>250</StepSize>
 | 
			
		||||
	</PPCC>
 | 
			
		||||
	<ThermalZones>
 | 
			
		||||
		<ThermalZone>
 | 
			
		||||
			<Type>auto_zone_0</Type>
 | 
			
		||||
			<TripPoints>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN2</SensorType>
 | 
			
		||||
					<Temperature>55000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
						<TargetState>45000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN2</SensorType>
 | 
			
		||||
					<Temperature>57000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
						<TargetState>40000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN2</SensorType>
 | 
			
		||||
					<Temperature>60000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
						<TargetState>35000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN2</SensorType>
 | 
			
		||||
					<Temperature>64000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>3</SamplingPeriod>
 | 
			
		||||
						<TargetState>35000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN2</SensorType>
 | 
			
		||||
					<Temperature>68000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>3</SamplingPeriod>
 | 
			
		||||
						<TargetState>20000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN2</SensorType>
 | 
			
		||||
					<Temperature>70000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>3</SamplingPeriod>
 | 
			
		||||
						<TargetState>15000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
			</TripPoints>
 | 
			
		||||
		</ThermalZone>
 | 
			
		||||
		<ThermalZone>
 | 
			
		||||
			<Type>auto_zone_1</Type>
 | 
			
		||||
			<TripPoints>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN5</SensorType>
 | 
			
		||||
					<Temperature>38000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
						<TargetState>22000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN5</SensorType>
 | 
			
		||||
					<Temperature>39000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
						<TargetState>17000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN5</SensorType>
 | 
			
		||||
					<Temperature>40000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>3</SamplingPeriod>
 | 
			
		||||
						<TargetState>12000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>SEN5</SensorType>
 | 
			
		||||
					<Temperature>41000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>3</SamplingPeriod>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
			</TripPoints>
 | 
			
		||||
		</ThermalZone>
 | 
			
		||||
		<ThermalZone>
 | 
			
		||||
			<Type>auto_zone_2</Type>
 | 
			
		||||
			<TripPoints>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>VIR1</SensorType>
 | 
			
		||||
					<Temperature>57000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>3</SamplingPeriod>
 | 
			
		||||
						<TargetState>15000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>VIR1</SensorType>
 | 
			
		||||
					<Temperature>60000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>3</SamplingPeriod>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
			</TripPoints>
 | 
			
		||||
		</ThermalZone>
 | 
			
		||||
		<ThermalZone>
 | 
			
		||||
			<Type>auto_zone_3</Type>
 | 
			
		||||
			<TripPoints>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>VIR2</SensorType>
 | 
			
		||||
					<Temperature>76000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
			</TripPoints>
 | 
			
		||||
		</ThermalZone>
 | 
			
		||||
		<ThermalZone>
 | 
			
		||||
			<Type>auto_zone_4</Type>
 | 
			
		||||
			<TripPoints>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>WRLS</SensorType>
 | 
			
		||||
					<Temperature>80000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
			</TripPoints>
 | 
			
		||||
		</ThermalZone>
 | 
			
		||||
		<ThermalZone>
 | 
			
		||||
			<Type>auto_zone_5</Type>
 | 
			
		||||
			<TripPoints>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>STG1</SensorType>
 | 
			
		||||
					<Temperature>66000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
						<TargetState>19000000</TargetState>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
				<TripPoint>
 | 
			
		||||
					<SensorType>STG1</SensorType>
 | 
			
		||||
					<Temperature>90000</Temperature>
 | 
			
		||||
					<Type>Passive</Type>
 | 
			
		||||
					<CoolingDevice>
 | 
			
		||||
						<Type>B0D4</Type>
 | 
			
		||||
						<SamplingPeriod>1</SamplingPeriod>
 | 
			
		||||
					</CoolingDevice>
 | 
			
		||||
				</TripPoint>
 | 
			
		||||
			</TripPoints>
 | 
			
		||||
		</ThermalZone>
 | 
			
		||||
	</ThermalZones>
 | 
			
		||||
</Platform>
 | 
			
		||||
</ThermalConfiguration>
 | 
			
		||||
<!-- END -->
 | 
			
		||||
							
								
								
									
										24
									
								
								dell/xps/15-9500/xps-common.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								dell/xps/15-9500/xps-common.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
{ lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  thermald-conf = ./thermald-conf.xml;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ../../../common/cpu/intel
 | 
			
		||||
    ../../../common/pc/laptop
 | 
			
		||||
    ../../../common/pc/laptop/ssd
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Boot loader
 | 
			
		||||
  boot.kernelParams = lib.mkDefault [ "acpi_rev_override" ];
 | 
			
		||||
 | 
			
		||||
  # This will save you money and possibly your life!
 | 
			
		||||
  services.thermald.enable = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  # Thermald doesn't have a default config for the 9500 yet, the one in this repo was generated with dptfxtract-static:
 | 
			
		||||
  services.thermald.configFile = lib.mkDefault thermald-conf;
 | 
			
		||||
 | 
			
		||||
  # Set the tlp config to powersave explictly (this should be default). TLP is enabled in common/pc/laptop.
 | 
			
		||||
  services.tlp.extraConfig = lib.mkDefault "CPU_SCALING_GOVERNOR_ON_AC=powersave\nCPU_SCALING_GOVERNOR_ON_BAT=powersave";
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -21,6 +21,8 @@
 | 
			
		||||
      dell-xps-15-9560 = import ./dell/xps/15-9560;
 | 
			
		||||
      dell-xps-15-9560-intel = import ./dell/xps/15-9560/intel;
 | 
			
		||||
      dell-xps-15-9560-nvidia = import ./dell/xps/15-9560/nvidia;
 | 
			
		||||
      dell-xps-15-9500 = import ./dell/xps/15-9500;
 | 
			
		||||
      dell-xps-15-9500-nvidia = import ./dell/xps/15-9500/nvidia;
 | 
			
		||||
      google-pixelbook = import ./google/pixelbook;
 | 
			
		||||
      inversepath-usbarmory = import ./inversepath/usbarmory;
 | 
			
		||||
      lenovo-ideapad-z510 = import ./lenovo/ideapad/z510;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user