diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
index 31f8a62397..8423760e77 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
@@ -13,6 +13,7 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
CORE_SYNC_CORE_SPEED("sync_core_speed"),
RENDERER_USE_SPEED_LIMIT("use_speed_limit"),
USE_DOCKED_MODE("use_docked_mode"),
+ USE_AUTO_STUB("use_auto_stub"),
RENDERER_USE_DISK_SHADER_CACHE("use_disk_shader_cache"),
RENDERER_FORCE_MAX_CLOCK("force_max_clock"),
RENDERER_ASYNCHRONOUS_SHADERS("use_asynchronous_shaders"),
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
index a0ace00c0b..cc23cc065c 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
@@ -266,7 +266,13 @@ abstract class SettingsItem(
descriptionId = R.string.use_docked_mode_description
)
)
-
+ put(
+ SwitchSetting(
+ BooleanSetting.USE_AUTO_STUB,
+ titleId = R.string.use_auto_stub,
+ descriptionId = R.string.use_auto_stub_description
+ )
+ )
put(
SwitchSetting(
syncCoreSpeedSetting,
@@ -347,6 +353,7 @@ abstract class SettingsItem(
valuesId = R.array.vramUsageMethodValues
)
)
+
put(
SingleChoiceSetting(
IntSetting.RENDERER_RESOLUTION,
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
index cfdfce7276..c68be2dfa3 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
@@ -260,6 +260,7 @@ class SettingsFragmentPresenter(
add(BooleanSetting.RENDERER_USE_SPEED_LIMIT.key)
add(ShortSetting.RENDERER_SPEED_LIMIT.key)
add(BooleanSetting.USE_DOCKED_MODE.key)
+ add(BooleanSetting.USE_AUTO_STUB.key)
add(IntSetting.REGION_INDEX.key)
add(IntSetting.LANGUAGE_INDEX.key)
add(BooleanSetting.USE_CUSTOM_RTC.key)
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index e47d1df498..0fffd1b00f 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -256,6 +256,8 @@
Device name
Docked Mode
Increases resolution, decreasing performance. Handheld Mode is used when disabled, lowering resolution and increasing performance.
+ Use Auto Stub
+ Automatically stub missing services and functions. This may improve compatibility but can cause crashes and stability issues.
Emulated region
Emulated language
Select RTC date
diff --git a/src/common/settings.h b/src/common/settings.h
index b16106985b..6596c2c764 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -621,7 +621,7 @@ struct Values {
linkage, false, "extended_logging", Category::Debugging, Specialization::Default, false};
Setting use_debug_asserts{linkage, false, "use_debug_asserts", Category::Debugging};
Setting use_auto_stub{
- linkage, false, "use_auto_stub", Category::Debugging, Specialization::Default, false};
+ linkage, false, "use_auto_stub", Category::Debugging};
Setting enable_all_controllers{linkage, false, "enable_all_controllers",
Category::Debugging};
Setting perform_vulkan_check{linkage, true, "perform_vulkan_check", Category::Debugging};