Reverting the change @Capehill pointed to fixes the crash, but not the warning, ScummVM still exits, there must have been something else snuck in that causes this.
I'll open a bug item, but cannot say when it will be picked up.
There is no 2.27.x release for AmigaOS 4. Odd minor versions are prereleases from upstream perspective.
If you want to use 2.26.5 library, you need to copy it to ScummVM's local sobjs/ directory and rename it to libSDL2-2.28.so (replace the original library). This may be obvious but just in case...
ScummVM is linked against libSDL2-2.28.so and it cannot independently load any other versions.
In the ScummVM sobjs/ directory there was already libSDL2-2.26.5.so and also libSDL2-2.28.so. As you said I renamed the libSDL2-2.26.5.so to libSDL2-2.28.so and it works again Thanks for the quick help.
@Raziel
Quote:
2.26.x is what i meant, sorry for the confusion.
Reverting the change @Capehill pointed to fixes the crash, but not the warning, ScummVM still exits, there must have been something else snuck in that causes this.
I'll open a bug item, but cannot say when it will be picked up.
No problem, we have a workaround, thanks for reporting the error. I am glad to be able to use ScummVM again.
Maybe I shouldn't always update my system to the latest version. Anyway, I learned from this and created backups from ScummVM.
Edited by Maijestro on 2023/7/5 10:39:12
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
In the ScummVM sobjs/ directory there was already libSDL2-2.26.5.so and also libSDL2-2.28.so. As you said I renamed the libSDL2-2.26.5.so to libSDL2-2.28.so and it works again Thanks for the quick help.
So, it *is* something that was added/changed in SDL2...
Removed one "goto" statement from SDL 2.28.0 and ScummVM window/fullscreen switching started to work again. Need to do more testing with a simpler test program and test it on Linux to clarify where and how this issue should be handled.
Removed one "goto" statement from SDL 2.28.0 and ScummVM window/fullscreen switching started to work again. Need to do more testing with a simpler test program and test it on Linux to clarify where and how this issue should be handled.
What does this mean for the user, will you provide a new version with the change, or does ScummVM have to be adapted?
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
The game is supportedcsince some versions now. I don't have the gog version, but my cd based released worked last time I tried
Maybe it's a problem with the GOG version. The game starts in a black window, also the exit of ScummVM is then no longer possible. I have created a log for this.
Neuer Shell-Prozess 4
4.Workbench:> cd Programme:ScummVM/
4.Programme:ScummVM> scummvm -d9
Debuglevel (from command line): 9
Reading plugins from plugin directory ''
Reading plugins from plugin directory 'plugins/'
Couldn't open plugin directory '/usr/local/lib/scummvm'
Reading plugins from plugin directory 'Programme:ScummVM/plugins/'
Replaced the duplicated plugin: 'zvision'
Replaced the duplicated plugin: 'wintermute'
Replaced the duplicated plugin: 'voyeur'
Replaced the duplicated plugin: 'vcruise'
Replaced the duplicated plugin: 'ultima'
Replaced the duplicated plugin: 'twine'
Replaced the duplicated plugin: 'tucker'
Replaced the duplicated plugin: 'tsage'
Replaced the duplicated plugin: 'trecision'
Replaced the duplicated plugin: 'touche'
Replaced the duplicated plugin: 'access'
Replaced the duplicated plugin: 'cine'
Replaced the duplicated plugin: 'chewy'
Replaced the duplicated plugin: 'cge2'
Replaced the duplicated plugin: 'cge'
Replaced the duplicated plugin: 'buried'
Replaced the duplicated plugin: 'bladerunner'
Replaced the duplicated plugin: 'bbvs'
Replaced the duplicated plugin: 'asylum'
Replaced the duplicated plugin: 'ags'
Replaced the duplicated plugin: 'agos'
Replaced the duplicated plugin: 'agi'
Replaced the duplicated plugin: 'adl'
Replaced the duplicated plugin: 'gnap'
Replaced the duplicated plugin: 'glk'
Replaced the duplicated plugin: 'freescape'
Replaced the duplicated plugin: 'dreamweb'
Replaced the duplicated plugin: 'drascula'
Replaced the duplicated plugin: 'dragons'
Replaced the duplicated plugin: 'draci'
Replaced the duplicated plugin: 'director'
Replaced the duplicated plugin: 'cryomni3d'
Replaced the duplicated plugin: 'cruise'
Replaced the duplicated plugin: 'composer'
Replaced the duplicated plugin: 'lab'
Replaced the duplicated plugin: 'kyra'
Replaced the duplicated plugin: 'illusions'
Replaced the duplicated plugin: 'hypno'
Replaced the duplicated plugin: 'hugo'
Replaced the duplicated plugin: 'hopkins'
Replaced the duplicated plugin: 'hdb'
Replaced the duplicated plugin: 'hadesch'
Replaced the duplicated plugin: 'groovie'
Replaced the duplicated plugin: 'grim'
Replaced the duplicated plugin: 'griffon'
Replaced the duplicated plugin: 'gob'
Replaced the duplicated plugin: 'parallaction'
Replaced the duplicated plugin: 'ngi'
Replaced the duplicated plugin: 'neverhood'
Replaced the duplicated plugin: 'nancy'
Replaced the duplicated plugin: 'myst3'
Replaced the duplicated plugin: 'mtropolis'
Replaced the duplicated plugin: 'mortevielle'
Replaced the duplicated plugin: 'mohawk'
Replaced the duplicated plugin: 'mads'
Replaced the duplicated plugin: 'made'
Replaced the duplicated plugin: 'lure'
Replaced the duplicated plugin: 'sherlock'
Replaced the duplicated plugin: 'scumm'
Replaced the duplicated plugin: 'sci'
Replaced the duplicated plugin: 'saga2'
Replaced the duplicated plugin: 'saga'
Replaced the duplicated plugin: 'queen'
Replaced the duplicated plugin: 'private'
Replaced the duplicated plugin: 'prince'
Replaced the duplicated plugin: 'plumbers'
Replaced the duplicated plugin: 'pink'
Replaced the duplicated plugin: 'petka'
Replaced the duplicated plugin: 'pegasus'
Replaced the duplicated plugin: 'tony'
Replaced the duplicated plugin: 'toltecs'
Replaced the duplicated plugin: 'titanic'
Replaced the duplicated plugin: 'tinsel'
Replaced the duplicated plugin: 'tetraedge'
Replaced the duplicated plugin: 'teenagent'
Replaced the duplicated plugin: 'sword25'
Replaced the duplicated plugin: 'sword2'
Replaced the duplicated plugin: 'sword1'
Replaced the duplicated plugin: 'supernova'
Replaced the duplicated plugin: 'stark'
Replaced the duplicated plugin: 'toon'
Replaced the duplicated plugin: 'sky'
Using SDL Video Driver "os4"
Invalid joystick: 0
Using SDL Audio Driver "amigaos4"
Output sample rate: 44100 Hz
Output buffer size: 2048 samples
Output channels: 2
HardwareInput with ID 'JOY_START' not known
HardwareInput with ID 'JOY_LEFT_STICK_Y-' not known
HardwareInput with ID 'JOY_LEFT_STICK_Y+' not known
HardwareInput with ID 'JOY_LEFT_STICK_X-' not known
HardwareInput with ID 'JOY_LEFT_STICK_X+' not known
HardwareInput with ID 'JOY_RIGHT_SHOULDER' not known
Setting 960 x 720 -> 768 x 576 -- 1.25
generateZipSet: Loaded pack file: gui-icons.dat
Opening hashed: THEMERC
Opening hashed: THEMERC
Opening hashed: THEMERC
Opening hashed: THEMERC
Loading theme Programme:ScummVM/themes/scummremastered.zip
Opening hashed: THEMERC
Opening hashed: FreeSansBold.ttf
Opening hashed: FreeSans.ttf
Opening hashed: FreeSans.ttf
Opening hashed: SourceCodeVariable-Roman.ttf
Finished loading theme Programme:ScummVM/themes/scummremastered.zip
Adding Gui Object 0x60f31ae8 to trash
Adding Gui Object 0x60dbb6e8 to trash
Adding Gui Object 0x60f6e420 to trash
HardwareInput with ID 'JOY_A' not known
HardwareInput with ID 'JOY_Y' not known
HardwareInput with ID 'JOY_UP' not known
HardwareInput with ID 'JOY_DOWN' not known
HardwareInput with ID 'JOY_LEFT' not known
HardwareInput with ID 'JOY_RIGHT' not known
Setting 960 x 720 -> 768 x 576 -- 1.25
Loading theme Programme:ScummVM/themes/scummremastered.zip
Opening hashed: THEMERC
Finished loading theme Programme:ScummVM/themes/scummremastered.zip
Adding Gui Object 0x60f38388 to trash
Adding Gui Object 0x60f398d0 to trash
Adding Gui Object 0x60f3ae18 to trash
Delayed deletion of Gui Object 0x60f31ae8
Delayed deletion of Gui Object 0x60dbb6e8
Delayed deletion of Gui Object 0x60f6e420
Delayed deletion of Gui Object 0x60f38388
Delayed deletion of Gui Object 0x60f398d0
Delayed deletion of Gui Object 0x60f3ae18
User picked target 'titanic-win' (engine ID 'titanic', game ID 'titanic')...
Looking for a plugin supporting this target... Starship Titanic
MetaEngine: Starship Titanic matched to Engine: Programme:ScummVM/plugins/titanic.plugin
Engine: Programme:ScummVM/plugins/titanic.plugin matched to MetaEngine: Starship Titanic
Running Starship Titanic (Windows/English)
newgame.st: c276f2661f0d0a547445a65db78b2292, 87227 bytes.
HardwareInput with ID 'JOY_A' not known
HardwareInput with ID 'JOY_B' not known
HardwareInput with ID 'JOY_LEFT_SHOULDER' not known
HardwareInput with ID 'JOY_Y' not known
HardwareInput with ID 'JOY_X' not known
HardwareInput with ID 'JOY_UP' not known
HardwareInput with ID 'JOY_DOWN' not known
HardwareInput with ID 'JOY_LEFT' not known
HardwareInput with ID 'JOY_RIGHT' not known
Opening hashed: titanic.dat
Opening hashed: ycursors.avi
Decoding tag LIST
Found LIST of type hdrl
Decoding tag avih
Decoding tag LIST
Found LIST of type strl
Decoding tag strh
Decoding tag strn
Decoding tag LIST
Found LIST of type strl
Decoding tag strh
Decoding tag strn
Decoding tag JUNK
Decoding tag LIST
Found LIST of type movi
Decoding tag idx1
Old Index: 30 entries
Old index is relative
Index 0: Tag '00db', Offset = 4096, Size = 12288 (Flags = 16)
Index 1: Tag '00db', Offset = 16392, Size = 12288 (Flags = 16)
Index 2: Tag '00db', Offset = 28688, Size = 12288 (Flags = 16)
Index 3: Tag '00db', Offset = 40984, Size = 12288 (Flags = 16)
Index 4: Tag '00db', Offset = 53280, Size = 12288 (Flags = 16)
Index 5: Tag '00db', Offset = 65576, Size = 12288 (Flags = 16)
Index 6: Tag '00db', Offset = 77872, Size = 12288 (Flags = 16)
Index 7: Tag '00db', Offset = 90168, Size = 12288 (Flags = 16)
Index 8: Tag '00db', Offset = 102464, Size = 12288 (Flags = 16)
Index 9: Tag '00db', Offset = 114760, Size = 12288 (Flags = 16)
Index 10: Tag '00db', Offset = 127056, Size = 12288 (Flags = 16)
Index 11: Tag '00db', Offset = 139352, Size = 12288 (Flags = 16)
Index 12: Tag '00db', Offset = 151648, Size = 12288 (Flags = 16)
Index 13: Tag '00db', Offset = 163944, Size = 12288 (Flags = 16)
Index 14: Tag '00db', Offset = 176240, Size = 12288 (Flags = 16)
Index 15: Tag '01db', Offset = 188536, Size = 528 (Flags = 16)
Index 16: Tag '01db', Offset = 189072, Size = 546 (Flags = 16)
Index 17: Tag '01db', Offset = 189626, Size = 540 (Flags = 16)
Index 18: Tag '01db', Offset = 190174, Size = 516 (Flags = 16)
Index 19: Tag '01db', Offset = 190698, Size = 500 (Flags = 16)
Index 20: Tag '01db', Offset = 191206, Size = 504 (Flags = 16)
Index 21: Tag '01db', Offset = 191718, Size = 516 (Flags = 16)
Index 22: Tag '01db', Offset = 192242, Size = 1226 (Flags = 16)
Index 23: Tag '01db', Offset = 193476, Size = 1320 (Flags = 16)
Index 24: Tag '01db', Offset = 194804, Size = 688 (Flags = 16)
Index 25: Tag '01db', Offset = 195500, Size = 680 (Flags = 16)
Index 26: Tag '01db', Offset = 196188, Size = 528 (Flags = 16)
Index 27: Tag '01db', Offset = 196724, Size = 620 (Flags = 16)
Index 28: Tag '01db', Offset = 197352, Size = 504 (Flags = 16)
Index 29: Tag '01db', Offset = 197864, Size = 1648 (Flags = 16)
assertion "src.format.bytesPerPixel == 4 && dest.format.bytesPerPixel == 2" failed: file "engines/titanic/support/avi_surface.cpp", line 327
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
It seems problem is not AmigaOS 4 -related. I admit I didn't try ScummVM on Linux but I created a smaller example and sent a question to SDL developers. Let's see if there is a response.
It seems problem is not AmigaOS 4 -related. I admit I didn't try ScummVM on Linux but I created a smaller example and sent a question to SDL developers. Let's see if there is a response.
This version was compiled with maximum optimizations (-O3), Link Time Optimization (-flto -flto=jobserver) and dead code elimination (-ffunction-sections -fdata-sections) and as a release build, so as fast as it will currently get.
I wonder, have you ever checked / profiled such settings? In my experience, ScummVM/m68k and gcc 13.2 didn't react very well to -ffunction-sections -fdata-sections (the resulting binary was *larger* and no, I did not forget -Wl,--gc-sections) and when reading about the effect of LTO, it also often results in more bloated code.
And then of course -O2 vs. -O3... that often leads to surprising (in a negative sense) results.
So for my ScummVM/m68k port, I stayed faithful to the classic -O2 -fomit-frame-pointer and a few classics (-ffast-math, -fno-exceptions, NDEBUG etc).
And then of course -O2 vs. -O3... that often leads to surprising (in a negative sense) results.
Why surprising? At least for me it was never was that GCC generates slower code with -O3 than with -O2. Of course it depends on the software and CPU, but in most cases I got the fastest results on m68k and PPC using -Os. Because of the small caches less, even if little bit slower, code results in more functions in the instruction and L2 caches and overall faster execution speed.
Nope, i didn't. I was about to let a profiler run, but didn't find any that doesn't break, came to a screeching halt or was screaming while going down in flames...so, no, no profiling done...but with all the configure settings in place right now, it does seem to run nicely.
Whenever there is a working profiler on AmigaOS4, i'll try to think about revisiting this and checking if there are any differences...and go with the optimal route.
LTO does seem to produce the same size binary (maybe even a litter bigger), same with -O3 speed-wise, but since it was added in a time i was able to annoy the gcc dev, i though, "why not"?
PS: Also, i'm learning while tinkering with the configure settings (i don't really know what i'm doing, anyway)