u/tkmremiiiii

Pokémon Gamma Emerald playable on AYN Thor (Snapdragon 8 Gen 2 / GameNative) + Config & INI profiles
▲ 36 r/PokemonROM+1 crossposts

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:

  1. Cool Profile: Disables shadows, GI, reflections, post-processing, anti-aliasing, effects, foliage, and shader quality (=0). Keeps textures and view distance at Low (=1).
  2. Balanced Shadows Profile: Identical to the Cool profile, but sets sg.ShadowQuality=1 so you can easily test if your SoC handles low shadows without thermal throttling.

📥 Installation Steps

  1. Download the Game
  2. Import GameNative Profile:
    • Import the provided .json into GameNative.
    • Note: The current importer doesn't restore all UI fields automatically. Double-check manually: 1280x72030 FPS capXInput + DirectInput ONSDL Controller API ONSteam Input OFF, and Mouse OFF.
  3. Apply UE Config:
    • Make sure the game is closed.
    • Pick your preferred profile (Cool or Balanced Shadows), rename it to GameUserSettings.ini.
    • Drop it into: PlaintextPokemonEmerald/Saved/Config/Windows/
  4. 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