nix: Make nix the root
Which means now I'll have to think about real prefixes in commit names.
This commit is contained in:
		
							parent
							
								
									550eed06e0
								
							
						
					
					
						commit
						ee178b7d57
					
				
					 190 changed files with 5 additions and 6 deletions
				
			
		
							
								
								
									
										83
									
								
								unprocessed/config/scripts/nv
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										83
									
								
								unprocessed/config/scripts/nv
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,83 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| # Extracted frm nvidia-xrun | ||||
| DRY_RUN=0 | ||||
| 
 | ||||
| function execute { | ||||
|   if [[ ${DRY_RUN} -eq 1 ]] | ||||
|     then | ||||
|     echo ">>Dry run. Command: $*" | ||||
|   else | ||||
|     eval $* | ||||
|   fi | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| function turn_off_gpu { | ||||
|   if [[ "$REMOVE_DEVICE" == '1' ]]; then | ||||
|     echo 'Removing Nvidia bus from the kernel' | ||||
|     execute "sudo tee /sys/bus/pci/devices/${DEVICE_BUS_ID}/remove <<<1" | ||||
|   else | ||||
|     echo 'Enabling powersave for the graphic card' | ||||
|     execute "sudo tee /sys/bus/pci/devices/${DEVICE_BUS_ID}/power/control <<<auto" | ||||
|   fi | ||||
| 
 | ||||
|   echo 'Enabling powersave for the PCIe controller' | ||||
|   execute "sudo tee /sys/bus/pci/devices/${CONTROLLER_BUS_ID}/power/control <<<auto" | ||||
| } | ||||
| 
 | ||||
| function turn_on_gpu { | ||||
|   echo 'Turning the PCIe controller on to allow card rescan' | ||||
|   execute "sudo tee /sys/bus/pci/devices/${CONTROLLER_BUS_ID}/power/control <<<on" | ||||
| 
 | ||||
|   echo 'Waiting 1 second' | ||||
|   execute "sleep 1" | ||||
| 
 | ||||
|   if [[ ! -d /sys/bus/pci/devices/${DEVICE_BUS_ID} ]]; then | ||||
|     echo 'Rescanning PCI devices' | ||||
|     execute "sudo tee /sys/bus/pci/rescan <<<1" | ||||
|     echo "Waiting ${BUS_RESCAN_WAIT_SEC} second for rescan" | ||||
|     execute "sleep ${BUS_RESCAN_WAIT_SEC}" | ||||
|   fi | ||||
| 
 | ||||
|   echo 'Turning the card on' | ||||
|   execute "sudo tee /sys/bus/pci/devices/${DEVICE_BUS_ID}/power/control <<<on" | ||||
| } | ||||
| 
 | ||||
| function load_modules { | ||||
|   for module in "${MODULES_LOAD[@]}" | ||||
|   do | ||||
|     echo "Loading module ${module}" | ||||
|     execute "sudo modprobe ${module}" | ||||
|   done | ||||
| } | ||||
| 
 | ||||
| function unload_modules { | ||||
|   for module in "${MODULES_UNLOAD[@]}" | ||||
|   do | ||||
|     echo "Unloading module ${module}" | ||||
|     execute "sudo modprobe -r ${module}" | ||||
|   done | ||||
| } | ||||
| 
 | ||||
| if [[ "$1" == "-d" ]] | ||||
|   then | ||||
|     DRY_RUN=1 | ||||
|     shift 1 | ||||
| fi | ||||
| 
 | ||||
| # load config file | ||||
| . /etc/default/nvidia-xrun | ||||
| 
 | ||||
| if [ "$1" == "on" ] | ||||
| then | ||||
|     turn_on_gpu | ||||
|     load_modules | ||||
| elif [ "$1" == "off" ] | ||||
| then | ||||
|     unload_modules | ||||
|     turn_off_gpu | ||||
| else | ||||
|     echo "Usage: $0 [on|off]" | ||||
| fi | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue