Opened 10 months ago
Closed 10 months ago
#14809 closed defect (fixed)
OSXPPC: No PPC ScummVM past 2.2.0 works on iMac G5
Reported by: | memphisbarbecue | Owned by: | lephilousophe |
---|---|---|---|
Priority: | normal | Component: | Port: Mac OS X |
Version: | Keywords: | PowerPC, iMac G5 | |
Cc: | memphisbarbecue | Game: |
Description
(To start, I just wanted to say, I really appreciate whoever is maintaining the Mac OS X PPC port - I understand it is probably a lot of work for a small user base)
That being said, I was building my iMac G5 into an educational games computer for my daughter and tried loading the current PowerPC build onto it. The current (2.8.0) build does not work but I tried working my way backward until I found that the 2.2.0 build does work. This isn't a huge deal though we had one game (The New Kid on the Block) which had a bug in 2.2.0 that we'd like to get working.
The symptoms are: installing the .dmg works, but when I try to launch ScummVM a window tries to pop up and crashes.
Attachments (7)
Change History (23)
comment:1 by , 10 months ago
comment:2 by , 10 months ago
Component: | GUI → Port: Mac OS X |
---|---|
Owner: | set to |
Resolution: | → assigned |
Status: | new → pending |
Summary: | No PPC ScummVM past 2.2.0 works on iMac G5 → OSXPPC: No PPC ScummVM past 2.2.0 works on iMac G5 |
comment:3 by , 10 months ago
I did verify that my display is set to "Millions" of colors rather than "Thousands." When I type "sw_vers" I get
ProductName: Mac OS X ProductVersion: 10.5.8 BuildVersion: 9L31a
I tried to get the "Details" output from the 2.8.0 crash window but there actually isn't a crash window. I tried running it from command line to see whether there was an error reported, and I get:
WARNING: Shader: createCompatShader(): Required version 110 is not supported (100 maximum)! Required GLSL version 110 is not supported (100 maximum)!
Just to make sure, I ran 2.2.0 and I do not get the same warning. Let me know if there's another way to diagnose what's happening.
comment:4 by , 10 months ago
It looks like this might be an issue with the OpenGL graphics mode.
Can you try to add gfx_mode=surfacesdl
to the [scummvm]
section of your ScummVM Preferences file to see if that allows starting ScummVM?
comment:5 by , 10 months ago
Adding gfx_mode=surfacesdl to the [scummvm] section fixes it so that ScummVM can start. Thanks! Is the answer to this just that Mac OS X on the G5 has aged out of OpenGL support?
comment:6 by , 10 months ago
Thanks for your test.
I don't have access to my PPC systems right now, but the OpenGL output does work on my iBook G4 and my PowerBook G4.
Do you have details about the graphics card in your G5? (It should be somewhere in the system information dialogs.)
I've been told about the OpenGL output having problems with Rage Mobility 128 cards in G3 iBooks, so reverting to surfacesdl on older OSX is maybe a safer default setting.
comment:7 by , 10 months ago
Also, attaching the output from
/Applications/ScummVM.app/Contents/MacOS/scummvm -d6
run from the command-line could help having a bit more context. When you're running the latest release in OpenGL mode, that is.
Thanks.
by , 10 months ago
Attachment: | scummvm-d6.log added |
---|
by , 10 months ago
Attachment: | imac-g5-graphics-card.png added |
---|
comment:8 by , 10 months ago
Attached, it's in the scummvm-d6.log file. (that's the output from redirecting stdout and stderr to a file)
Also, I screenshotted the graphics card in the system profile and it's attached as
imac-g5-graphics-card.png. It's an NVIDIA GeForce FX 5200.
by , 10 months ago
Attachment: | opengl-ppc-imac-g5-vs-powerbook-g4.diff added |
---|
Comparison between -d6 output on the previous iMac G5 setup (KO) and my PowerBook G4 (OK)
comment:9 by , 10 months ago
Thanks for providing this output.
I can confirm that the OpenGL renderer works on my PoweBook G4, but it has an ATI Radeon 9600 XT, which reports different OpenGL settings (see the diff output above).
@memphisbarbecue: After explicitly setting gfx_mode=opengl
in the configuration file, do the 2.2.0, 2.6.0 and 2.7.0 releases also trigger this crash? (There were no 2.3.0 or 2.4.0 releases, and 2.5.0 has not been published for OSXPPC). So that we can see when the problem may have been introduced. Thanks.
comment:10 by , 10 months ago
Update: I've made some "new" builds of the older 2.5.x release for easier regression testing:
<https://downloads.scummvm.org/frs/scummvm/2.5.0/scummvm-2.5.0-macosx-ppc.dmg>
<https://downloads.scummvm.org/frs/scummvm/2.5.1/scummvm-2.5.1-macosx-ppc.dmg>
Also, some Discord chat about this OpenGL matter:
From lephilousophe:
openGL driver is too old
we should fallback on surfacesdl in this case
I am not sure we even support OpenGL 1.5?
at least not with shaders
oh, I see: filebackends/graphics/opengl/opengl-graphics.cpp
, line 1349, we don't check the version
but it's difficult to check because it depends on the type of the GL context (GL vs GLES)
I wonder why we request version 110
From ccawley2011:
The commit history suggests that the #version pragma was added to resolve issues with AmigaOS 4, and it requsted version 1.20 until it was lowered following a crash report.
https://github.com/scummvm/scummvm/commit/d524d36a6a2370decf2fcf8f4a48e8db99eec338
https://github.com/scummvm/scummvm/commit/35e12e2491d199a1ea8f54979fbbf7c065e059f6
We also used to have a specific workaround for aliasing between GL 2.0 and ARB shader extensions which might not have been preserved when we moved to GLAD.
https://github.com/scummvm/scummvm/blob/branch-2-2/backends/graphics/opengl/opengl-defs.h#L85
by , 10 months ago
Attachment: | opengl-ppc-imac-g5-vs-ibook-g4.diff added |
---|
ScummVM -d6 output difference between the iMac G5 (with its NVIDIA GeForce FX 5200) and my iBook G4 (with its ATI Radeon 9200)
by , 10 months ago
Attachment: | scummvm-d6-2.6.0.log added |
---|
by , 10 months ago
Attachment: | scummvm-d6-2.7.0.log added |
---|
by , 10 months ago
Attachment: | crash_report_scummvm_2.6.0.txt added |
---|
comment:11 by , 10 months ago
I set gfx_mode=opengl
in 2.2.0, and it worked. (I verified in the GUI menu that OpenGL was set on load as well in this release.)
Then, I set gfx_mode=opengl
and gfx_mode=surfacesdl
in 2.6.0 and 2.7.0. In both cases, the OpenGL mode crashes and the surfacesdl mode works. However, I got a different error in 2.6.0 with a crash report (crash_report_scummvm_2.6.0.txt) I've attached - it fails with "bus error". I'm downloading the 2.5.0 and 2.5.1 releases to test them on my machine.
comment:12 by , 10 months ago
@dwatteau - Versions 2.5.0 and 2.5.1 you've provided above load on my iMac G5 with gfx_mode=opengl
with no issues.
comment:13 by , 10 months ago
@memphisbarbecue: Thanks for your tests! So the regression was introduced somewhere between 2.5.0 and 2.6.0.
There's a pull request that might fix this:
https://github.com/scummvm/scummvm/pull/5631
I'll see if I can find the time to provide you a build with this change, but my availabilities are a bit random at the moment...
comment:14 by , 10 months ago
@memphisbarbecue: Here's a 2.8.1pre test build with some new OpenGL changes from lephilousophe:
could you try it and tell us whether this improves things? Thank you!
comment:15 by , 10 months ago
@dwatteau: I just tested ScummVM 2.8.1pre (Jan 20 2024 21:56:51) and it runs fine in OpenGL mode. Thanks for preparing the build!
comment:16 by , 10 months ago
Owner: | changed from | to
---|---|
Resolution: | assigned → fixed |
Status: | pending → closed |
Thank you for testing it and reporting the issue! Every test on OSX PPC is very welcome :)
Closing this issue, since the fix was merged for the next 2.8.1 and 2.9.0 releases.
OSX PPC maintainer here, thanks for your essential feedback! Unfortunately I don't have any G5 device anymore to test the build. I don't really see any reason why it wouldn't work, though...
What is your OS X release, when you look at "About this Mac"? (or sw_vers in a Terminal).
Also, in your System Preferences, is your screen set to "thousands of colors", instead of "millions of colors"? This is known to cause problems.
Last thing, when the 2.8.0 executable crashes, could you try getting the "Details" output from the OS X crash window, and attach it to this bug report? The stack trace won't be very detailed I think, but at least it'll give a direction to look at.
Thanks!