Mining with Vegas

Howdy, I'm @CircusDad.  Getting my setup running has been a fun journey with many a late night.  I have made several new online friends and have leveraged the experiences of those that have gone before.  It's been a fun ride.  This guide will not re-create the ride.

This guide summarizes what I found that works and consolidates, step by step, the details you need to get there too.  In many cases this info does not originate with me.  However, I found no one reference available with all the links that worked for me.  Here are all the details in one place.  Enjoy.  Good Luck!  Remember, YMMV.

NOTICE: u/hellae gets an early shout-out as his original "The Definitive Guide" Reddit post was huge in getting me started... I will reference it.  Unfortunately, when I was starting there were too many, "follow the guide except do this instead" cases such that having this new post that I can keep updated was worth having.

*** If this guide makes a difference for you and you think your ready to make a purchase for your miner, I would appreciate it if you click though a few of the links in the Hardware section to see if they offer you your best available price ***


Goal

Have a headless computer with scripts that will reliably start a robust Vega miner.  No Wattman.  No flaky HBCC.  Once up and running the system is hashing with CPU, Nvidia GPU and AMD (Vega) GPU's.  The setup self monitors and resolves any Vega "hash drop" problems so you can focus on other things.  The rig offers the ability to check the status via a web interface from any computer or phone.  Note: This is primarily a Vega miner so of course the focus is Cryptonight currency (i.e. Monero, ETN, Nicehash Cryptonight...).


Equipment

The Equipment used in my rig is listed below.  You do not need to use the same equipment in order to use this guide.  The listing below includes details to help you find what you do need.
  • Corsair RM1000i Power Supply with software monitoring of power used  
    • Note: Each Vega's take TWO, 8pin PCIe connections.  The Amazon pic didn't show it but I was pleasantly surprised it came with breakouts for 4x Vega's (photo of cable). 
    • 1000w EVGA Gold is highly rated and often has a better price.  
      • Note the EVGA does not offer software monitoring if that matters to you
    • Update: I recently added in a 450w PSU I already owned via this cable in order to offload the power drawn by the Motherboard and Nvidia and bring utilization below 80% (see FAQ for more details)
    • Some people recommend 2x 750W PSU's.  If you go this route you will need to plan ahead with some 6 pin to 8 pin adapters.
    • I used a 2x-Molex to 6 pin PCIe Power cable to power my old GTX-750
  • Motherboard/CPU: Gigabyte ATX GA-970A-D3P with FX-6300 - I already had it... 
  • 4 GB of ram (I used 16 GB only because I already had it)
  • Non-SSD hard drive (I already had it... get a cheap 120GB SSD.
  • PCIe risers  (I got a 3 pack and had to go back for another.. get a 6 pack )
  • Monitor Emulator (so you can disconnect your monitor without confusing the Vega)
  • Power Button - You need a button to tell your computer to turn on.
  • Mining Frame: I built mine out of wood but some find it less hassle to purchase it
  • 2x Vega 64 -  (Click for Price/Description)
    • I have one Sapphire and one XFX.  All Vegas are AMD reference cards so brand does not affect performance.
  • 2x Vega 56  -  (Click for Price/Description)
    • Mine are Gigabyte but again, brand doesn't matter
    • The Vega 56 provides a ~3% lower hash rate but if you can get one at a cheaper price the 60 h/s lost may be justified by cost and power savings, though it has not been much cheaper lately and availability is a key factor.
  • Nvidia GTX 750 - already in hand  (you do not need to have a non-Vega)

Software


Card Installation and Placement

My Motherboard has two full 16x-long PCI slots and 3x short PCIe slots (yours may differ).  If you do not have an iGPU then the long PCI slot closest to your CPU becomes your primary GPU (there may be a short PCIe slot closer to the CPU but the long one is primary).  If your rig is going to include a non-Vega GPU, it is helpful if you put it in that first long 16x slot (it can be via riser).  In my case it gets the GTX-750 (via PCIe riser).
  • This is helpful because, as you will see, every time you start the computer each Vega will be "disabled" and then "re-enabled".  It makes things smoother when you don't have to disable the display the computer is using for display...  by having a reliable (not needing to be disabled) card in the main PCI slot is saves some heartburn.  People run systems with 100% Vega's all the time (In fact, I have experience doing it now too) so this is NOT the only way (you don't need a Nvidia card)... but it is a convenience if you are using a non-Vega GPU in your system.
HDMI dummy plug will go in the main GPU (GTX-750 in my case) after system is set up (I used a monitor during setup so the plug was not installed in the earlier stages).  You do not need plugs for the other cards.  Just the "primary".  Your computer is smart enough to know when a monitor is off or is not attached and yet we are going to be changing setting to ensure Windows never puts the monitor to sleep.  Since we don't want to waste energy 24hrs a day, we use the HDMI dummy plug to make the computer happy.

Original Rx Vega 56 and Rx Vega 64 Mining Rig with 1x GTX-750

The Vega install order doesn't matter.  The PCIe slots on MB's are spaced such that if I want to use all the slots then you need to use risers (or the card covers more then one slot).  The exception is the final 16xPCI location (farthest from CPU).  I was able to use that slot directly without a riser as there is nothing to the right of it for my card to obstruct. My order, starting with the slot closes to the CPU is, Vega 64, GTX-750 (in 16x slot via riser), Vega 56, Vega 56, Vega 64 (directly mounted to MB 16x PCI slot without riser).

How to place risers in motherboard for mining rig


Note: Originally my guide did not spell out Windows install / driver removal in such detail but I found this foundation drives many of peoples troubleshooting issues later so I have added detail.
  • I recommend a clean install of Windows 10 (you don't need to start fresh... but I did).
  • Force Windows updates until you have the Fall Creators Update (Version 1709, Build 16299)
    • (People have reported issues with more then 3 Vega's unless they have this update) 
    • Windows Start button, type "Check for updates", select, "Check for updates" 
    • Repeat that step after every Windows reboot until it tells you it is "up to date".
      • Be patient... really patient... this may be the slowest part of the entire project
    • Open command prompt and type: "winver".  Confirm it says, "Build 16299" or higher.
  • (Optional) Create a System Restore point called "Fall Creators Update" (doesn't take long)
  • If you did the recommended fresh windows installation then jump to "Install GPU Drivers"
  • Download and install the guru3d.com Display Driver Uninstaller DDU
    • Download links are near the bottom of the webpage; it is a lightweight program.
  • If you did not do a clean Windows installation then the following steps will guide your through uninstall of prior drivers and movement of cards to their proper location:
    • If you have an iGPU then it will not be moving so you do not need to uninstall it.
    • If you have an Nvidia that will remain in the current location then you do not need to uninstall it's driver.  If it will be removed and/or moved:
      • Restart the computer in safe mode (Instructions here if needed
      • Run DDU;  Select "Nvidia" in the upper right and then have it shutdown (vs. restart) so you can physically remove the card after power down.
    • If you ever previously tried to install the AMD drivers, or if you need to move a Vega's physical location: now is the time to uninstall
      • Restart the computer in safe mode (Instructions here if needed
      • Run DDU;  Select "AMD" in the upper right and then have it shutdown (vs. restart) so you can physically shuffle cards after power down.
    • OK, the computer is powered down and you have a clean slate to configure as needed.
    • Get every card into physical position per, "Card Installation and Placement"
    • While powered down, plug the monitor into the proper graphics card:
      • The iGPU (if you have one).   If not,
      • Into the non-Vega GPU located in the first long PCI slot.
      • If you have no iGPU and non-Vega, then plug monitor into the Vega located in the first long PCI slot
        • If you have a mix of Vega 56's and Vega 64's then I recommend a 64 for this first PCI slot (not critical). 
      • Boot-up computer (May be slow as it detects all the new hardware)
  • (Optional) Create a System Restore point called "Cards With No Drivers" (doesn't take long)
    • Don't skip this optional step :-)

Windows Mining Related Settings

  • POWER SETTINGS: Set screen and Hard Drive to never sleep
    • Windows Start button: type "run" (or press Windows logo key + R)
    • Type:  "powercfg.cpL"
    • Select "Change plan settings" for the plan that is selected
    • Set "Turn off the display" to "Never"
    • Set "Put the computer to sleep" to "Never"
    • Select "Change advanced power settings"
    • Expand "Hard disk" and set "Turn off hard disk after" to "0"
    • Select "Apply", then "OK" and then "Save Changes"
    • Close window
    • (Note: Setting hard drive to never sleep is thought to help prevent hash-rate drops when the miner is using virtual memory)

    • VIRTUAL MEMORY: Set up windows virtual memory (hat tip to u/hellae).  
      • Windows Start button
      • Type: "Advanced System Settings"
      • Performance Settings
      • Advanced Tab
      • Virtual Memory --> change button
      • Deselect "Automatically mange"
      • Toggle Custom size: 60000MB / Maximum Size: 60000MB
      • Hit "SET" Button...  (Don't forget this step... several have!)
      • Hit "OK"
    • LARGE PAGE SIZE: Let's your miner access the memory it needs.
      • Open gpedit.exe
        • If you have Windows 10 Education/enterprise or Professional:
          • Windows start key  --> type: "gpedit" and hit enter.
        • If you have Windows 10 Home (or Single Language Edition), you do have gpedit but it is disabled and you need to enable it.  Hat tip to askvg.com who provides a bat file that will do all this work for you.  
          • Go to askvg.com site here
          • Scroll down to "Method 1: Only for Windows 10 Users"
          • Follow instructions to download and run bat file.
          • Restart your computer per the instructions.
          • Windows start key  --> type: "gpedit.msc" and hit enter.
      • With gpedit open:
        • Expand "Windows Settings"
        • Expand "Security Settings"
        • Expand "Local Policies"
        • Select "User Rights Assignment"
        • In the right side screen, Scroll down and select: "Lock Pages in Memory"
        • Select, "Add User or Group"
        • Type the user name you use when you log into windows and select, "check names"
          • If it is an e-mail address you include the @domain.com portion in the name
        • It will put an underline under your name when you know it worked.
        • Hit "OK" and then close the main local security policy screen.  You need to restart computer before running the miner but don't do it now... a restart will come naturally later.
        • The graphic below shows you the screens you will have just seen.  Click the photo to expand it and make it a useful size (the black boxes are where I blacked out my user name).

    • REMOTE DESKTOP SOFTWARE (and other support software)
      • Install and configure a remote desktop software options, I can affirm that Google Chrome Remote Desktop is EASY to use and does not cause hash drops during mining when setup as follows:
        • Install Google Chrome.
        • Disable Google Chrome hardware acceleration:
          • Open Google Chrome Settings: "chrome://settings/"
          • In the settings search field type: "Use hardware acceleration when available"
          • Toggle the slider to off  (we need the GPU's focused on mining)
          • Select the "Relaunch" button 
        • Install Chrome Remote Desktop extension (authorize for the computer)
          • I recommend you do a practice remote login to ensure you know it works
      • Note: After the driver install step (that occurs later) you are free to shutdown your computer, unplug your monitor and replace it with the HDMI dummy plug and then remote login for all the remaining steps.

    • OPTIONAL TWEAKS
      • (Optional) Download and install Notepad++. It is a lightweight and user friendly editor that does not cause hash drops during mining and enables you to have more then one text file open at a time... you will be doing lots of text editing
      • (Optional) Prepare Windows File Explorer to enable file extensions to be changed:
        • Open Windows Explorer (Windows Button + E)
        • Select "View" tab, "Options", "View" tab again and then:
        • Uncheck the box next to: "Hide extensions for known file types" / Apply
        • Select "Apply to Folder" - "Yes"
      • (Optional) Disable Windows Auto Updates.  This step is obviously up you.  You should still install them from time to time but now you can do it at the time of your choosing (maybe a weekend) vs. when Windows might otherwise break your miner (and maybe shutdown your machine) without warning. 
        • The process to do it is clearly defined in this Forbes article.  Go to the link and scroll down to the section that says, "Option 3: Group Policy Editor".  
        • Windows Home users remember that you now have "gpedit.msc" so you do not need to "sit this one out."  (Windows button, type "run", "gpedit.msc")
      • (Optional) Disable automatic driver updates.  I have not done this or had issue with this but some recommend it... the idea has merit.  If AMD puts out a new driver that might be OK, but it would be nice to try it out on our own terms vs. an unplanned driver update. 
        • Windows Start button; Type: "View Advanced System Settings"
        • Select the "Hardware Tab" then, "Device Installation Settings"
        • Toggle, "No" so windows will not try to change your system when you already have it working  (I put some screen captures of the screens here if they help - Note that "Yes" is still toggled when I took the screen capture).

    • If you have a non-Vega card then install that driver now (GTX-750 in my case)
    • Restart the computer  
    • Download the AMD blockchain driver / 64 bit / file name shows Aug 23 release.
    • Recommendation: If you have 4+ Vega's then I suggest you point an external fan at your Vega's during this step.  Driver install is slow and the cards can get hot because the driver is not present to tell them to speed up their fans.  I think AMD simply did not design the process to expect more then 2 Vegas at a time.  In my case I believe a card throttled itself and caused installation to fail (Screen Shot of Error).  I did this twice before I got wise to use a fan.  With the fan I had no issue.
    • Run the Executable, let it extract itself.
    • Select Custom Install when prompted.
      • Note: I have had greater hash drop stability since I rebuilt my system and installed only the AMD driver (without the other software).  If you do choose to installed the full AMD application, NEVER EVER open the AMD application.  In other guides you will hear references to Wattman.  Ignore them.  You will hear references to HBCC sliders.  Ignore them.  Opening the driver software works for some people but I have had to uninstall and re-install the drivers ground up because of opening the driver.  Don't do it.  You need the driver installed and that is it.
    • Uncheck all boxes except the box for the AMD Display Driver 
      Mining Cryptocurrency with RX Vega 56 or RX Vega 64 requires only the AMD Display Driver Component
    • Select "Install" (Note: After driver install it will invite you to restart the computer again... DON'T.  We have an additional step to do before the restart.)
    • If you have many Vega's in your system then this process will be very slow and the screen will go black for several minutes at a time.  Be patient and keep the cards cool.  
    • Do NOT restart the computer when it gives you the option at the end of installation.  u/Slithus7 suggested the disable crossfire auto link steps be preformed pre-reboot so it never has a chance to cause us a problem...

    TURN OFF AMD CROSSFIRE DETECTION 
    • Whenever Windows starts the AMD driver tries to detect other Vega cards to establish "crossfire".  We don't want crossfire and even searching for it is not good for driver stability.  We also don't want it polling to see about power states when your mining.  Here are manual steps to disable "EnableUlps" and "EnableCrossFireAutoLink" (take note of the Vega registry ID numbers as we will need them again later)
      • Windows Start key --> "regedit"
        • Be careful to only change entries that this guide says to change, you can mess up your computer with this program.
      • Navigate to the proper directory by either drilling down per the photo below (easier) or you can search and let Windows find it via:
        • Select Edit --> Find  (Ctrl-F)
        • Type "EnableUlps" and select the 'Find Next' button  (case sensitive)
        • It may take a long time to search...  let it work
        • The search windows will eventually go away having driven down into your registry and selected a field "EnableUlps" with a value of 1 (true) - click to expand pic if needed. 
      • Note the Device Description: "Raedon RX Vega".
      • Note the registry number ID for the card. "0001" in the case above.
      • Double click on "EnableUlps" and change the value to "0" (false)
      • Double click on "EnableCrossFireAutoLink" and change the value of to "0" (false)
      • If you have only one Vega you are done.  If more then one, you need to select the remaining ID's you see on the left and find your other Vegas.  In my case 0000 is my Nvidia and 0001, 0002, 0003, and 0004 are all Vega's.
      • For each Vega:
        • set "EnableUlps" to "0"
        • set "EnableCrossFireAutoLink" to "0"
        • Note the device ID (i.e. 0001)
      • Make sure you write down/remember the device ID's of each Vega 
      • Backup the registry display section:  In the right hand side right click on the parent "{4d36e968-e325-11ce-bfc1-08002be10318}" and select, "export".  Save the file.
        • Note: We will later be adding something called a "soft power play table".  If your computer ever does not like such a table you can (1) double-click this file you just saved (2) find and delete for each Vega the entry called, "PP_PhmSoftPowerPlayTable" (3) restart your computer... and it is like you never applied the soft power play table (that's what makes it "soft").

        The AMD blockchain driver is flaky and this trick we learned from Mythic solves the problems.  People will tell you to resolve flakiness via Wattman HCBB sliders.  Don't.  Never open AMD driver software.

        This little section will tell you how to do manually what you will ultimately do automatically with a script.  It is good to (1) know what the script is doing and (2) get the system working manually so you can focus on hashing and can decouple script troubleshooting from Vega troubleshooting:
          • Windows Start button
          • Type: "Device Manger"
          • Expand "Display adapters"
          • Select first vega, right click, disable
            • If you don't see your Vega(s), close device manager and reopen until they show up
          • Select first Vega, right click, enable
          • Repeat for all Vegas
          • Close device manager
        Note: If you do not have your monitor/dongle plugged into an iGPU or a Nvidia then the screen may go black during the disable and enable functions.

        If Vega's ever act weird this process will need to be repeated (until you get the script working).  This is easy so don't overthink it.  This needs to be done EVERY TIME WINDOWS STARTS which is why we will use a script to automate this later.  Now you know what that script will be doing.

          • Download OverDriveNTool straight to your desktop (does not require an install)
            • The file comes compressed as a .z7 (you can use 7-zip.org to uncompress it)
          • Run the OverDriveNTool executable.
          • Select your first Vega in the upper left-hand drop down menu.  Verify that it provides a screen of values like this (Your numbers may not match exactly and that's OK):
            • Note: If at any time, when you select a Vega in this menu, OverDriveNTool gives you "This GPU is not supported" then sadly, that is a sign your driver is corrupted and you need to:  (a) Revert to an earlier Windows restore point or (b) uninstall/reinstall the block-chain driver and repeat registry edits (click here).
          • If you have all Vega 56's or all Vega 64's, you can skip to the next step.  If you, like me, have a mix of 56's and 64's, follow the steps below to determine which order OverdriveNTool detects the cards (record this as you will need this info later)
            • Use the drop down in the upper left to select your first vega
            • Look at the value in GPU P7.
              • If it says 1630 then that slot ID has a Vega 64
              • If it says 1590 then that slot ID has a Vega 56
            • Cycle through each slot ID until you have identified and recorded the ID and style for for each Vega (In my case, 0=GTX750, 1-Vega64, 2-Vega56, 3-Vega56, 4-Vega64)
            • Note: If you already altered the baseline GPU P7 values through previous attempts at configuration then you can use this brute force method to determine card order. 
          • Force OverdriveNTool to create an .ini file by creating a scrap profile.  Under Profile select "save" and give it name "scratch".   --> Close the GUI.
          • Use a text editor to open the "OverdriveNTool.ini" file.  Delete the files contents and replace with the text below; Save file.
          • Note: The OverdriveNTool GUI and .ini appear to control a lot of values but much of this is actually controlled by the Windows registry and is not configurable via OverdriveNTool.  GPU_P6, GPU_P7, Mem_P3, Fan and Power targets ARE configurable.  Changes to other lower level P states require registry edits (which we will do later).
          • Note: These profiles are a starting point that should get you stable at the expense of power optimization.  Once you are up and running you will want to tweak the GPU_P6, P7 and Mem_P3 values to get lower power consumption for the same hash rate.  Hold off for now to ensure you have a safe base to tweak from. 

          • Create a new file on the desktop called, "Run_OverdriveNTool.bat" that when run, will call OverdriveNTool.exe and have it (1) clear the settings from each of your Vega's and (2) Set the desired settings for each Vega per the .ini file you made in previous step.
            • Open you text editor
            • Select "File" -> "Save as type:" and select "all files".   Give your file the name 'Run_OverdriveNTool.bat'
            • The .bat file will have one line of text formatted as follows:
            • Note: The FILE MUST BE CONFIGURED FOR YOUR SETUP.  The provided text is for my specific configuration of cards.  You need a "-r#" for each of the card ID's that needs to be reset, and then a -p#<ProfileName> to reset parameters for either a Vega 56 or Vega 64 parameter as required by your setup.  
            • Your computer will be unhappy if you start mining on a Vega 56 that has the Vega 64 OverdriveNTool profile applied to it.  See the FAQ if you are still unsure of your OverdriveNTool card order. 
            • Note also: "-r0" in my case is my GTX-750 so I have no command with "-r0" or "-p0".  Your setup may differ.  Good luck :-).  If you open the OverDriveNTool.exe GUI you will see a menu that lists each of your cards in order.
          • Double Click your "Run_OverdriveNTool.bat" file.  You will see a black screen flash up and disappear.
          • Confirm that your bat file worked for each card:
            • If you are by your machine you can just confirm that the fan of each Vega is now spinning fast (you just set the minimum to 3000RPM)
            • If you are remote from your system; Double Click on "OveredriveNTool.exe" to open the GUI.  Cycle through your cards.  Ignore most of the numbers for now as they will not yet take... you know the .bat file worked if the "Fan_Min" is set to 3000rpm for each card.  (don't expect all the other numbers to match yet)  


            In this section we will tweak the Windows registry to maximize performance of the Vega's. It's called "Soft" because this section does not not alter your Vega's (unless you elect to flash the BIOS).  


            Note: This is an important step when building an Rx Radeon Vega mining rig.  Do this section if it is your first time through the guide.  However, if you are repeating your install because of crashing issues, try temporarily skipping this section for now to see if you can get mining and then come back to it.  You will want to come back to this section. 

            u/Hellea established himself as the community expert in soft power play tables via this Sept 21st post on overclock.net.  For some time I have linked people to his Oct 5th Reddit post so they can recognize his contribution and go through a few steps of his (then outdated) guide.  Sometime around Nov 29th he did an extensive re-write of his post.  Sorry for the back and forth but he now makes you pay for his content via coinhive links and it seems dishonorable for me to post any scripts here that he has not previously posted for free (sorry).
              • Go to u/Hellea's Definitive Guide for Vega Mining 
                • Note: I have not flashed my Vega 56 BIOS to Vega 64 BIOS and do not plan to as I am aware of no benefit.
              • Scroll down to the section called: "Soft Power Play tables at Windows Registry"
                • SKIP STEP 1 
                • Watch the video that is in Step 2 if you choose (punchline is that OverdrivNTool does not control P states below GPU_P6, and MEM_P3... even though they show up as editable in the GUI.  Soft Power Play tables are required to actually change those values.)
                • SKIP STEPS 4, 5, 6 (we already installed the driver)
                • Perform Step 7
                  • Note: Both times I have built my system I have used the 1100MHz HBM @ 905mV power play table (that u/Hellea previously posted for free) on both my stock bios 56's and 64's.  I have had no issues but every Vega is a little different and it won't work for everyone. 
                  • Per request, I used have used a stock Vega 56 version of brnsted's Excel tool to produce a Stock Vega 56 registry file (HERE).  I have tested that it works but it did increase my power usage by about 10 watts vs. the file above.
                  • I have not used the "Safe" file that he now links to on his post... but I have no reason to doubt it is safe.
                • SKIP STEP 1  (You already know your Vega Registry ID's)
                • Perform Step 2 through 4
                • Come back to this guide, we are done with that one for now. (but you will want to revisit it once you are up and running and ready to tune for power efficiency)
              • Perform the steps in "Reset Vega drivers with Device Manager" listed above.
                • Remember, this needs to be done every time Windows restarts
              • Double Click the "Run_OverDriveNTool.bat" file we made earlier.  
              • Congratulations...  If you had a miner you would be ready to get mining.


                • Create an "xmr-stak" directory on C drive, 'c:\xmr-stak'  (or location of your choice)
                • In Windows defender, set XMR-stak directory as an exception
                  • Windows Start --> Type: "Windows Defender Security Center"
                  • Select "Virus & threat protection"
                  • Select: "Virus & threat protection settings"
                  • Select: "Add or remove exclusions" under the "Exclusions" section
                  • Select the plus sign by, "Add an exclusion", "Folder" and select folder, "XMR-Stak". 
                • Select your miner.  I recommend XMR-STAK (There is also a valid option to use Cast_XMR as your Vega GPU miner).  I use and will outline step-by-step setup of XMR-STAK because:
                  • It gives the same performance (slightly better for me actually - YMMV)
                  • Includes a really handy web interface so I can check my hashrate/connection from any computer on my LAN
                  • It is compatible with JJs_HashMonitor which we will discuss later (that last reason is the best reason of all!)
                • Download XMR-STAK (you want the file called: "xmr-stak-win64.zip")
                  • Chrome will call any miner malware and prevent the download.  The xmr_stak code is not bad but so many people are using miners as malware so the browser assumes you are not aware of what your doing.  Here are instructions on how to do this if you need them...
                    • Click the link and let Chrome prevent the download.
                    • Hit "Ctrl-J" to open the chrome download manager
                    • XMR-Stak will be the top file: Select, "Keep Dangerous File"
                  • Extract the zip file to the c:\xmr-stak\ directory you created previously.
                  • Give the xmr_stak.exe file administrative privileges so it has the right to control efficient blocks of memory for fast mining (the "large page sizes" you setup earlier).
                    • Right click on the file and select "properties"
                    • Select the "Compatibility" tab and tic box for: "Run this program as an administrator"
                  • You may need two libraries (msvcp140.dll and vcruntime140.dll) which are available from the Microsoft server (do NOT use a random internet download of .dll files).
                  • You can skip this section if you are familiar with mining and already have a Monero address and target pool
                    • (If the only address you have is based with an exchange then DO follow this section)
                  • Get a Monero address if you don't have one.  The official site, https://Monero.how, links to https://moneroaddress.org as a credible place to get your wallet.
                    • Enter a value of your choice into the "Custom entropy" field.
                    • Select: "Generate Wallet"
                    • Print or in some way save this very valuable and unique information.  Never share the Mnemonic seed or spend key.  The "Public address" can be made public (thus the clever name) and will be needed in the next section so your mining pool knows where to send the mining profit.
                  • Select a mining pool
                    • A list of available pools can be found here: http://moneropools.com/
                      • I use and highly recommend https://supportXMR.com.  They have an active Chatango chat group that is very helpful.  They have always paid me out the amount that they should exactly when they should. The two that run the place, @Snipa22 and @m5m400, are accessible via chat if you ever need any assistance. Of course as always, YMMV and you are free to do as you please. 
                    • This guide will assume you select supportXMR and will use pool.supportxmr.com:7777 as the assumed pool address when setting up the miner.  You can fill in whichever you picked.

                    • Assuming you have already reset your Vega's via device manager since your last windows restart... Double click and run, xmr-stak.exe.
                    • Windows will block execution to "Protect your PC".  Select, "More info" and then "Run anyway"
                    • It will ask you to enter your Currency. Enter: 'monero'
                    • It will ask for your pool address.  Enter:  pool.supportxmr.com:7777
                    • It will ask for your user name: Enter your public wallet address
                    • It will ask for your password.  This is not really a password.  It is an identifier unique to your computer so that:
                      • 1) If you have multiple computers working, you can see how much this one is contributing toward your total hashrate
                      • 2) If you include an e-mail address, supportXMR will send you an e-mail if your computer stops hashing (this is really handy if windows ever makes a random update/restart and you would be otherwise unaware). 
                      • Enter your choice in format: "ComputerName:email@gmail.com" (don't enter actual quotes)
                        • i.e. VegaPC:YourEmail@gmail.com    or, if you don't want e-mail, 
                        • i.e. VegaPC
                    • It will ask if your pool supports TLS/SSL.  SupportXMR actually does support TLS/SSL (and you should consider using it..) BUT, this may require more configuration for your machine so say 'N' for now to limit the variables you are messing with (it's easy to change later).
                    • It will ask if you want to use Nicehash: Enter 'n' for No.
                    • It will ask if you want to use multiple pools: Enter 'n' for No (easy to change later)
                    • You made your first hash.  Yea.  Now close the miner :-).
                      • If you type 'h' in the screen before closing you will see your hash rate report.  It will be nowhere near the rate you want... don't panic
                    • It generated several files: config.txt, cpu.txt, amd.txt, maybe a nvidia.txt (depends if you have a Nvidia card or not).  Each file needs to be optimized.  The tuning guide is here but I will get you started with a few things.

                    • Open Config.txt
                      • You will see the pool address, user name and password at the top.
                      • Scroll down to the bottom where is says: "httpd_port" : 0,
                      • Change the 0 to a number of your choosing  (i.e. 420)
                      • When the miner is running you can now check your hash rate from your browser with address:  http://localhost:420/h    (where 420 is whatever number you picked)
                        • If you know your computers i.p address, you can do it from any computer (or phone) on your LAN using: http://IPaddress:420/h  
                      • That last step is important.  As you will see later, set a port number even if you don't think you will use the web interface much. 
                        • Save and close.

                      • Open cpu.txt
                        • At the bottom you will see something like (its specific to your CPU): 
                        • Optimizing your CPU is beyond the scope of this guide.  The key for this step it to pick which CPU will be reserved to instruct the GPU's.  
                          • If your CPU "hyperthreads" then you will see missing numbers ("1", "3" and "5" are missing in example above).  Note a missing number (we will use "1") and exit the file without editing it.
                          • If your CPU does not "hyperthread" then there will be no missing number.  If that is the case, you will want to reserve one core for your GPU.  Pick a number (say "0") and type "//" (without quotes) in the front of the line and then save & exit.

                        • Open amd.txt (this is where the Vega optimization magic will happen)
                          • You will see something like the box below but there will be an index number and bracket pair { } for each Vega in your system (the example below is for a hypothetical two Vega system): 
                            • Vega's are special and can handle two threads for each index, each with a very high intensity.  Each card was given an index number.  For each Vega, delete the complete auto-generated bracket pair { } and replace it with the double line of text in the block below (The example text below is for a hypothetical two Vega system)
                              • The intensity and worksize values are the same whether Vega 56 or 64.
                              • You need two lines for each Vega so ensure you update the index for each pair. 
                              • You will need to update the "affine_to_cpu" number to be whichever CPU number you selected in the "cpu.txt" section above ("1" in our example).
                                • You use the same affine_to_cpu number for each Vega, no matter how many you have.  (if you have have an Nvidia.txt file it should be modified to use that same affine_to_cpu number as well)
                              • WARNING: Hopefully you are using an iGPU or non-Vega GPU to serve your HDMI dongle (or monitor).  If you must have your monitor/dongle plugged into a Vega then that index pair needs to have a lower intensity then what is shown below.  Use 1800 for both threads of the Vega that must serve a dongle/monitor.  Only the index that serves the monitor has to be reduced.  Don't stress, it will cost you only about 2h/s total on a Vega 64.  You will know you need this if your screen fills with artifacts while mining. 
                            • Save and exit.

                            To mine, you do the following every time you start the computer.
                            • (you do not need a fresh windows boot every time)
                            • Use the device manager to disable and re-enable each Vega (as defined in this section above)
                            • Double click the "Run_OverDriveNTool.bat" file you created.
                            • Double click the xmr-stak.exe executable
                              • Windows may ask to allow the program access to your network... of course mining requires the internet so answer yes.
                            • Your mining!
                              • If your not mining...  read back over the guide and ensure you did not miss a step.  Many many people have affirmed that guide works so be optimistic... you're almost there.  If that does not reveal the problem, visit the FAQ 
                            (Ok, that works and is doable but can't this be simplified with a script?  Yes... keep reading)

                              Vega Hash Drop --> Hash Monitor 

                              Before getting right to the script we need to talk about hash drop.  If you have spent any time mining with Vega's you know the drivers are flaky and can be prone to "hash drop".  That means they can be running at full speed for a few hours or days and then BAM!  For seemingly no reason they throttle down to 1600h/s and you are loosing 20% of your output until you check on your system and catch the problem.  This is a HUGE frustration and can make mining with Vega's really high maintenance.

                              I am please to announce that TheJerichoJones and I have come up with a way to manage the madness. HUGE shout out to TheJerichoJones for making the code functional and robust.  Truth is, shortly after we got this thing started I, @CircusDad, became @CircusCheerleader... but I did cheer effectively  :-).

                              The script is a one shot method to starting your miner.  It does all the things we did previously:
                              • Disable Vega's, 
                              • Enable Vega's, 
                              • call OverdriveNTool, 
                              • and start xmr-stak....  
                              but it ALSO monitors and manages the hash drop problem.  JJs_HashMonitor detects when hash drop has happened and automatically restarts the Vega's back up to full speed.  Vega mining can once again be the fire and forget miner you expected it to be :-).

                              The hash monitor script REQUIRES that you are using xmr-stak (as we installed above).  There is still a reliable auto start option for you if you choose to use another miner (i.e. CastXMR).  Click HERE for that alternate script and step-by-step setup instructions.  Note: That secondary script does not provide the hash rate monitor so only click that link if you are not using xmr-stak. 

                                It's time to automate all of this with a script. Keep in mind you ALREADY have a functioning miner. This step is totaly worth it but is not required.
                                • Download TheJerichoJones' JJs_HashMonitor HERE
                                • Unzip the file and put all internal files into your xmr-stak directory.

                                • EDIT SCRIPT FILE PER YOUR CONFIGURATION

                                  • Don't be scared by this complex file.  We are only changing three things and I will tell you each step.  Just follow one step at a time.
                                  • Right click on "JJs_HashMonitor.ps1" and select "edit"
                                  • (1) Scroll down to the line that says:                             (roughly line 137)
                                    • $vidTool += 'OverdriveNTool.exe -p1XMR'        
                                    • Edit the value inside the quotes with the line from the "Run_OverDriveNTool.bat" file you made earlier.  In my case:
                                    • $vidTool += 'OverdriveNTool.exe -r1 -r2 -r3 -r4 -p1Vega64 -p2Vega56 -p3Vega56 -p4Vega64'
                                  • (2) Scroll up ~ 5 lines and find the line that says:        (roughly line 131)
                                    • $stakPort = '420'                                                   
                                    • Change the number '420' to the config.txt port number you defined earlier.
                                  • (3) Scroll down ~20 lines and find the line that says:  (roughly line 150)
                                    • $hdiff = 100 
                                    • This is your hash drop trigger (in h/s). Change the number as you desire.
                                    • The default 100 h/s trigger might work for a one Vega setup if CPU mining is not also being performed.  CPU mining will fluctuate as you use your computer.  I recommend you change the trigger to at least 100h/s for each Vega in your system... for me that's 400h/s
                                    • Note: A Vega hash drop looses ~300h/s per Vega
                                  • Save and close.

                                • START MINING

                                  • Your set.  Double click Run_HashMonitor.cmd and you are mining!
                                    • You will receive a windows warning because something is trying to run a script.  Select "More info" and then "Run Anyway"
                                      • Windows prevents you from running scripts because they know they can be dangerous and do things like.... disable devices and change fan settings (which is exactly what we are trying to do).  When this file is run with administrative privileges, it will authorize your computer to run scripts and then start your miner.
                                  • (optional) Right click on "Run_HashMonitor.cmd" and select, "create shortcut".  
                                  • (optional) Rename the shortcut (i.e. "Start Miner") and move it to your desktop.
                                  • Note: JJs_HashMonitor includes some options to for OverdriveNTool equivalents for tricking out Nvidia GPU's.  This is a Vega centric guide so I don't go into them here but you will see some red text letting you know the HashMonitor did not find those tool.  It's not a problem.
                                    JJs_HashMonitor Showing Expected Warnings
                                    The warnings shown above are to be expected
                                  • If you are new to Vega mining you might take hash monitoring for granted...  don't take it for granted.  Hash monitoring is a big deal.  This code did not happen by itself and if you are so inclined you might consider sending TheJerichoJones some love. (XMR: 42JFvWHSSGCFUBSwTz522zXrkSuhZ6WnwCFv1mFaokDS7LqfT2MyHW32QbmH3CL94xjXUW8UsQMAj8NFDxaVR8Y1TNqY54W)
                                • WARNING/DISCLAIMER: In addition to the bogus throttling that Vega's will do because of flaky drivers, there is also a legitimate reason to throttle.  Vega's will legitimately throttle themselves if the memory on the cards (HBM) get's too hot.  In such a case, the throttling was actually good because it protected your cards.  That should not be the case for you because we used OverdriveNTool to set the min fan speed to 3000rpm which should keep things nice and cool.  That said, USE THIS SCRIPT AT YOUR OWN RISK.  Restarts should be rare.  If you start getting back to back restarts, you need to get involved.

                                  I Hope This Helped!

                                  I really hope this helped get you on your way to mining with Vegas.
                                  • If this helped you then please spread the word that it works.  I wrote the guide to help people out and I get a kick out of watching the page view count go up :-)
                                  • Remember, this is a consolidated guide and much of the content did not originate with me.  The originators I pulled from have all been attributed and should not be forgotten.  If you are feeling so inclined... the XMR account of a few key players are:
                                  • As for me (u/CircusDad), I have decided not to post an XMR address because I want to ensure I never scoop the community members who taught/teach me so much of what I know.  However, this guide did take me a lot of time to put together and I am spending a great amount of time to ensure it stays up to date, clear and consolidated.  In my original equipment section I posted some links to serve as a clear reference of a working system.  I later learned that I could earn a small advertising commission if someone buys something from Amazon / Newegg after clicking through one of those links.  So I signed up.  
                                    • DO NOT feel any pressure to buy from Amazon if they don't offer the best available deal... 
                                    • But, if you do find that Amazon offers a good price and you are considering Amazon for part of your miner purchase, then I would appreciate it very much if you would come back and click through from my site.  It's an easy way to say thanks and will not change your price at all.
                                    • Fyi w.r.t the guide... I commit to never spamming the site with links... This is a guide for the community.  Also know that I will include hardware links when I see good deals, even if they aren't Amazon and I don't benefit at all.  This is a resource first.
                                  • Shoot me a PM on Reddit (u/CircusDad) and/or head on over to the SupportXMR chat forum and leave a comment for @CircusDad.  I'd love to know this is helping people.  (Positive feedback only ;-)