Skip to content

Commit

Permalink
Use 'window_handler' for changing process CPU Affinity (Helps #91)
Browse files Browse the repository at this point in the history
  • Loading branch information
KreitinnSoftware committed Feb 5, 2025
1 parent c34d0d4 commit cfee463
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
5 changes: 3 additions & 2 deletions app/src/main/java/com/micewine/emu/activities/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ import com.micewine.emu.core.RatPackageManager.installRat
import com.micewine.emu.core.ShellLoader.runCommand
import com.micewine.emu.core.ShellLoader.runCommandWithOutput
import com.micewine.emu.core.WineWrapper
import com.micewine.emu.core.WineWrapper.getCpuHexMask
import com.micewine.emu.databinding.ActivityMainBinding
import com.micewine.emu.fragments.AskInstallRatPackageFragment
import com.micewine.emu.fragments.AskInstallRatPackageFragment.Companion.ratCandidate
Expand Down Expand Up @@ -658,9 +659,9 @@ class MainActivity : AppCompatActivity() {
}

if (exePath == "") {
WineWrapper.wine("explorer /desktop=shell,$selectedResolution window_handler TFM")
WineWrapper.wine("explorer /desktop=shell,$selectedResolution window_handler ${getCpuHexMask()} TFM")
} else {
WineWrapper.wine("start /unix C:\\\\windows\\\\window_handler.exe")
WineWrapper.wine("start /unix C:\\\\windows\\\\window_handler.exe ${getCpuHexMask()}")

if (exePath.endsWith(".lnk")) {
try {
Expand Down
8 changes: 4 additions & 4 deletions app/src/main/java/com/micewine/emu/core/WineWrapper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import kotlin.math.abs
object WineWrapper {
private var IS_BOX64 = if (Build.SUPPORTED_ABIS[0] == "x86_64") "" else "box64"

private fun getCpuHexMask(): String {
fun getCpuHexMask(): String {
val availCpus = Runtime.getRuntime().availableProcessors()
val cpuMask = MutableList(availCpus) { '0' }
val cpuAffinity = cpuAffinity?.replace(",", "")
Expand All @@ -39,14 +39,14 @@ object WineWrapper {

fun wine(args: String) {
runCommand(
getEnv() + "WINEPREFIX=$winePrefix taskset ${getCpuHexMask()} $IS_BOX64 wine $args"
getEnv() + "WINEPREFIX=$winePrefix $IS_BOX64 wine $args"
)
}

fun wine(args: String, retLog: Boolean): String {
if (retLog) {
return runCommandWithOutput(
getEnv() + "BOX64_LOG=0 WINEPREFIX=$winePrefix taskset ${getCpuHexMask()} $IS_BOX64 wine $args"
getEnv() + "BOX64_LOG=0 WINEPREFIX=$winePrefix $IS_BOX64 wine $args"
)
}
return ""
Expand Down Expand Up @@ -75,7 +75,7 @@ object WineWrapper {
runCommand("ln -sf $path $wineDisksFolder/${getAvailableDisks()[0]}:")
}

fun getAvailableDisks(): List<String> {
private fun getAvailableDisks(): List<String> {
var letter = 'c'
val availableDisks = mutableListOf<String>()

Expand Down

0 comments on commit cfee463

Please sign in to comment.