-
Notifications
You must be signed in to change notification settings - Fork 905
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
Working on Mac OS X Compatibility #473
base: master
Are you sure you want to change the base?
Conversation
Tell clang to compile against the C++11 standard
Replaced #errors in __APPLE__ ifdefs to simply no-op. A proper implementation will need some work to interface with CoreAudio on the Mac which will require some c++ to Obj-C bridging which I don’t know how to do yet.
More clang combat. Added set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override") Should make it easier to spot actual clang errors.
Everything appears to work anyway!
the mBackgroundOverlay setImage call was causing a later call to an OpenGL method before SDL had been asked to init OpenGL on Mac OS X
Ok -- just tested it out with a Genesis emulator -- it seems to run fine. Tested scraping etc. and that's working. Only tried keyboard so far, but will shortly test with an Xbox 360 controller. EmulationStation itself has a bits of layout weirdness -- but as I've never seen it before (and the README says it isn't pretty without themes) that might not be a platform bug. One thing to note is that some OS X emulators don't take command-line arguments for ROMs. In that case, I set the option to something like the following:
That tells OS X to launch %ROM% with the application (-a switch) and wait for the app to exit before returning (-W switch) |
Ok - the visual weirdness was because I'd got the Genesis theme name wrong -- it's 'megadrive'. Even though I'm in the UK (where it was called the Mega Drive), I've been using emulators so long I just presumed it'd be genesis. ES running and looking great so far on OS X! |
e.g. static std::vector<std::shared_ptr<Sound> > sSoundVector;
Generally a good idea to ignore dot files, but especially important on OS X which spews ._SomeFile files on filesystems which do not natively support HFS+ metadata streams
Oops. Left some cruft behind in dotfile exclusion.
Wow did not noticed this pull before, looks like we done twice osx porting effort...xD |
is there a build for testing or is this something that will be in the next release? |
I got this to build too. We should come up with some build instructions for Mac, as it wasn't intuitive for me. Hey @Aloshi - What's the appetite for merging this PR or others? I think Mac support would be a great feature, and we can collectively come up with some tests to make this maintainable. What would you need to merge one of these Mac ports? |
Any news, guys? |
|
FYI, I have been working on an EmulationStation fork for quite some time now that has complete macOS support. If you're interested you can check it out at https://es-de.org The source code repository is hosted on GitLab, you can find the link at the web site mentioned above. |
Thanks i saw it a few weeks ago, nice work. In the meanwhile, i've been working on my own app coded in swish, it has all EmulationStation basic features, plus bezel and shader management, and today i achieved on launching games on Netplay as host and joining other lobby rooms plays.
You can check it on: https://github.com/pablormago/RetroMac
If i can help you, count on me
Cheers
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Leon Styhre ***@***.***>
Sent: Wednesday, February 23, 2022 10:18:53 PM
To: Aloshi/EmulationStation ***@***.***>
Cc: Pablo Jiménez ***@***.***>; Comment ***@***.***>
Subject: Re: [Aloshi/EmulationStation] Working on Mac OS X Compatibility (#473)
FYI, I have been working on an EmulationStation fork for quite some time now that has complete macOS support. If you're interested you can check it out at https://es-de.org
The source code repository is hosted on GitLab, you can find the link at the web site mentioned above.
—
Reply to this email directly, view it on GitHub<#473 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ACLWJIXOSY6SYKEKPDNXRG3U4VFL3ANCNFSM4BK4A6OA>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID: ***@***.***>
|
@pablormago Very nice, at some points during my work with ES-DE I've been thinking that it would have been easier to start from scratch instead of working on an existing codebase. But when I started the project I didn't have the skills do to such a thing and there are also many nice things about the original EmulationStation code of course. If you would be interested in joining the project and work on ES-DE you are very welcome! |
I would like to, but im not good at C++!! :)
But if you want to know how to add bezels, shaders or implementing Netplay, just let me know and i would be happy to help you in any way
Cheers
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Leon Styhre ***@***.***>
Sent: Saturday, February 26, 2022 10:13:44 AM
To: Aloshi/EmulationStation ***@***.***>
Cc: Pablo Jiménez ***@***.***>; Mention ***@***.***>
Subject: Re: [Aloshi/EmulationStation] Working on Mac OS X Compatibility (#473)
@pablormago<https://github.com/pablormago> Very nice, at some points during my work with ES-DE I've been thinking that it would have been easier to start from scratch instead of working on an existing codebase. But when I started the project I didn't have the skills do to such a thing and there are also many nice things about the original EmulationStation code of course.
If you would be interested in joining the project and work on ES-DE you are very welcome!
—
Reply to this email directly, view it on GitHub<#473 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ACLWJIXPMCDKUWVLGEWFTWLU5CKURANCNFSM4BK4A6OA>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Well C++ is quite a different thing so I can imagine it's a big threshold to get over :) Do you have any screenshots available for how the bezels look like as I'm not sure exactly what this adds? |
Yes, im out of home now, when i will send you a few when i come back.
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Leon Styhre ***@***.***>
Sent: Saturday, February 26, 2022 10:28:33 AM
To: Aloshi/EmulationStation ***@***.***>
Cc: Pablo Jiménez ***@***.***>; Mention ***@***.***>
Subject: Re: [Aloshi/EmulationStation] Working on Mac OS X Compatibility (#473)
Well C++ is quite a different thing so I can imagine it's a big threshold to get over :)
Do you have any screenshots available for how the bezels look like as I'm not sure exactly what this adds?
GLSL shader support has already been added to ES-DE but Netplay would be very nice to add in a future release.
But it would probably have to wait a while as there are just so many other things planned already.
—
Reply to this email directly, view it on GitHub<#473 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ACLWJISXCTYP7HIEHXQY5D3U5CMMDANCNFSM4BK4A6OA>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
El 26 feb. 2022 10:28, Leon Styhre ***@***.***> escribió:
Well C++ is quite a different thing so I can imagine it's a big threshold to get over :)
Do you have any screenshots available for how the bezels look like as I'm not sure exactly what this adds?
GLSL shader support has already been added to ES-DE but Netplay would be very nice to add in a future release.
But it would probably have to wait a while as there are just so many other things planned already.
—Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Hi,
This project looked very cool indeed and I'd like to get it working on my Mac Mini HTPC.
I followed the standard instructions to build. Initially I had to satisfy a couple of dependencies using the OS X 'Homebrew' package manager. I also downloaded the latest SDL Framework for OS X and copied it to /Library/Frameworks as normal.
So, then it at least started compiling. However, I had to make a couple of changes to the source tree to get things up and running.
The main sticking-point is that I've merely left the methods in VolumeControl.cpp as 'no-ops' rather than #errors for when APPLE is defined. I'll come to that later when I learn how to use the CoreAudio framework in C++.
I had to make a few changes to cmake's settings to get it to build with clang on OS X.
Anyway, EmulationStation now launches on my Mac. I just need to configure it and test it to see how much of it actually works as expected. Thought I'd send this PR over since it might at least act as a basis for further Mac support.