macOS 1.0.0-dev test build

17 replies [Last post]
raptor
User offline. Last seen 2 years 50 weeks ago. Offline
Joined: 2010-04-02
Posts: 6

Hi,

I have put together a test build for 1.0.0-dev, temporarily found here:

(link removed)

This is built with a macOS VM, so if anyone with real Apple hardware could test, that would be great!

Specific things to test would be video recording, screenshots, and if a game even launches Smile

Notes:
- MacOS X 10.8+

Edit: Remove bad first build
Edit 2: Update build
Edit 3: Update build again, includes hedgewars-server
Edit 4: Update build, fixes desync
Edit 5: Link removed as 1.0.0-Beta2 was released with all changes.

Zorg
User offline. Last seen 5 years 18 weeks ago. Offline
Joined: 2011-03-26
Posts: 8

Frontend launches, but hwengine doesn't appear to be configured properly and fails to run:

Quote:

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2
Referenced from: /Applications/Hedgewars.app/Contents/MacOS/hwengine
Reason: image not found

I can get around that by setting the rpath but get some other failure down the road.

As far as building, installing frameworks in /Library/ is not a good practice that Hedgewars recommends, for reasons like this. Developers either bundle the dependencies (like Hedgewars might do for windows), or use a package manager (which is not homebrew).

Wuzzy
Wuzzy's picture
User offline. Last seen 29 weeks 3 days ago. Offline
Joined: 2012-06-20
Posts: 1304

Thanks for your help! It's a relief to see macOS being revived again. Smile

I can't test this myself, so I need to rely on user reports.

And obviously, this needs to run.

But I also like to see a few other simple tests of the main features to uncover some major bugs, once this actually runs. Like whether online games actually work, if there are any weird graphical glitches that ruin the game, etc.

Seems like you forgot to include SDL2 in your release. Or is it possible you can just ask the user to install SDL2 themselves via Homebrew or whatever? Sorry, I'm really a complete macOS n00b and I'm very ignorant on macOS in general. Anyway, here's our list of dependencies: https://hedgewars.org/kb/Dependencies

If you manage to create a working build, please post the steps you did so others can reliably reproduce the build. Don't bother about grammar or formatting, I just care about the content. I will then update the macOS building guide here: https://hedgewars.org/kb/BuildingOnMac

Hi, I am a Hedgewars developer. Smile

Zorg
User offline. Last seen 5 years 18 weeks ago. Offline
Joined: 2011-03-26
Posts: 8

The error I get by the way after fixing rpath is:
https://imgur.com/xYg4Uiz
..whatever that means..

Quote:
Seems like you forgot to include SDL2 in your release. Or is it possible you can just ask the user to install SDL2 themselves via Homebrew or whatever? Sorry, I'm really a complete macOS n00b and I'm very ignorant on macOS in general.

raptor didn't forget and no, that's not how macOS apps work.

Wuzzy
Wuzzy's picture
User offline. Last seen 29 weeks 3 days ago. Offline
Joined: 2012-06-20
Posts: 1304

Error 53 means that the engine failed to start up correctly because initialization of OpenGL, graphics, sound, or something else has failed. Usually this happens when a dependency is missing, but not with 100% guarantee. Are you sure you have all dependencies installed properly?

If you can't solve this, I need the game0.log file so I can see where it failed.

First, start Hedgewars again to trigger this error, then close Hedgewars and send the last 100 lines in this file.

You will find game0.log in your user directory under the Logs directory.

Hi, I am a Hedgewars developer. Smile

raptor
User offline. Last seen 2 years 50 weeks ago. Offline
Joined: 2010-04-02
Posts: 6

Quote:
I can get around that by setting the rpath but get some other failure down the road.

I'm surprised this happened. Everything SDL and physfs uses rpath, and I've had success with other projects in using it. I bet there's something wrong with the CMake build system again...

The OpenGL error is the following:

Quote:
0: Setting up OpenGL (using driver: cocoa)
0: [Con] SDLGLcontext: Failed creating OpenGL pixel format
0: [Cmd] fatal SDLGLcontext: Failed creating OpenGL pixel format

It may be something simple in the code base.

raptor
User offline. Last seen 2 years 50 weeks ago. Offline
Joined: 2010-04-02
Posts: 6

Turns out disabling the line in uStore.pas:

SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); // prefer hw rendering

gets it past the OpenGL error and on to the next one.

Thanks for testing so far! I'm going to take down this build for now as I work through some other bugs.

nemo
nemo's picture
User offline. Last seen 23 weeks 4 days ago. Offline
Joined: 2009-01-28
Posts: 1861

That's a disturbing thing to be failing.
Guess we'll see what your FPS is..

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

Zorg
User offline. Last seen 5 years 18 weeks ago. Offline
Joined: 2011-03-26
Posts: 8

This is my game0.log, it may be different than raptor's
https://gist.github.com/zorgiepoo/795eca387e737f3919ac11689f87c3e6

Actually, I just assume I got further along to some misc/keys.csv file missing. Raptor is running under a VM and failed earlier during GL context creation.

nemo
nemo's picture
User offline. Last seen 23 weeks 4 days ago. Offline
Joined: 2009-01-28
Posts: 1861

Yeah, that could definitely cause problems, although most VMs have some form of hardware GL emulation.

"22:18 < raptor> also that line is used to force HW rendering, which is not really needed"

We had the issue that on Windows, SDL would sometimes select the software rendering of the various devices offered by Windows - I think due to it simply having more features listed (software emulated). So years ago we added that flag to ensure Windows users weren't playing at 15fps. I have no idea if there would be any similar issues on OSX, but if you're wanting to remove it, maybe at least wrap it with OSX build flag.

Hardware acceleration has always been an adventure, like, a while back some minor GL feature like... clamping or something, was causing a massive drop in FPS on OSX, 'cause the graphics card didn't actually have the feature, but when requested was software emulating.

Some of these past pitfalls are the reason for some of the "reduce quality" flagging.

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

raptor
User offline. Last seen 2 years 50 weeks ago. Offline
Joined: 2010-04-02
Posts: 6

I have created a new DMG that is all fixed up! Please test:

(link removed)

This one has video recording in it. I've updated the first post

raptor
User offline. Last seen 2 years 50 weeks ago. Offline
Joined: 2010-04-02
Posts: 6

New build now includes the hedgewars-server. Seems to work:

(link removed)

Wuzzy
Wuzzy's picture
User offline. Last seen 29 weeks 3 days ago. Offline
Joined: 2012-06-20
Posts: 1304

That's really great! I'm still waiting for player feedback.

Is there anyone here who can help to test this build? Just to make sure everything works properly.

Hi, I am a Hedgewars developer. Smile

Zorg
User offline. Last seen 5 years 18 weeks ago. Offline
Joined: 2011-03-26
Posts: 8

recording and hosting a room seems to work fine for me.

Wuzzy
Wuzzy's picture
User offline. Last seen 29 weeks 3 days ago. Offline
Joined: 2012-06-20
Posts: 1304

Great to hear! Did you also test other features? Noticed anything weird? Or does everything work normally?

@raptor: This is not really related to your build, but what can you say about this bug report?:

https://issues.hedgewars.org/show_bug.cgi?id=717

Hi, I am a Hedgewars developer. Smile

Zorg
User offline. Last seen 5 years 18 weeks ago. Offline
Joined: 2011-03-26
Posts: 8

I don't really play this game but from what I saw I didn't see anything odd.

If I were to guess raptor was using Xcode 8 (or 9) since the 10.12 sdk was used. Good luck debugging that issue without an elaborate error message / crash log, but likely related to development environment and passing in something to compiler.

raptor
User offline. Last seen 2 years 50 weeks ago. Offline
Joined: 2010-04-02
Posts: 6

Updated build again with a fix to a desync issue on macOS. Built from r9fca575e3c88.

Wuzzy
Wuzzy's picture
User offline. Last seen 29 weeks 3 days ago. Offline
Joined: 2012-06-20
Posts: 1304

I asked this previously, but it's relevant again since there's now a working build:

Raptor, would you be willing to share with us a list of steps you followed in order to create this build?

Our current macOS building instructions (https://hedgewars.org/kb/BuildingOnMac) are very, very outdated. And I want to take your information to incorporate it into there.

I would like to have reproducible instructions so in the future, other people can create a macOS build.

Hi, I am a Hedgewars developer. Smile

User login

Copyright © 2004-2024 Hedgewars Project. All rights reserved. [ contact ]