-
-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drawn area shrunk to 1/4 on macOS Catalina 10.15 #920
Comments
Are you using DPI scaling or something? I remember seeing somewhere they changed how that behaves in Catalina. Unfortunately, I can't test this myself as my Mac doesn't support anything later than High Sierra (10.13). |
Addendum: I should note that once the requirement to use a Developer ID (US$99/yr) to sign and notarize apps becomes mandatory, Red Eclipse will likely no longer run on macOS 10.15 or later at all. Apple have also deprecated OpenGL and will likely be removing support for it in later updates. As a result of these decisions by Apple, we will likely drop support for macOS entirely. |
Thanks for the responses @qreeves. I haven't intentionally made any DPI scaling changes. My desktop under Catalina looks the same as Mojave, as far as I can tell. It's a 4k Samsung monitor, in case that's relevant. My Catalina machine is at the office so I can't drill into its settings just now. But I can this weekend or Monday. On the notarization requirements, I agree that Apple is not making it easy for open source developers. But at least for the time being, users can still run any unsigned or non-notarized app by right clicking and explicitly opening it, or by clearing the quarantine xattr. Savvy users can build their own copies of the game and just run it, as well. On the deprecation of OpenGL, Apple deprecated 32 bits 10 years ago. It's only just this year that Catalina will only run 64 bit apps. I don't have a magic 8 ball that will tell you how long we have before OpenGL is removed. But given the massive pushback that that announcement has received, I would expect that it won't happen for at least 5 years (if ever). So if the redeclipse team is willing, Apple could be a viable platform for many years. Who knows, maybe Apple will add a free Open Source developer ID to qualifying projects. And maybe they'll have a change of heart moving from OpenGL to Metal. Unlikely, I agree, but you never can tell what might happen... In any case, I want to keep playing. I've poked around at the sources in the debugger, but haven't yet figured out why the drawn area has shrunk. I'm unfamiliar with this code, but perhaps I can step through the debugger on Mojave and Catalina to see if I can spot a difference. I'm hoping this issue is straightforward, and not buried in the SDL2 libraries... |
I appreciate your input. I bought a Mac Mini in 2010 to fix the issues with Apple deprecating stuff back then and continue producing official builds. I can't afford to buy another one just to get past macOS 10.13, and I don't think open source developers should be forced to pay for subscriptions in order to produce applications. Unfortunately, I'm not comfortable with a third party producing official builds either. It is good to know that there is a way around the issue (for now), but I'm not sure if this helps with our eventual launch on Steam, as you don't exactly get the option to right click the app to open it there. This whole debacle was brought to my attention by Valve as they will be plastering warnings on any store fronts with macOS builds that don't support notarization to avoid users buying games they can't launch on their platform. With regard to your issue, I've done a cursory Google search but haven't found anything of interest. I have a feeling it has to do with some sort of compositing or display scaling. When you get a chance, can you please try |
Those are all good points. I hadn't thought about the Steam angle. What a mess... I've got some contacts at Apple. I can bring up these issues and see if it goes anywhere. On the problem itself, I did try it with fullscreen off (and on) and it didn't matter. I tried stepping through setupscreen yesterday, but didn't really know what I was looking at. As mentioned earlier, think I'll try again but take notes of the values on Mojave and Catalina to see if I can spot any differences. |
It really does sound like the issues I had on Windows 7+ with DPI scaling, which required us to add a manifest stating the application was "DPI aware" (it isn't, this setting just stops the OS from doing DPI scaling and lets the app handle it itself). You could try throwing Documentation for SDL_CreateWindow may shed some light on this:
And I also found these:
If there's anything I can do to help, let me know. I might be able to replicate this on my mini by using custom scaling. |
Thanks for the suggestions. I tried adding the SDL_WINDOW_ALLOW_HIGHDPI flag to the SDL_CreateWindow call and the NSHighResolutionCapable to the info plist. Unfortunately I still see the same problem. I also tried a clean rebuild in case the OS was caching something about the app's capabilities. I'll follow those links to see if there are further hints. |
I ended up working around this by forcing NSHighResolutionCapable to false in the plist. Apparently Catalina defaults NSHighResolutionCapable to true now. Here's the post from the ioquake3 repo that gave me the hint to try this: It also discusses longer term solutions that would probably be applicable to redeclipse. |
Ah, perfect. Figures Ryan would know what to do. Really appreciate the work you put in here. |
OK, so I've pushed some changes to the development version that I hope fixes the issue, but as you're aware I can't really test it. If you can't create your own app bundle from our repository, I'll update you when I create the release candidate bundles so we can test it prior to the full release. |
Thanks! I should be able to build with your changes this week when I'm back at the office. I'll let you know how it turns out. |
My forked copy of redeclipse (based on 1.6.0) is really old and heavily modified. I tried merging in your changes but wasn't successful. I tried a fresh build from the GitHub sources (verifying that your latest changes are there). But it won't run because it's missing certain dylibs, like libsteam_api.dylib (which I cut out of my fork because steam support is not needed). Would it make sense for you to post your built redeclipse package (like via dropbox or something)? Once I have a working package, it should be straightforward to for me to drop in any new app binary built from the git sources. Please let me know if you have another suggestion. Sorry that I'm a bit of a noob with this project. |
If you have Steam, I can give you a key for our pre-release access there. Just shoot me an email or jump on our Discord and ask me there. Failing that, I might be able to prepare a proper build. Unfortunately, you can't just drop a binary from the development version into the stable version as v2.0 is a complete overhaul of the game. |
I uploaded a bundle: |
Sorry for the delay. Stuff going on at work... I managed to try your bundle. Unfortunately there seems to be an issue with the redeclipse script. It ends up thinking that REDECLIPSE_HOME should be "home", then gets an error because it doesn't exist. I worked around it by cd'ing the the app's Resources folder and ran the redeclipse_universal binary directly from there. Unfortunately it still only displays a quarter of the screen in a larger window. I also tried my debug version built a couple of days ago (including your latest high res changes) and it fails in the same way. Note that I also hid my /Library/Application Support/Red Eclipse folder and let it regenerate the default configs on the outside chance that that was related. But that didn't help. Is there anything else that you'd like me to try? |
Yeah, as far as I know, if you do it that way then it won't evaluate In that resources folder, rename |
I tried that (or something very much like it) first, but then the app can't find its own resource folder. That's why I cd'd to the Resource sub directory first. Is there a plan to move away from the scripted startup? In my fork of 1.6.0 I moved back to the approach where the main executable is the Mach-O app, and the build itself installs the resources rather than have them downloaded by the script. Self modifying apps are kind of odd, especially on the Mac where there's been an increasing focus on digital signing (for good or ill). |
I added support for finding the resource directory to the binary, so try this: https://github.com/redeclipse/deploy/raw/master/master/macos.tar.gz |
Thanks! I copied both new files to where I thought they should go: Contents/Resources/redeclipse.sh But when I launch from the Finder it still pops up the Terminal with an error about the "home" directory:
Sorry if I'm missing something obvious here... |
Haha, sorry, I should've specified that you're gonna want to do the switch around with |
Doh! Now I get it. I mistakenly reverted those changes to get back to the original state. So after copying in your new Just to be clear, this is precisely what I did:
At this stage, effectively the fundamental change is to call your new Mach-O binary instead of the script, right? |
Yeah, we're trying to get the It looks like I did the code modification incorrectly, and I'm hoping I can get this working without having to actually dig up my mac mini to hook it up to a monitor and plug in a keyboard/mouse. If this next attempt doesn't work though, I'll have to resort to that though, as this isn't fair on you. Try to grab the file again and do the same process, then run the |
Don't worry about me. Happy to help. It got a little further. Now the dialog displays this message:
I've verified that that file does exist in Resources/config/version.cfg. Note that I've got family stuff going on so I might not be able to do too much more tonight. |
I need to sleep anyway, I'll pull out the mini when I wake up, get this sorted, and get back to you. Thanks for your help 😄 |
macOS is no longer supported, unfortunately will have to close this |
Same build runs fine on Mojave on the same machine and monitor. Happens both with full screen and non-full screen. Changing the screen size in the config doesn't help.
The text was updated successfully, but these errors were encountered: