Any time I get a new Mac or PC, I usually need to set it up with a bunch of configuration tweaks so I can be most productive and have the least frustrating friction points. This is the note that I follow any time I get a new Gaming PC or if I have to wipe my Gaming PC and start from scratch.

read more
**Prior to deleting everything, be sure you have fresh-ish versions of the following:**
nonSteamGamesConfig: Steam\userdata\79386350\config/*
steamVR Home: Steam/steamapps/common/SteamVR/tools/steamvr_environments/game/steamtours/SAVE/
steamVR Chaperone: Steam/config/chaperone_info.vrchap
steamVR settings: Steam/config/steamvr.vrsettings
OpenVR Advanced Settings: C:\Users\[user]\AppData\Roaming\AdvancedSettings-Team\OVR Advanced Settings.ini
****

TODO:  command  and enter should be "open" like for folders

*** To wipe ***
Go to settings, search for "Reset this PC". Click Get started, remove everything. Select cloud download. 


*** To setup ***
When installing windows, on the account screen click "Offline account" and use the username "Joe Puccio". Otherwise, your user folder will be "josep", first five characters of your email, which will actually break a lot of absolute paths that have been defined in these configs.

Pair the following devices: Bluetooth mouse, Apple keyboard, Sony headphones. 

Search for "manage sound devices" in settings, and disable the "Hands-Free" Output and Input for the Sony's, so that audio only ever is stereo. 

Close all of the bullshit that automatically was opened, like Windows Mixed Reality Portal.

Sign into your Microsoft account in settings, setup 8272 as PIN, then restart the PC. Decided to continue using the PIN, so others can use the computer easily, and so that the lock screen looks nicer, and it's faster to login.

Search "Windows Security" and open "Virus & Threat Protection", click "Manage Settings", and turn every switch off. Then scroll to the bottom, go to "Change notification settings", and turn all of those off.

Open the settings app, search for "User account control settings", change to "Never" (the bottom-most option). 

Open the settings app, search for "Remote Desktop", and then switch it "On".

Open the settings app, search for "Show suggestions in your timeline" and turn it off. 

Open the settings app, search for "Activity history" and turn off the switch next to your Microsoft account, and then click "Clear history"

In the edge browser, go to Dropbox.com/install. Sign in. Then do selective sync, only 1Password and big-bro-peep.

Open the Start menu, and right click on each tile an select "Unpin from start". 

Unpin all existing apps from the taskbar by right clicking. Uncheck all checks except "Lock the taskbar", which prevents it from being resized to be bigger. Hover over search in the menu and change it to "Hidden".

Open the settings app, search "Turn system icons". Then turn off everything except volume and clock. 

Search the settings app for "Notifications & actions" and turn the notifications switch "off" so you don't get any notifications, and turn off all the checkboxes below.

Search Windows for "View your PC name" and change the name to "big-bro-peep", then restart.

Search "network adapter settings" and disable the slowest connection you're connected to and enable the fastest (could be WiFi). 

Open the "installers" directory and install all applications. These are all of the required applications that we need to get a basic setup.
   * For 1Password, choose Dropbox, then after you're logged in, add 1Password account and use the emergency kit QR code to fill in all the info. 
   * For Steam, make computer's name "big-bro-peep"
   * Search for NVIDIA Control Panel and install it.
   * Once all are installed, quit all apps. 

After Dropbox but while the others are running, search "background image settings" in settings, change the background of the lock screen to be the ice cave and underneath where you choose the picture turn off "get fun facts, tips, and more on your lock screen". Change the background of the desktop to be one of the background images in the configs folder of big-bro-peep. 

Open "primaryApps" and drag each shortcut to the task bar to pin it. 
   * For Steam, you'll have to open the app, then right click and pin. Can't do the drag.

Open "configs" directory and double click "allCustomKeyMappings", then right click it and press "Copy", then open Run dialog, type "shell:startup", then right click and "Paste Shortcut" in that directory.

Login to all primary apps (on the task bar), all game launchers, and NVIDIA GeForce Experience.
   * For each launcher, make sure it recognizes the appropriate install directory and all games inside it.

Search the settings app for "Startup" and turn off every switch except: 1Password, Dropbox, Steam, Realtek HD Audio, allCustomKeyMappings.

Select all items on the desktop and delete them. Search the settings app for "Desktop icon settings", then select result, select it under related settings, uncheck recycle bin, and then apply. 

Open Steam. Go to settings, select "Downloads", select "Steam Library Folders", and select the steamGames folder in all extra drives (D and E). 

Open File Explorer, right click on "Quick Access" in the top, click "Options", then at the bottom turn off both checks for "Show recent files" and "Show frequently visited folders" then click Apply.

Go to the Dropbox folder, big-bro-peep, and right click and pin the following to quick access: "shortcutToAllGameDirectories", "vr"

To restore all non-Steam games back to normal: Quit steam, copy the contents of "config" inside fullBackups and place them in the following directory: C:\Program Files (x86)\Steam\userdata\79386350\config then re-open Steam. Amazingly, these files are portable to Mac as well! Users/Pooch/Library/Application Support/userdata/79386350/config then re-open Steam. The only thing that won't work is the small icon, because the path is hardcoded in shortcuts.vdf, which will have the PC path, which obviously won't work on the Mac. Note: discovered a couple new things. If changing the shortcut icon to be the tall image isn't working and it still shows the tiny image, then you should try removing the non-Steam game entirely and starting over, this time only ever specifying the tall image as the shortcut, it seems to get cached somewhere and I can't figure out where. The fact that /userdata/760/ contains screenshots.vdf which has the numbers that need to be used in order to get the wide images working in SteamVR, this could be the key to getting actually perfect icon coverage, including the tiny icons: https://github.com/search?q=screenshots.vdf&type=code (could also play around with this to see if it could trigger getting it working: https://github.com/Foyl/SteaScree). Also discovered that in config there's steamapps.vrmanifest, which is essentially auto-generated every time SteamVR is booted, and if you look inside it you see that it's pulling the paths for the shortcut icons to source the photos, path is image_path. Could potentially see if we modify certain parts of this file in a persistent way, and see if we can chance an actual Steam game to have a different icon and see if this changes at all. Should keep all of the categories collapsed, actually, that way you never even see the little icons because they're going to look bad due to them needing to work in VR. It looks like screenshots.vdf is only written to when the game is launched, so when doing first configuration, it's a good idea to delete the file, then launch each game to determine what it's actual ID is. When creating this for the first time, be sure to batch what you're doing (do all of the shortcuts, then all of the headers, etc) to speed things up, and then also be sure to sort the grid folder by recently created. Seems like you can make screenshots.vdf read-only without issue.

Should also create a dynamic collection, "VR - All" that has all supported VR titles, this works even though the "Supports VR" only applies to Steam native games, which is silly. Pull all VR titles and ONLY the VR titles into Favorites. This will allow much easier access to them inside the headset. 


**VR**

Note: VR can be fickle enough that copying existing configs may be a bad idea. It may be better to manually go through the steps again, where reasonable/relevant. This is especially because chaperones/distances/etc that were calculated on a previous install might not be mapable to the current install, due to some underlying things changing about WMR/SteamVR's positions.

Search for "Mixed Reality Portal" which should come pre-installed on the computer. Click "Start setup and check your PC". Continue clicking next, you'll get to "Getting ready to setup" which will take some time. Choose "set me up for all experiences", which is basically room setup rather than seated setup. As of 12/25/20, it nobody seems to have figured out how to save the boundary in a file to avoid the setup hassle (and doing the stupid tutorial) after a clean install. Just run around your room with it quickly to get past this part; the only boundary that matters is Steam really. When centering the headset, don't blindly point it at the TV unless you have a square play space. Point it at the side of the room where you have the most space to your left and right; that matters a lot more than the space in front and behind you. Just make the space big enough to get past this setup and be sure that in the top-down view on the screen that the computer/TV that's shown is alongside the long side of the room, not the short side of the room (just like your living room probably looks), but be aware that the quality of head tracking will be affected by how well the headset can recognize the environment. Skip the email setup, and don't use speech. 

Next turn on both WMR controllers and then put on the headset. If the environment moves with your head rather than your head moving within the environment, then that means that the cameras are occluded on the headset or it means that the space is too dark/has changed/your headset just can't ground itself in the environment by finding landmarks. Just move it around while in your hands and spin it a bit and then try putting it back on. Using it in this state will very likely cause motion sickness. 

WMR will ask you to set the floor height. This is important because I believe this carries over to SteamVR, however OpenVR Advanced Settings also allows for the adjustment of floor height. 

Once this is done, unfortunately you have to complete the stupid WMR setup. So just rush through it so that WMR considers its setup complete, which allow you to start SteamVR. 

Open Steam and search "SteamVR" and click "Install"

Start SteamVR using Steam, just click VR in the top right, and put on the headset with the WMR controllers. Follow below to restore your SteamVR Home save. Note though, that you may need to first do a "save current environment" and a "set home" before you are able to get your SteamVR home save file to show up: To restore Steam Home, copy the contents of the home you want (starts with SAVE_) to Steam/steamapps/common/SteamVR/tools/steamvr_environments/game/steamtours/SAVE/, note that ALL of the files matter (if you want it to work out of the box), although the ones that end in HLx are temp files that seem to change as you switch between different environments. The way it appears to work is that you can have one saved version of each environment, and you can always choose to go the original one (a non destructive action in itself) using the environments selection. Your "Home" is just a pointer to one of the saved environments, so you can change your home willy nilly, and it won't affect your saved environments. Your home is what you launch into when you first start SteamVR. 

Open SteamVR, on desktop open the tiny window for SteamVR, then click on the little hamburger on the top left to display options. Do the following: 
 (OR just put the steamvr.vrsettings file into Steam/config, which has most or all of these things inside of it)
* turn on "performance graph", so you can see the frametimes and any framedrops (purple lines)
* Open settings, change "Advanced settings" on the bottom left to "Show" instead of hide. 
* Change the render resolution from Auto to Custom, set it to 200% (you may have to turn it down for some games). 150% should be fine, which is the default, in order to correct for barrel distortion of the lenses (they need a bigger target image rendered in order to crop/adjust for the distortion), but the bigger the better, if the PC can handle it at 90Hz at least. 
* Turn "SteamVR always on top" off, this prevents the window on the desktop from always being on the screen. 
* Change the activation distance of the chaperone to 0.4 if playing in small room (868 Jordan Hills)
* Change the play area background to be the other mountain range. 
* Go to the startup overlays and choose both OVR Advanced Settings and Open Space Calibrator. 
* On developer, there's a "Current OpenXR Runtime", it should be set to WMR. Don't change it, it's impossible to change back, but we may one day want to change it to SteamVR if that does result in some improvement. Actually, no you can change it, by restarting WMR and SteamVR, WMR reality portal comes up with a note that says it's not configured to run OpenXR and a button that says "Fix it" which actually undoes this change. 

Install the latest Oculus: https://www.oculus.com/download_app/?id=1582076955407037

Finally, follow this guide https://github.com/PumkinSpice/MixedVR/wiki/ReadMe for setting up a) the knuckles controllers with your setup and b) the SteamVR chaperone to completely replace the WMR chaperone. Be sure to install OVR Advanced Settings through Steam, just search "OVR" in your Steam library, then click install. 
A couple more caveats to following this guide: 
* Stop after step 5 when doing the SteamVR chaperone bounds instead of WMR bounds. Don't worry about the chaperone you create originally in Steam's room setup; you'll be overwriting it.  
* Quit SteamVR. Backup the existing chaperone file you have by renaming it with ".bak", then copy the one you have saved to Steam/config/chaperone_info.vrchap. Re-open SteamVR and see if that works. If it doesn't then replace it with the one you backed up and then open ChaperoneTweak.exe in big-bro-peep/apps/vr/ and perfect the chaperone. Save often! Just eyeball the edges of most things, by lifting the headset on and off your head to eyeball-match the distance of the chaperone walls/objects with your actual walls/objects.
* Quit SteamVR. Now, for the final touch: matching your virtual room's orientation/translation with your physical room. After much work, this seems possible to do only with ChaperoneTweak (manually modifying the file doesn't work well, or is just too confusing; it's not as trivial as modifying the translation/yaw values, which means it's too complicated to do manually). If at 868jordanhills, face the bed, enter floor mode, then point the arrow on the floor to your right (since this will always point to those Steam launch panels, which is behind the TV in the room). This will get the orientation correct. 
* Next you'll want to perfect any translations, basically adjust the center portion of your play space such that the VR room you built matches up with your chaperone bounds (e.g. your physical room). Drag the center of the floor 
* Save things, then copy the file to a save folder as you're doing all of the above steps because Steam will very likely eventually overwrite your stuff, it may actually just create a new "universe" so you can actually recover your stuff by deleting all the other universes in your file, it's just JSON. You don't actually have to quit SteamVR, you can just quit chaperone tweak and go back into SteamVR home and see how well it lines up. Repeat until it's perfect. 
* If you can stick your hand through the back wall in virtual space (the wall with the door), then you need to move the play space back (toward that wall). Usually it seems we only have to adjust one offset, the others are fine.









**Optional**

Install the latest iCUE (may cause performance issues): https://www.corsair.com/us/en/downloads

Install the latest Dragon Center (may cause performance issues): https://www.msi.com/Landing/dragon-center-download



**Potential fixes for stuttering/high CPU utilization/dropped frames:** 
* Disable Game Mode in Windows, Settings>Gaming>Game mode. This is their new special CPU scheduler.
* Disable GeForce experience in-game Overlay in the GeForce experience app
* Turn off frame limiter in NVIDIA control panel
* Go to NVIDIA 3D Settings and set "Prefer maximum performance" is selected.
* Go to the control panel and change the power plan to be ""
* Try running with Discord closed to see if that helps.
* Try turning off Game Bar
* Try turning off VSync


Call of Duty Warzone specific fixes: 
* Inside Documents, MW, players, adv_options.ini, set "VideoMemoryScale = 0.55"




** Deprecated **

To restore the Chaperone that you've created, copy chaperone_info.vrchap in fullBackups to Steam/config/. It seems as though this may not actually be portable between OS reinstalls. Perhaps because we're backing it up incorrectly, or because everything in the WMR world is different and so it can't use that as a base reference. 

To restore OpenVR Advanced settings, navigate to C:\Users\[user]\AppData\Roaming\AdvancedSettings-Team and paste in OVR Advanced Settings.ini