Opened 18 months ago

Last modified 15 months ago

#13952 new defect

ANDROID: AGS: Can't load games with resources >2GB on ARM32

Reported by: nahuel36 Owned by:
Priority: normal Component: Port: Android
Version: Keywords: ags, nightmare frames
Cc: nahuel36 Game:

Description

I tried to play Nightmare Frames game, buyed from steam, in my cel phone (android 7.0 motorola g4 plus) with the version on Play Store (scummvm 2.5.0) and also the last daily build from ARM 32 bits version (scummvm 2.7.0 2/Dec/2022)
The game dont start, instead of this open the console and show the error message: "error determining stream end"

In Windows 10 the game starts fine, with the version 2.5.0 of scummvm, 64 bits zip portable version from download archive

Change History (8)

comment:1 by tag2015, 18 months ago

Not really related to the bug, but, that game is not in our detection tables. Could you please provide the checksum that scummvm tells you? Thanks

comment:2 by dwatteau, 18 months ago

Summary: Nightmare Frames, cant start gameAGS: Nightmare Frames, cant start game (Android)

Thank you for reporting ths.

Looking at https://steamdb.info/depot/1650591/, it looks like this game has a 2.51 GiB asset, but ARM 32-bit builds currently have a limitation with >2GB files. Looking at the error message, this is possibly related (but needs to be confirmed).

PR https://github.com/scummvm/scummvm/pull/4479 is (maybe) a way of improving compatibility with >2GB files, but AFAICS we need to build the 32-bit Android ports with ANDROID_API >= 24.

In the meantime, is your phone compatible with the ARM 64 bits daily builds? The game might load with that.

EDIT: sorry, meant ANDROID_API version, not NDK version.

Last edited 18 months ago by dwatteau (previous) (diff)

in reply to:  1 comment:3 by nahuel36, 18 months ago

Replying to tag2015:

Not really related to the bug, but, that game is not in our detection tables. Could you please provide the checksum that scummvm tells you? Thanks

{"Nightmare Frames.exe", 0, "55a84a70f80cba8dd2373ea04c2b04ce", 2697804016},

in reply to:  2 comment:4 by nahuel36, 18 months ago

Replying to dwatteau:

Thank you for reporting ths.

Looking at https://steamdb.info/depot/1650591/, it looks like this game has a 2.51 GiB asset, but ARM 32-bit builds currently have a limitation with >2GB files. Looking at the error message, this is possibly related (but needs to be confirmed).

PR https://github.com/scummvm/scummvm/pull/4479 is (maybe) a way of improving compatibility with >2GB files, but AFAICS we need to build the 32-bit Android ports with ANDROID_API >= 24.

In the meantime, is your phone compatible with the ARM 64 bits daily builds? The game might load with that.

EDIT: sorry, meant ANDROID_API version, not NDK version.

my phone is not compatible with 64 bits daily build

comment:5 by tag2015, 17 months ago

Component: Engine: AGSPort: Android
Summary: AGS: Nightmare Frames, cant start game (Android)ANDROID: Nightmare Frames (AGS), cant start game

comment:6 by tag2015, 15 months ago

This still happens on the 32-bit 2.7.0.2 beta3 ARM build. It's not restricted to Nightmare Frames, Strangeland too has a >2GB data file and it doesn't load, with the exact same error.

On the other hand, the ARM64 build works perfectly with both games.

comment:7 by tag2015, 15 months ago

Summary: ANDROID: Nightmare Frames (AGS), cant start gameANDROID: AGS: Can't load games with resources >2GB on ARM32

comment:8 by dwatteau, 15 months ago

AFAICS this is because we still want to provide a unique build covering very old and new Android devices, so we build with an older Android API where this isn't possible.

In my opinion, we should maybe split the Android backends into an old backend and a new backend, as is done for iOS I believe, or drop support for ancient Android versions, or build two artefacts.

Note: See TracTickets for help on using tickets.