[GUIDE] How to: From fresh Windows to Smooth Star Citizen with peripherals - performance tweaks

Preface
Hello ADI. I wish to make a somewhat comprehensive guide taking you from a newly formatted computer and into being Star Citizen-ready. You may jump into the guide at any point you want, as they do not depend upon each other. Disclaimer: Due to not having a computer right now, this guide is not complete! Please give me time to create scripts for debloating and take photos of my own joystick gremlin to provide better information and help.

Bibliography

  1. BIOS
    1.1) Flashing and CMOS
    1.2) Overclocking and/or undervolting
    1.3) General low-risk settings

  2. Windows
    2.1) Debloating
    2.2) Persistent settings
    2.3) Drivers
    2.4) Software

  3. GPU
    3.1) Powermizer
    3.2) Nvidia profile inspector
    3.3) Shader Caching
    3.4) AMD

  4. HOTAS/HOSAS/Peripherals/Misc
    4.1) vJoy
    4.2) HidGuardian (HidHide)
    4.3) Joystick Gremlin

Chapter 1: BIOS

I will quickly go through settings that removes overhead and directs settings to take advice from the CPU where the CPU is focused, rather than using motherboard settings that might not be fully compatible.

1.1 Flashing and CMOS
On a fresh or current install of your operating system, flashing your bios to its newest version is something you should do once purchased, and a few weeks/months after every new motherboard update comes out. Do not rush to update this, as a fresh update might(!) introduce bugs that has yet to be discovered by the company pushing it. But before anything, you should know how to locate and reset your CMOS.

Flashing or updating your motherboard drivers are done by visiting the motherboard manufacturers website, downloading the newest bios version, adding this to a USB stick, inserting said USB stick into your flashing-dock (USB behind your computer usually) and holding in your Flash Bios button (Located next to it) until the LED indicator signals that it is working, usually by flashing. When the light is consistent, the flash has concluded. HOWEVER, all motherboards are a little bit different, so if you are going to flash; Please download the manual from your respective producer first and see what port, procedure, led cycling and coloring is normal for your motherboard.

CMOS is the circular battery you can see on your motherboard. While newer motherboards come with a button that resets CMOS, in some cases you might need to physically remove the battery to reset CMOS. This is your lifeline for any changes done to your motherboard, be it flashing or bios updates. Resetting CMOS via the button OR removing the battery and inserting it again 15 seconds later will default every setting on your motherboard.

Please also understand, that flashing your bios IS a risky process if you live in a place where your power is unstable. I highly recommend that you only flash your bios IF you are 99,99% sure that you will not have any interruptions in power.

1.2 Overclocking and undervolting
I expect that a question regarding this would appear, since I am delving into the BIOS, but there is no catch-all solution for this, so it has to be done on a case-by-case basis. Please have in mind that overclocking, undervolting, changing timers and so on do carry risks directly and under prolonged usage (strain). It might require more juice from your PSU, more powerful cooling and many other factors. Should you want to pursue tuning your ram timings, change your cpu or gpu, please confer with someone who really knows their stuff- and find a reasonable(!) and stable clock that will not take away from your hardwares lifecycle.

1.3 General low-risk settings
Have in mind, names may vary from motherboard to motherboard. If you do not find the exact name I am using, google the name for your manufacturer. If it does not exist (even on a new bios version), you might not have this available for you: Which is fine, none of the settings rely on each other.

Finding the settings: Press F7 (Or equivalent on your mobo) to get into Advanced Mode.

Within Ai Tweaker:
Ai Overclock Tuner → EXPO I (If no EXPO I, Use DOCP)
eCLK Mode → Async mode
BCKL1 FREQ → Default 100,
BCKL2 FREQ → Set from Auto to 100.1
Memory Frequency → Set your RAM to its fastest speed that your motherboard supports (RAM speed on your shop listing, motherboard support on its shop listing, ex: DDR5-4200)
FCLK Frequency → 2067 MHz (Usually stable for everyone)
Core tunings configuration of gaming → Legacy

Within DRAM Timing Control:
Power Down Enable → Disable
Memory Context Restore → Disable (Will cause longer boot times because RAM training will happen on every boot, but its a better option(Disclaimer: If you make changes to RAM Timings, do not disable this, as it will cause bluescreens and horrible boots))
uclk div1 mode → UCLK=MEMCLK
Bank swap mode → swap apu
POC Samle PD → Disable
→ Escape out of DRAM Timing Control

Within Precision Boost Overdrive:
Prochot vram throttling → disable
peak current control → disable
medium load boostit → enable
→ Escape out of PBOverdrive

Within DIGI VRM:
VRM Spread Spectrum → Disable
CPU Power phase control → Extreme
Performance bias → none
→ Escape out of DIGI + VRM
→ Leaving Ai Tweaker and going to Advance tab in BIOS:

Within CPU Configuration:
PSS Support → Disabled
→ Escape out of CPU Configuration

Within PCI Subsystem Settings:
Above 4G Decoding → Enabled
Resize BAR Support → Enabled
→ Escape out of PCI SS

Within USB Configuration:
XHCI Hand-Off → Enabled
→ Escape from USB

Within NB Configuration:
Integrated Graphics → Disabled
→ Escape from NB Conf

Within AMD CBS:
Global C-state Control → Disabled
ECC → Disabled
→ Escape AMD CBS

Within CPU Common Options
Within Core Watchdog:

Core watchdog Timer Enabled → Disable
→ Escape Core Watchdog
Power Supply Idle Control → Typical current idle
Opache control → Enable
ACPI _CST C1 Declaration → Disabled
SMEE → Disabled
Log transparent errors → Disabled
CPU Speculative Store Modes → More speculative
Latency under load → Disabled
→ Escape out of CPU Common Options

F10, Save (As a named profile preferably) and load this.
If something would have happened to make this unstable on your system, either revert some changes, all changes or reset CMOS if it causes boot errors (It wont).

Chapter 2: Windows

2.1) Debloating

NEVER run debloat scripts from the internet(!)

(Arguably not bloat, but if you want to remove stuff that will update itself:)
Manually uninstall the following (Keep whatever you want of course):
xbox live, xbox, windows clock, weather, terminal, sticky notes, sound recorder, solitaire & casual games, power automate, outlook, microsoft to do + onedrive + news + clipchamp + bing search + 365, media palyer, feedback hub and copilot.

Open your control panel: Windows Button → CMD → Run as Administrator:
For all, run “winget uninstall”, example: “winget uninstall OneDrive”:
Microsoft Windows Cross Device, Microsoft Web Experience Pack, Phone Link, Game speech Window, Xbox Indentity Provider, Game Bar, OneDrive.

I am currently making my own powershell to disable cortana, background apps, pdf takeover and all that stupid stuff- since internet cant be trusted. I will up this later, after asking ADI scripters to verify that there is no shady things going on, for YOUR safety.

2.2) Persistent settings
Enable Ultimate/High Performance mode:
Open your control panel: Windows Button → CMD → Run as Administrator:
Write: powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
Go to Control Panel → Power Options → Select Ultimate Performance

Processor State:
Power Options → Change plan settings → Change advanced power settings → Set processor power management → Maximum processor state to 100%

Disable fast startup:
Choose a power plan → Choose what the power buttons do → Change settings that are currently unavailable → Uncheck “Turn on fast startup”

2.3) Drivers
Remember, drivers are important. Make sure that you have the following:

Graphics card drivers (Includes PhysX and audio drivers)
Chipset drivers for your motherboard
Network
Audio
Peripherals
SSD Drivers (Usually health-checking)
Remember: update from manufacturer.

2.4) Software
Software that helps you run well and test for unwell stuff!

ParkControl - Disables core parking to make you run better all the time.

Intelligent Standby List Cleaner - Clearing memory standby list (Frees up RAM)

LatencyMon - real-time checker to find bottlenecks in processes to streamline or make changes IF you have microstutters. best diagnostics tool imho.

Afterburner - to see if your gpu is running at good speeds and temps (Also used for automatic clocking and fan curves)

BRAVE Browser - from the creator of JavaScript. Ad free youtube, youtube while closing phone etc. just an overall good browser that focuses more on privacy.

Chapter 3: GPU

Adding some really good QOL improvements for your graphics and stability.

3.1) Powermizer
Powermizer is what NVIDIA uses to downclock your GPU, can be disabled using Nvidia powermizer manager. Should be applied after every update. Requires reboot.

3.2) Nvidia profile inspector
First, restore to default settings in Nvidia Control Panel → Manage 3D Settings
Remove potential older settings that may cause issues:
Open CMD Prompt: Windows button → CMD → Open as administrator.
Write: del /s /q “%LocalAppData%\NVIDIA\DXCache” and hit enter. If system cannot find file, good.

Within Control Panel:
Within Manage 3D Settings:

Image Scaling → Off
Ambient Occlusion → Off
Anisotropic filtering → Application Controlled
FXAA → Off
Antialiasing - Mode → Application Controlled
CUDA - GPUs → All
Low Latency Mode → Ultra
Max Frame Rate → Off
MFAA → Off
Power Management Mode → Prefer Maximum Performance
Shader Cache Size → Unlimited
Texture filtering quality → High performance
Texture filtering - Negative LOD → Clamp
Trilinear optimalization → On
Tripple buffering → Off
Vertical Sync → Off
Background Application Max Frame Rate (20 if 1 monitor, Off if multiple monitors doing stuff)
DSR Factors → Off

-> APPLY and Close Control Panel

Within Nvidia Profile Inspector:
Sync and Refresh: Frame Rate Limiter V3 → OFF
Sync and Refresh: Maximum Pre-Rendered Frames → 1
Sync and Refresh: Ultra Low Latency - Enabled → On
Sync and Refresh: Ultra Low Latency - CPL State → Ultra
Sync and Refresh: Gsync - Global Feature → Off. If you have a Gsync monitor, keep ON.
Sync and Refresh: Vertical Sync - Tear Control → Adaptive
Texture Filtering: Texture filtering - Quality → High-Performance
Texture Filtering: Texture Filtering - LOD Bias (DX) → -0.5000
Common: Power Management Mode → Prefer Maximum Performance
Common: Shader Cache - Enabled → ON

→ Save and Close

Within (ADMINISTRATIVE) Command Prompt:
SET PRIORITY:
reg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\Systemprofile” /v GPU Priority /t REG_DWORD /d 8 /f

SET RESPONSIVENESS:
reg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\Systemprofile” /v SystemResponsiveness /t REG_DWORD /d 0 /f
REVERTING THIS:
reg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\Systemprofile” /v SystemResponsiveness /t REG_DWORD /d 20 /f

DISABLE BACKGROUND TELEMETRY:
reg add “HKLM\SOFTWARE\SYSTEM\CurrentControlSet\Services\nvlddmkm” /v EnableTelemetry /t REG_DWORD /d 0 /f
REVERTING THIS:
reg add “HKLM\SOFTWARE\SYSTEM\CurrentControlSet\Services\nvlddmkm” /v EnableTelemetry /t REG_DWORD /d 1 /f

STABLE GPU SCHEDULING:
reg add “HKLM\SOFTWARE\SYSTEM\CurrentControlSet\GraphicDrivers” /v HwSchMode /t REG_DWORD /d 2 /f
REVERTING THIS:
reg add “HKLM\SOFTWARE\SYSTEM\CurrentControlSet\GraphicDrivers” /v HwSchMode /t REG_DWORD /d 1 /f

DISABLE HIBERNATION OF PCIE:
reg add “HKLM\SOFTWARE\SYSTEM\CurrentControlSet\Services\pci” /v EnableSelectiveSuspend /t REG_DWORD /d 0 /f
REVERTING THIS:
reg add “HKLM\SOFTWARE\SYSTEM\CurrentControlSet\Services\pci” /v EnableSelectiveSuspend /t REG_DWORD /d 1 /f

→ Restart PC to apply changes.

3.3) Shader Caching
Even though we have made sure that Shade Cache is increased and running smoothly above, I want to emphasise the importance of increasing Shader Cache to 100gb / unlimited. Please do to get major stability improvements.

3.4) AMD
AMD’s Adrenalin software unfortunately removed their ability to increase Shader Cache, afaik due to their tech trying to improve L1/L2/L3 with software? So I cannot help here.

Chapter 4: HOTAS/HOSAS/Peripherals/Misc

4.1) vJoy
vJoy will virtualize your peripherals, allowing for a standardized ID from Windows and also sending inputs from several peripherals into 1 output source. If you plug/unplug your peripherals in Star Citizen, Windows might give it a new ID and you got to rebind it again, for example. vJoy eliminates this.

Download it and enable profiles for each of your peripherals.
Remember: If you have two identical peripherals (like two joy sticks), please ensure that in vJoy, you change their maximum buttons by 1 so they appear as unique. Example: vJoy 1 has 64 buttons, vJoy 2 has 65 (even if the joystick only has 30, it does not matter).

4.2) HidGuardian (HidHide)
HidGuardian puts a firewall between windows and your peripherals, not allowing windows or star citizen to see them, so it will only accept inputs from vjoy for example.
In the application page of HidGuardian: Add JoyStick Gremlin (and calibration software) into its whitelist. In the other page, check the peripherals you are hiding from windows and unplug/plug them back in.

4.3) Joystick Gremlin
JoyStick Gremlin takes Joystick input and sends it to vJoy. However, we can bind buttons, make macros and most importantly set joystick curves for more precision. My computer is currently broken and at the repair shop, so I will have to back to this in order to show photos and explain better. Most importantly here:

Choose 1 joystick

  • Add ‘response curve’ that is a Cubic Bezier Spline and drag this into a curve.
    This curve shows you your sensivity from closer to center to max axis, so a slow climb close to center with a exponential curve means that you have more precision in center of your stick and higher sensitivity further out.

  • You may also add a SLIGHT (-0.20) and (0.20) deadzone at dead center to prevent stick drift while flying.

    AFTER you have added curves on X and Y axis (or even Z-rotation for rutters), you can choose TOOLS and MAP TO VJOY.
    Map stick 1 to vjoy 1 and automatically, all buttons correspond to the same button in he software, so you do not have to bind every single one.
    PHOTOS TO COME(!)

To be continued.
riddERn

ToDo:
-Android/iOs application(s)
-Tobii
-.ps1 enable/disable bloat
-.ps1 enable/disable settings
-Guide/Photo vJoy, Joystick Gremlin, HidGuardian