
Pokémon Gamma Emerald playable on AYN Thor (Snapdragon 8 Gen 2 / GameNative) + Config & INI profiles
Hey everyone!
dont know why my thread been deleted.. but here it is !
I managed to get Gamma Emerald running and fully playable on the AYN Thor (QCS8550 / SD 8 Gen 2, Android 13) using a custom GameNative build. In-game inputs (D-pad, A, B, Start) are confirmed working in-game, not just in the Android test tool.
Here is the full working configuration and ready-to-use config pack:
⚙️ Working Stack & Settings
- Container / Translation: Bionic + Proton 10.0 ARM64EC 2 + FEXCore 2605 Intermediate
- Graphics Drivers & DXVK: Turnip 26.2.0 R4 + DXVK 2.4.1 GPLAsync
- Display & Sync: 1280x720 | 30 FPS Cap | FIFO Presentation
- Controls:
- Steam Input: Disabled
- XInput + DirectInput: Enabled
- SDL Controller API: Enabled
- Mouse input: Disabled
🌡️ Thermal & Performance Profiles (Unreal Engine INI)
To keep thermals and battery draw under control, two profiles are included:
- Cool Profile: Disables shadows, GI, reflections, post-processing, anti-aliasing, effects, foliage, and shader quality (
=0). Keeps textures and view distance at Low (=1). - Balanced Shadows Profile: Identical to the Cool profile, but sets
sg.ShadowQuality=1so you can easily test if your SoC handles low shadows without thermal throttling.
📥 Installation Steps
- Download the Game
- Import GameNative Profile:
- Import the provided
.jsoninto GameNative. - Note: The current importer doesn't restore all UI fields automatically. Double-check manually:
1280x720,30 FPS cap,XInput + DirectInput ON,SDL Controller API ON,Steam Input OFF, andMouse OFF.
- Import the provided
- Apply UE Config:
- Make sure the game is closed.
- Pick your preferred profile (
CoolorBalanced Shadows), rename it toGameUserSettings.ini. - Drop it into: PlaintextPokemonEmerald/Saved/Config/Windows/
- Launch and enjoy!
Configs :
GameUserSettings Low
; Gamma Emerald - AYN Thor cool profile
; Copy while the game is closed.
; Target: 1280x720, 30 FPS, lowest expensive effects.
[ScalabilityGroups]
sg.ResolutionQuality=100
sg.ViewDistanceQuality=1
sg.AntiAliasingQuality=0
sg.ShadowQuality=0
sg.GlobalIlluminationQuality=0
sg.ReflectionQuality=0
sg.PostProcessQuality=0
sg.TextureQuality=1
sg.EffectsQuality=0
sg.FoliageQuality=0
sg.ShadingQuality=0
sg.LandscapeQuality=0
[/Script/Engine.GameUserSettings]
bUseVSync=False
bUseDynamicResolution=False
ResolutionSizeX=1280
ResolutionSizeY=720
LastUserConfirmedResolutionSizeX=1280
LastUserConfirmedResolutionSizeY=720
FullscreenMode=0
LastConfirmedFullscreenMode=0
PreferredFullscreenMode=0
Version=5
AudioQualityLevel=0
LastConfirmedAudioQualityLevel=0
FrameRateLimit=30.000000
DesiredScreenWidth=1280
bUseDesiredScreenHeight=True
DesiredScreenHeight=720
LastUserConfirmedDesiredScreenWidth=1280
LastUserConfirmedDesiredScreenHeight=720
LastRecommendedScreenWidth=-1.000000
LastRecommendedScreenHeight=-1.000000
LastCPUBenchmarkResult=-1.000000
LastGPUBenchmarkResult=-1.000000
LastGPUBenchmarkMultiplier=1.000000
bUseHDRDisplayOutput=False
HDRDisplayOutputNits=1000
GameUserSettings Balanced
; Gamma Emerald - AYN Thor balanced shadows profile
; Identical to Cool except low-quality shadows are enabled.
[ScalabilityGroups]
sg.ResolutionQuality=100
sg.ViewDistanceQuality=1
sg.AntiAliasingQuality=0
sg.ShadowQuality=1
sg.GlobalIlluminationQuality=0
sg.ReflectionQuality=0
sg.PostProcessQuality=0
sg.TextureQuality=1
sg.EffectsQuality=0
sg.FoliageQuality=0
sg.ShadingQuality=0
sg.LandscapeQuality=0
[/Script/Engine.GameUserSettings]
bUseVSync=False
bUseDynamicResolution=False
ResolutionSizeX=1280
ResolutionSizeY=720
LastUserConfirmedResolutionSizeX=1280
LastUserConfirmedResolutionSizeY=720
FullscreenMode=0
LastConfirmedFullscreenMode=0
PreferredFullscreenMode=0
Version=5
AudioQualityLevel=0
LastConfirmedAudioQualityLevel=0
FrameRateLimit=30.000000
DesiredScreenWidth=1280
bUseDesiredScreenHeight=True
DesiredScreenHeight=720
LastUserConfirmedDesiredScreenWidth=1280
LastUserConfirmedDesiredScreenHeight=720
LastRecommendedScreenWidth=-1.000000
LastRecommendedScreenHeight=-1.000000
LastCPUBenchmarkResult=-1.000000
LastGPUBenchmarkResult=-1.000000
LastGPUBenchmarkMultiplier=1.000000
bUseHDRDisplayOutput=False
HDRDisplayOutputNits=1000
Gamma-Emerald-AYN-Thor-GameNative.json
{
"containerVariant": "bionic",
"wineVersion": "proton-10.0-arm64ec-2",
"emulator": "FEXCore",
"fexcoreVersion": "2605",
"fexcorePreset": "INTERMEDIATE",
"graphicsDriver": "wrapper",
"graphicsDriverConfig": "vulkanVersion=1.3,version=Turnip v26.2.0 R4,blacklistedExtensions=,maxDeviceMemory=0,presentMode=fifo,syncFrame=0,disablePresentWait=0,resourceType=auto,bcnEmulation=auto,bcnEmulationType=compute,bcnEmulationCache=0,gpuName=Device",
"dxwrapper": "dxvk",
"dxwrapperConfig": "version=2.4.1-gplasync,framerate=30,maxDeviceMemory=0,async=1,asyncCache=1,vkd3dVersion=2.14.1,vkd3dLevel=12_1,ddrawrapper=none,csmt=3,gpuName=NVIDIA GeForce GTX 480,videoMemorySize=2048,strict_shader_math=1,OffscreenRenderingMode=fbo,renderer=gl",
"execArgs": "-ResX=1280 -ResY=720 -ForceRes -ExecCmds=\"t.MaxFPS 30\" -NoSplash -NoStartupMovies",
"envVars": "WRAPPER_MAX_IMAGE_COUNT=0 ZINK_DESCRIPTORS=lazy ZINK_DEBUG=compact,deck_emu MESA_SHADER_CACHE_DISABLE=false MESA_SHADER_CACHE_MAX_SIZE=512MB mesa_glthread=true WINEESYNC=1 MESA_VK_WSI_PRESENT_MODE=fifo TU_DEBUG=noconform VKD3D_SHADER_MODEL=6_0 PULSE_LATENCY_MSEC=144",
"startupSelection": 1,
"cpuList": "0,1,2,3,4,5,6,7",
"cpuListWoW64": "4,5,6,7",
"audioDriver": "pulseaudio",
"wincomponents": "direct3d=1,directsound=1,directinput8=0,directinput=0,directmusic=0,directshow=1,directplay=0,vcrun2010=1,wmdecoder=1,opengl=0",
"videoMemorySize": "2048"
}
u/tkmremiiiii — 3 days ago