-
-
Save tosunkaya/f5041823d8f8de6985c7abf378902c2c to your computer and use it in GitHub Desktop.
Steam minimal resource usage after removal of -no-browser launch option. Enter script in powershell then use Steam_min shortcut on Desktop instead
This file contains hidden or 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
@(set '(=)||' <# lean and mean cmd / powershell hybrid #> @' | |
@set /a STEAMWEBHELPER_OFFLINE=0 | |
@set /a USE_NEW_INGAME_OVERLAY=0 | |
:: makes 2 Desktop shortcuts: Steam_min - use with auto-login; Steam_login - use if auto-login is not enabled and dialog is black | |
@echo off & title steamwebhelper_min || AveYo 2023.07.24 | |
for /f "tokens=2*" %%R in ('reg query HKCU\SOFTWARE\Valve\Steam /v SteamPath 2^>nul') do for %%A in ("%%~S") do set "STEAM=%%~fA" | |
if 1%STEAMWEBHELPER_OFFLINE% gtr 10 (set OFFLINE=--proxy-server=localhost) else (set OFFLINE=--disable-background-networking) | |
if 1%USE_NEW_INGAME_OVERLAY% gtr 10 (set OVERLAY=-oldtraymenu) else (set OVERLAY=-vgui) | |
set ARGS_CEF=--enable-low-end-device-mode --disable-low-res-tiling --in-process-gpu \"--renderer-process-limit=1\" --aggressive | |
set ARGS_LNK_MIN=-cef-disable-breakpad -cef-single-process -cef-disable-gpu -skipinitialbootstrap -quicklogin %OVERLAY% -silent | |
set ARGS_LNK_LOGIN=-cef-disable-breakpad -cef-disable-gpu -skipinitialbootstrap -userchooser -quicklogin %OVERLAY% -silent | |
set STEAM_EX="%STEAM%\Steam.exe" | |
pushd "%STEAM%\bin\cef" & for /f "delims=" %%A in ('dir steamwebhelper.exe /a:-D /b /s /oD') do set "CEF=%%~dpA" & pushd "%%~dpA" | |
set "CEF=%CD%" & if exist "%CD%\steamwebhelper.exe" (goto setup) | |
exit /b | |
:changelog | |
2023.07.13: remove -noshaders | |
2023.07.17: add --disable-gpu to fix --enable-low-end-device-mode after last steam update | |
2023.07.24: add Steam_login shortcut to fix black dialog when auto-login is not used - vgui but disables single-process so +100MB | |
: disable useless breakpad reporting process, valve does not give a damn about high memory usage issue | |
:setup | |
::# elevate with native shell by AveYo | |
>nul reg add hkcu\software\classes\.Admin\shell\runas\command /f /ve /d "cmd /x /d /r set \"f0=%%2\"& call \"%%2\" %%3"& set _= %* | |
>nul fltmc|| if "%f0%" neq "%~f0" (cd.>"%temp%\runas.Admin" & start "%~n0" /high "%temp%\runas.Admin" "%~f0" "%_:"=""%" & exit /b) | |
::# lean xp+ color macros by AveYo: %<%:af " hello "%>>% & %<%:cf " w\"or\"ld "%>% for single \ / " use .%|%\ .%|%/ \"%|%\" | |
for /f "delims=:" %%s in ('echo;prompt $h$s$h:^|cmd /d') do set "|=%%s"&set ">>=\..\c nul&set /p s=%%s%%s%%s%%s%%s%%s%%s<nul&popd" | |
set "<=pushd "%appdata%"&2>nul findstr /c:\ /a" &set ">=%>>%&echo;" &set "|=%|:~0,1%" &set /p s=\<nul>"%appdata%\c" | |
::# toggle when launched without arguments, else jump to arguments: "install" or "remove" | |
set CLI=%*& (set IFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options) | |
if /i "%CLI%"=="" reg query "%IFEO%\steamwebhelper.exe\0" /v Debugger >nul 2>nul && goto remove || goto install | |
if /i "%~1"=="install" (goto install) else if /i "%~1"=="remove" goto remove | |
:install | |
reg add "%IFEO%\steamwebhelper.exe" /f /v UseFilter /d 1 /t reg_dword >nul | |
reg add "%IFEO%\steamwebhelper.exe\0" /f /v FilterFullPath /d "%CEF%\steamwebhelper.exe" >nul | |
reg add "%IFEO%\steamwebhelper.exe\0" /f /v Debugger /d "\"%CEF%\steamwebhelper_min.exe\" %ARGS_CEF% %OFFLINE% --ignore=" >nul | |
reg add "%IFEO%\steamerrorreporter.exe" /f /v UseFilter /d 1 /t reg_dword >nul | |
reg add "%IFEO%\steamerrorreporter.exe\0" /f /v FilterFullPath /d "%STEAM%\steamerrorreporter.exe" >nul | |
reg add "%IFEO%\steamerrorreporter.exe\0" /f /v Debugger /d "%SystemRoot%\System32\systray.exe" >nul | |
reg add "%IFEO%\steamerrorreporter64.exe" /f /v UseFilter /d 1 /t reg_dword >nul | |
reg add "%IFEO%\steamerrorreporter64.exe\0" /f /v FilterFullPath /d "%STEAM%\steamerrorreporter64.exe" >nul | |
reg add "%IFEO%\steamerrorreporter64.exe\0" /f /v Debugger /d "%SystemRoot%\System32\systray.exe" >nul | |
rem tasklist /fi "imagename eq Steam.exe" | findstr /i Steam.exe >nul && start "s" %STEAM_EX% -shutdown | |
if not exist "%CEF%\steamwebhelper_min.exe" mklink /h "%CEF%\steamwebhelper_min.exe" "%CEF%\steamwebhelper.exe" >nul | |
set lnk_min1= $l=join-path ([Environment]::GetFolderPath('Desktop')) '\Steam_min.lnk'; | |
set lnk_min2= $s=(new-object -ComObject WScript.Shell).CreateShortcut($l); | |
set lnk_min3= $s.TargetPath=join-path $env:STEAM '\Steam.exe'; $s.Arguments=$env:ARGS_LNK_MIN; $s.Save(); | |
set lnk_login1= $l=join-path ([Environment]::GetFolderPath('Desktop')) '\Steam_login.lnk'; | |
set lnk_login2= $s=(new-object -ComObject WScript.Shell).CreateShortcut($l); | |
set lnk_login3= $s.TargetPath=join-path $env:STEAM '\Steam.exe'; $s.Arguments=$env:ARGS_LNK_LOGIN; $s.Save(); | |
powershell -nop -c %lnk_min1% %lnk_min2% %lnk_min3% %lnk_login1% %lnk_login2% %lnk_login3% | |
echo; | |
%<%:f0 " steamwebhelper_min 2023.07.24 "%>>% & %<%:2f " INSTALLED "%>>% & %<%:f0 " run again to remove "%>% | |
if /i "%CLI%"=="" timeout /t 7 | |
exit /b | |
:remove | |
reg delete "%IFEO%\steamwebhelper.exe" /f >nul 2>nul | |
reg delete "%IFEO%\steamerrorreporter.exe" /f >nul 2>nul | |
reg delete "%IFEO%\steamerrorreporter64.exe" /f >nul 2>nul | |
del /f /q "%CEF%\steamwebhelper_min.exe" >nul 2>nul | |
echo; | |
%<%:f0 " steamwebhelper_min 2023.07.24 "%>>% & %<%:df " REMOVED "%>>% & %<%:f0 " run again to install "%>% | |
if /i "%CLI%"=="" timeout /t 7 | |
exit /b | |
'@); $0 = "$env:temp\steamwebhelper_min.bat"; ${(=)||} -split "\r?\n" | out-file $0 -encoding default -force; & $0 | |
# press enter |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment