Fullscreen mode just has sound + Black screen on OS 10.68

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Threepwood42
Posts: 2
Joined: Fri Mar 30, 2012 7:56 pm

Fullscreen mode just has sound + Black screen on OS 10.68

Post by Threepwood42 »

Hello all! SO me and a friend of mine were going to play Grim Fandango, and on my windows 7 system it runs fine in both full screen and in windowed mode.

BUT on his Macbook Pro, OS 10.68(Snow Leopard) it works fine in windowed mode but any attempt to go into full screen(button combo, using the .ini file, or the checkbox in the menu)only makes the screen go full screen but completely black, you can hear the music and sounds but its completely black.

Any ideas on what the problem is/how to fix it or if its a problem that's being worked on for future version of Residual? Grim Fandango is the sort of game that's meant to be played fullscreen...

also, this is the current build of residual that we downloaded from the downloads page yesterday.
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

Would that be the daily, or 0.1pre?
User avatar
Olliebrown
Posts: 9
Joined: Sat Mar 31, 2012 10:19 pm

Ditto

Post by Olliebrown »

I'm getting the same performance. I get it with the prerelease 0.1 from the download section and with the current 0.2 nightly build (from 5:39a on March 21st).

Results are the same with both hardware and software renderer. Alt+enter switching between windowed and fullscreen does respond but the screen is always blank in fullscreen mode, always fine in window.

I'm on a MacBook Air with NVIDIA GF 320M and 10.6.8 like OP.
--------------------------------
EDIT: Just checked out the source trunk and compiled from source. I seem to only have the bare minimum of dependencies for compiling but it does and fullscreen WORKS.

I dropped in the results of the configure so you can see library/compiler versions and what is missing (lots of different codec libraries and such). With this version I get a very different Residual GUI (all lime-green and black) but the game seems to play just fine and graphics work great in fullscreen.

Ollie

Code: Select all

Running ResidualVM configure...
Looking for C++ compiler... g++
Checking for compiler version... 4.2.1, ok
Checking for whether -Wglobal-constructors work... yes
Checking endianness... little
Checking 64-bitness... yes
Type with 1 byte... char
Type with 2 bytes... short
Type with 4 bytes... int
Type with 8 bytes... long
Alignment required... no
Checking host CPU architecture... x86_64
Checking hosttype... darwin10.8.0
You seem to be running MacPorts version 2.0.4...adding /opt/local to paths
Looking for sdl-config... /opt/local/bin/sdl-config
Checking if host is POSIX compliant... yes
Checking whether to have a verbose build... no
Checking whether building plugins was requested... no
Checking for Ogg Vorbis... no
Checking for Tremor... no
Checking for FLAC >= 1.0.1... no
Checking for MAD... no
Checking for ALSA >= 0.9... no
Checking for PNG >= 1.2.8... no
Checking for libtheoradec >= 1.0... skipping. no vorbis
Checking for libfaad... no
Checking for SEQ MIDI... no
Checking for TiMidity... no
Checking for zlib... yes
Checking for Sparkle... no
Checking for libmpeg2 >= 0.3.2... no
Checking for libfluidsynth... no
Checking for readline... skipping (text console disabled)
Checking for libunity... no
Looking for freetype-config... /opt/local/bin/freetype-config
Checking for FreeType2... yes
Checking for OpenGL... yes
Building translation support... no
Building taskbar integration support... yes
Building Bink video support... yes
Building updates support... no
...disabling support for video cutscenes in PS2 version of Escape from Monkey Island. mpeg2dec is required
Backend... sdl (1.2.15), savegame timestamp

Engines (builtin):
    Grim [all games]
    Myst 3


Creating config.h
Creating config.mk
guru
Posts: 8
Joined: Sun Apr 01, 2012 10:16 am

Post by guru »

I can confirm this problem on both my hackintosh (10.6.8 with nvidia 8800gt) and macbook.

Neither using fullscreen through ini nor through ALT+ENTER work.
User avatar
Olliebrown
Posts: 9
Joined: Sat Mar 31, 2012 10:19 pm

Differences

Post by Olliebrown »

I've been trying to pinpoint what's different between the binary available for download and the one I built myself (besides the missing libraries which I've concluded don't affect Grim Fandango, correct me if I'm wrong there).

Some things I've tried:
- I was able to get the GUIs to match (found the modern theme and tried it and it worked fine)
- I ran both binaries from the terminal and compared the output, it included some errors/warnings but nothing serious and it was identical between the two
- Library dependencies are different (some things that are dynamically linked on mine are static in the redistributable binary). Here's a comparison of the output of 'otool -L'

Ollie

Binary from website: (only system libs, rest must be static)

Code: Select all

/Applications/ResidualVM.app/Contents/MacOS/residualvm:
	/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 17.0.0)
	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 41.0.0)
	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 153.0.0)
	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 53.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.19.0)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 833.24.0)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1138.32.0)
My Build: (missing IOKit system lib, has extras from MACPorts)

Code: Select all

residualvm:
	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
	/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0)
	/opt/local/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.4.0)
	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
	/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.6)
	/opt/local/lib/libfreetype.6.dylib (compatibility version 15.0.0, current version 15.0.0)
	/opt/local/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.6)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.44.0)
	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 751.63.0)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.36.0)
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

Did you build with --enable-release?
guru
Posts: 8
Joined: Sun Apr 01, 2012 10:16 am

Post by guru »

I opened a ticket on the bug tracker: https://github.com/residualvm/residualvm/issues/589
Threepwood42
Posts: 2
Joined: Fri Mar 30, 2012 7:56 pm

Re: Ditto

Post by Threepwood42 »

First off, sorry for not replying to this post after creating it...I got busy doing school stuffs and completely forgot about starting this thread...secondly I haven't tried anything personally to fix it and had nothing to add to the conversation.
Olliebrown wrote: EDIT: Just checked out the source trunk and compiled from source. I seem to only have the bare minimum of dependencies for compiling but it does and fullscreen WORKS.
Could you point me towards something that would tell me how to compile from source like you did to get it to work?(if it isn't too difficult.)
guru
Posts: 8
Joined: Sun Apr 01, 2012 10:16 am

Post by guru »

I'm wondering if maybe the build server's osx dependency libs are old/wrong?
User avatar
Olliebrown
Posts: 9
Joined: Sat Mar 31, 2012 10:19 pm

Building on OSX

Post by Olliebrown »

Sorry for being MIA for a bit there, I got super busy (and super sick).

I had not compiled with --enable-release. I reconfigured with that and did a clean make. Fullscreen still worked fine so it doesn't seem to be a difference between debug and release versions.

Here's a very quick guide to compiling residualvm on OSX Snow Lepoard (without using xcode). It was pretty easy for me as I already had all this stuff installed; I use it for other things all the time:
  • Install XCode 3.2.6 (for the GNU compiler) [this might work with xcode 4 but I haven't moved there yet]
    • Go to developer.apple.com and sign up for a free account if you don't already have one
    • Log in and go to downloads, search for XCode
    • Find the xcode for snow leopard 3.2.6 and download (4+ GB so be prepared)
    • Install and be sure to select the unix command line option
  • Install git
  • Install macports
    • http://www.macports.org/
    • Start the terminal 'Applications -> utilities -> terminal'
    • run 'sudo port selfupdate' to update macports to latest
  • Install dependencies
    • You need zlib, bzip2 and SDL
    • from terminal, run 'sudo port install libsdl zlib bzip2'
    • That may not be everything as I already had a lot of things installed
  • Grab latest residual code
  • Configure and build residual
    • in terminal, go to the source code directory 'cd <source root>'
    • run './configure' to build debug, './configure --enable-release' to build release
    • run './make'
    • copy the file <source root>/dists/engine-data/residualvm-grim-patch.lab to the directory with your grim data files
To run residualvm just type ./residualvm while in <source root>. It will not be packed in a nice app bundle like the redistributable and the menu system will look very different but it works, for me anyways.
      User avatar
      somaen
      ScummVM Developer
      Posts: 376
      Joined: Thu Apr 21, 2011 7:31 pm
      Location: Trondheim, NO

      Post by somaen »

      A few notes, git isn't strictly necessary, github.com has a download-button that downloads the latest source as a .zip if that is preferable.

      Making the bundle should be a matter of running "make bundle" after make.

      Also, note that by default, the code you get by doing git clone is NOT the 0.1.0-pre version, but the "master"-code, that is the newest devel-branch with whatever changes have happened recently, it might be less stable at times, and is not the version we are testing for as release (but we do of course accept bug-reports for both, just make sure to mark that you are on the master-branch).

      To get the 0.1.0-pre branch, run the following in the source folder after git clone:
      git checkout origin/branch-0-1-0
      User avatar
      Olliebrown
      Posts: 9
      Joined: Sat Mar 31, 2012 10:19 pm

      Post by Olliebrown »

      Hmmm, interesting! Thanks for the make bundle tip!

      When I do that it suddenly builds residualvm-static which clears up a lot of things I was wondering about (SDL and freetype are now compiled in). However, I then get dependencies on a bunch of X11 libs. It looks like the SDL I use (the standard one from macports) builds against macport's X11 and even with residualvm-static it still depends on those libs.

      The one that comes pre-packaged from your web site does not. Here's a comparison:

      My version

      Code: Select all

      residualvm-static:
      	/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0)
      	/opt/local/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)
      	/opt/local/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
      	/opt/local/lib/libXrandr.2.dylib (compatibility version 5.0.0, current version 5.0.0)
      	/opt/local/lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0)
      	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
      	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0)
      	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
      	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
      	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
      	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
      	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
      	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
      	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
      	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
      	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
      	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.44.0)
      	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 751.63.0)
      	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.36.0)
      
      0.1.0pre from web

      Code: Select all

      /Applications/ResidualVM.app/Contents/MacOS/residualvm:
      	/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 49.0.0)
      	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
      	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 17.0.0)
      	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 41.0.0)
      	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 153.0.0)
      	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1.0.0)
      	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
      	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
      	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
      	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
      	/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
      	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 53.0.0)
      	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.19.0)
      	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 833.24.0)
      	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1138.32.0)
      
      Perhaps the SDL from macports is different from the one you guys use and that would maybe point to the culprit. Just thinking outloud.

      Ollie
      guru
      Posts: 8
      Joined: Sun Apr 01, 2012 10:16 am

      Post by guru »

      This should now be fixed in the latest unstable builds, can you please try if the problem is gone?
      User avatar
      Olliebrown
      Posts: 9
      Joined: Sat Mar 31, 2012 10:19 pm

      Post by Olliebrown »

      Just tried the April 11th daily build and it crashes for a different reason.

      Code: Select all

      engines/grim/localize.cpp:63: failed assertion `nextline'
      I ran into this problem building the latest dev branch myself and worked around it by changing the 'assert(nextline);' to 'if(!nextline) break;'. No idea if that's a good idea or not. At the moment, I cannot confirm if the problem is fixed as the daily build is too unstable to get into an actual game session.

      Ollie
      klusark
      Posts: 23
      Joined: Tue Mar 27, 2012 11:12 pm

      Post by klusark »

      Olliebrown wrote:Just tried the April 11th daily build and it crashes for a different reason.

      Code: Select all

      engines/grim/localize.cpp:63: failed assertion `nextline'
      I ran into this problem building the latest dev branch myself and worked around it by changing the 'assert(nextline);' to 'if(!nextline) break;'. No idea if that's a good idea or not. At the moment, I cannot confirm if the problem is fixed as the daily build is too unstable to get into an actual game session.

      Ollie
      I'm wondering what language you are using. I added that assert because I wanted to see if anyone out there had a version that was not properly compatible and it seems you may have one.
      Post Reply