From 540ef3b83655a6e1bec9b16e9491e657468dad3d Mon Sep 17 00:00:00 2001 From: NextWorks <46625863+NextWork123@users.noreply.github.com> Date: Wed, 24 Sep 2025 13:09:25 +0200 Subject: [PATCH 1/2] Create nfs_hits_cpu90_fix.sh --- nfs_hits_cpu90_fix.sh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 nfs_hits_cpu90_fix.sh diff --git a/nfs_hits_cpu90_fix.sh b/nfs_hits_cpu90_fix.sh new file mode 100644 index 0000000..490cf31 --- /dev/null +++ b/nfs_hits_cpu90_fix.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Fix 90% load for NEED FOR SPEED HEAT (Linux bash version) +# Original by Octanium + +CPU_Cores=$(nproc --all) +CPU_Threads=$CPU_Cores +UserCFGFileCDDir="$(dirname "$(realpath "$0")")/" +UserCFGFileName="user.cfg" +UserCFGFile="${UserCFGFileCDDir}${UserCFGFileName}" + +echo +echo " Fix 90% CPU load!" +echo " For game NEED FOR SPEED HEAT" +echo " by Octanium" +echo +echo " ==== Your CPU ====" +echo " CPU cores : $(lscpu | awk '/^Core\(s\) per socket:/ {print $4}')" +echo " CPU threads: $CPU_Threads" +echo " ==================" + +if [[ -f "$UserCFGFile" ]]; then + if [[ -f "${UserCFGFileCDDir}${UserCFGFileName}.bak" ]]; then + rm -f "$UserCFGFile" + else + mv "$UserCFGFile" "${UserCFGFileCDDir}${UserCFGFileName}.bak" + fi +fi + +echo "Thread.ProcessorCount $CPU_Cores" > "$UserCFGFile" + +echo +echo "Done! Created $UserCFGFile" From 4884da8c0ebab7906cba1b72f9f54cf53313f06d Mon Sep 17 00:00:00 2001 From: NextWorks <46625863+NextWork123@users.noreply.github.com> Date: Wed, 24 Sep 2025 14:08:38 +0200 Subject: [PATCH 2/2] Introduce all features of the original script of windows --- nfs_hits_cpu90_fix.sh | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/nfs_hits_cpu90_fix.sh b/nfs_hits_cpu90_fix.sh index 490cf31..da524af 100644 --- a/nfs_hits_cpu90_fix.sh +++ b/nfs_hits_cpu90_fix.sh @@ -1,9 +1,12 @@ #!/bin/bash # Fix 90% load for NEED FOR SPEED HEAT (Linux bash version) -# Original by Octanium +# Original idea by Octanium + +CPU_Cores=$(lscpu | awk '/^Core\(s\) per socket:/ {print $4}') +Sockets=$(lscpu | awk '/^Socket\(s\):/ {print $2}') +CPU_Cores=$((CPU_Cores * Sockets)) +CPU_Threads=$(nproc --all) -CPU_Cores=$(nproc --all) -CPU_Threads=$CPU_Cores UserCFGFileCDDir="$(dirname "$(realpath "$0")")/" UserCFGFileName="user.cfg" UserCFGFile="${UserCFGFileCDDir}${UserCFGFileName}" @@ -14,7 +17,7 @@ echo " For game NEED FOR SPEED HEAT" echo " by Octanium" echo echo " ==== Your CPU ====" -echo " CPU cores : $(lscpu | awk '/^Core\(s\) per socket:/ {print $4}')" +echo " CPU cores : $CPU_Cores" echo " CPU threads: $CPU_Threads" echo " ==================" @@ -26,7 +29,24 @@ if [[ -f "$UserCFGFile" ]]; then fi fi -echo "Thread.ProcessorCount $CPU_Cores" > "$UserCFGFile" +{ + echo "Thread.ProcessorCount $CPU_Cores" + echo "Thread.MaxProcessorCount $CPU_Cores" + echo "Thread.MinFreeProcessorCount 0" + echo "Thread.JobThreadPriority 0" + echo "GstRender.Thread.MaxProcessorCount $CPU_Threads" +} > "$UserCFGFile" -echo -echo "Done! Created $UserCFGFile" +if [[ -f "$UserCFGFile" ]]; then + echo + echo " =============================" + echo " File user.cfg created!" + echo " =============================" + echo +else + echo + echo " =============================" + echo " File user.cfg NOT created!" + echo " =============================" + echo +fi