Last active
April 21, 2022 13:53
-
-
Save gabrielsond/288900701f28d2857f6b6c60a1c9b704 to your computer and use it in GitHub Desktop.
Script to prepare two 3060 LHR GPUs for mining on unraid (with trex Docker container). Apply this script on first array start using User Scripts Community Application.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Tested on 2 x https://www.techpowerup.com/gpu-specs/msi-rtx-3060-ventus-2x-oc-lhr.b9132 | |
# Unraid NVIDIA Driver community app installed and running v495.46 | |
# | |
# nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version --format=csv | |
# name, pci.bus_id, vbios_version | |
# GeForce RTX 3060, 00000000:01:00.0, 94.06.25.00.87 | |
# GeForce RTX 3060, 00000000:02:00.0, 94.06.25.00.87 | |
# | |
# ----------------------20220421 04:10:09 ---------------------- | |
# Mining at us2.ethermine.org:5555 [172.65.230.90], diff: 4.29 G | |
# GPU #0: RTX 3060 - 38.71 MH/s, [LHR 79.2<>] [T:50C, P:110W, F:50%, E:355kH/W], 483/483 R:0% | |
# GPU #1: RTX 3060 - 38.88 MH/s, [LHR 79.5<>] [T:53C, P:110W, F:50%, E:357kH/W], 495/495 R:0% | |
# Hashrate: 77.60 MH/s, Shares/min: 0.956 (Avg. 1.057), Avg.P: 218W, Avg.E: 356kH/W | |
# Uptime: 10 hours 8 mins 1 sec | Algo: ethash | T-Rex v0.25.12 | |
# Download 43 packages to run nvidia-settings... ugh. It's only 41.8MB. | |
# Download them all simultaneously in about 2 seconds on a gigabit FTTC connection | |
echo "https://slackware.uk/slackware/slackware64-14.2/slackware64/x/xorg-server-1.18.3-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/xinit-1.3.4-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libxcb-1.11.1-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXau-1.0.8-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXdmcp-1.1.2-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/n/nettle-3.2-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libdrm-2.4.68-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXfont-1.5.1-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/l/harfbuzz-1.2.7-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/l/freetype-2.6.3-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libfontenc-1.1.3-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libxshmfence-1.2-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/xkeyboard-config-2.17-noarch-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/xkbcomp-1.3.0-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libxkbfile-1.0.9-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/xterm-325-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXft-2.3.2-x86_64-3.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/fontconfig-2.11.1-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXaw-1.0.13-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXmu-1.1.2-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXt-1.1.5-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXinerama-1.1.3-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXpm-3.5.11-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libICE-1.0.9-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXrender-0.9.9-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXext-1.3.3-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libSM-1.2.2-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/l/gtk+2-2.24.30-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/l/atk-2.18.0-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/l/gdk-pixbuf2-2.32.3-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/l/pango-1.38.1-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXi-1.7.6-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXrandr-1.5.0-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXcursor-1.1.14-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXcomposite-0.4.4-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/l/cairo-1.14.6-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/mesa-11.2.2-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXdamage-1.1.4-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXv-1.0.10-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXfixes-5.0.2-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/x/libXxf86vm-1.1.4-x86_64-2.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/d/gdb-7.11.1-x86_64-1.txz | |
https://slackware.uk/slackware/slackware64-14.2/slackware64/d/python-2.7.11-x86_64-2.txz | |
" | xargs -n 1 -P 43 wget | |
# order important? have not dependency tested yet... next reboot. | |
upgradepkg --install-new xorg-server-1.18.3-x86_64-2.txz | |
upgradepkg --install-new xinit-1.3.4-x86_64-2.txz | |
upgradepkg --install-new libxcb-1.11.1-x86_64-1.txz | |
upgradepkg --install-new libXau-1.0.8-x86_64-2.txz | |
upgradepkg --install-new libXdmcp-1.1.2-x86_64-2.txz | |
upgradepkg --install-new nettle-3.2-x86_64-1.txz | |
upgradepkg --install-new libdrm-2.4.68-x86_64-1.txz | |
upgradepkg --install-new libXfont-1.5.1-x86_64-2.txz | |
upgradepkg --install-new harfbuzz-1.2.7-x86_64-1.txz | |
upgradepkg --install-new freetype-2.6.3-x86_64-1.txz | |
upgradepkg --install-new libfontenc-1.1.3-x86_64-1.txz | |
upgradepkg --install-new libxshmfence-1.2-x86_64-2.txz | |
upgradepkg --install-new xkeyboard-config-2.17-noarch-1.txz | |
upgradepkg --install-new xkbcomp-1.3.0-x86_64-2.txz | |
upgradepkg --install-new libxkbfile-1.0.9-x86_64-1.txz | |
upgradepkg --install-new xterm-325-x86_64-1.txz | |
upgradepkg --install-new libXft-2.3.2-x86_64-3.txz | |
upgradepkg --install-new fontconfig-2.11.1-x86_64-2.txz | |
upgradepkg --install-new libXaw-1.0.13-x86_64-1.txz | |
upgradepkg --install-new libXmu-1.1.2-x86_64-2.txz | |
upgradepkg --install-new libXt-1.1.5-x86_64-1.txz | |
upgradepkg --install-new libXinerama-1.1.3-x86_64-2.txz | |
upgradepkg --install-new libXpm-3.5.11-x86_64-2.txz | |
upgradepkg --install-new libICE-1.0.9-x86_64-2.txz | |
upgradepkg --install-new libXrender-0.9.9-x86_64-1.txz | |
upgradepkg --install-new libXext-1.3.3-x86_64-2.txz | |
upgradepkg --install-new libSM-1.2.2-x86_64-2.txz | |
upgradepkg --install-new gtk+2-2.24.30-x86_64-1.txz | |
upgradepkg --install-new atk-2.18.0-x86_64-1.txz | |
upgradepkg --install-new gdk-pixbuf2-2.32.3-x86_64-1.txz | |
upgradepkg --install-new pango-1.38.1-x86_64-1.txz | |
upgradepkg --install-new libXi-1.7.6-x86_64-1.txz | |
upgradepkg --install-new libXrandr-1.5.0-x86_64-1.txz | |
upgradepkg --install-new libXcursor-1.1.14-x86_64-2.txz | |
upgradepkg --install-new libXcomposite-0.4.4-x86_64-2.txz | |
upgradepkg --install-new cairo-1.14.6-x86_64-2.txz | |
upgradepkg --install-new mesa-11.2.2-x86_64-1.txz | |
upgradepkg --install-new libXdamage-1.1.4-x86_64-2.txz | |
upgradepkg --install-new libXv-1.0.10-x86_64-2.txz | |
upgradepkg --install-new libXfixes-5.0.2-x86_64-1.txz | |
upgradepkg --install-new libXxf86vm-1.1.4-x86_64-2.txz | |
upgradepkg --install-new gdb-7.11.1-x86_64-1.txz | |
upgradepkg --install-new python-2.7.11-x86_64-2.txz | |
# Reset cards just in case | |
nvidia-smi -r | |
# Enable persistence | |
nvidia-smi -pm 1 | |
# Set power limit to 110W | |
nvidia-smi -pl 110 | |
# Generate /etc/X11/xorg.conf using virtual displays (THIS IS NOT AN OPTIMAL CONFIGURATION... will work on this) | |
nvidia-xconfig --cool-bits=31 --allow-empty-initial-configuration --use-display-device=None --virtual=304x200 --enable-all-gpus --separate-x-screens | |
# "Ensure the DISPLAY environment variable is set correctly." (to virtual display?) | |
export DISPLAY=:0.0 | |
# Start Xorg display server in background | |
xinit & | |
# The remainder of this script can be put into an .xinitrc file so that xinit can be started, run the script, and exit | |
# Set GPU 0 to P2 Power Mode | |
nvidia-settings -a [gpu:0]/GPUPowerMizerMode=2 --use-gtk2 | |
# Set GPU 1 to P2 Power Mode | |
nvidia-settings -a [gpu:1]/GPUPowerMizerMode=2 --use-gtk2 | |
# Increase GPU 0 memory clock speed by 2400MHz (to 8500MHz) | |
nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffsetAllPerformanceLevels=2400 --use-gtk2 | |
# Increase GPU 1 memory clock speed by 2400MHz (to 8500MHz) | |
nvidia-settings -a [gpu:1]/GPUMemoryTransferRateOffsetAllPerformanceLevels=2400 --use-gtk2 | |
# Decrease GPU 0 core clock speed by 200Mhz (variable between 1300 to 1500Mhz roughly) | |
nvidia-settings -a [gpu:0]/GPUGraphicsClockOffsetAllPerformanceLevels=-200 --use-gtk2 | |
# Decrease GPU 1 core clock speed by 200Mhz (variable between 1300 to 1500Mhz roughly) | |
nvidia-settings -a [gpu:1]/GPUGraphicsClockOffsetAllPerformanceLevels=-200 --use-gtk2 | |
# Enable fan control | |
nvidia-settings -a [gpu:0]/GPUFanControlState=1 --use-gtk2 | |
nvidia-settings -a [gpu:1]/GPUFanControlState=1 --use-gtk2 | |
# Set fans to 50% (two fans per GPU) | |
nvidia-settings -a [fan:0]/GPUTargetFanSpeed=50 --use-gtk2 | |
nvidia-settings -a [fan:1]/GPUTargetFanSpeed=50 --use-gtk2 | |
nvidia-settings -a [fan:2]/GPUTargetFanSpeed=50 --use-gtk2 | |
nvidia-settings -a [fan:3]/GPUTargetFanSpeed=50 --use-gtk2 | |
# Display NVIDIA System Management Interface | |
nvidia-smi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment