15 October 2022

Welcome back, QMC2!

Update November 2022: Another build plus codesigned by me, this time Homebrew, available here:

https://drive.google.com/file/d/15J_-98pNAmDORhyxx9VyP28d1Wo12SCi/view?usp=sharing

Zip now also includes a zip file that needs to be extracted into the ROOT Library/Application Support folder. Please read the ReadMe file.

So yes, now QMC2 builds with Homebrew as well, however, still with a hickup in qmake, which can be fixed manually.

Update October 2022: I managed to build and code-sign an Apple Silicon binary for QMC2. It is available for download here:

https://drive.google.com/file/d/1-z3xppox2ScFBsvfLKT2rGqTkVBIDjbg/view?usp=sharing

(now a zip file)

On my machines, resetting the attributes with the following Terminal command was necessary (error that the application is damaged):

xattr -cr /Applications/qmc2-sdlmame.app

(assuming that you put the app into the Applications folder)


Why? The MacOs Extended Attributes are stored locally on each machine, and at some point in time, the qmc2 application has been quarantined. The above Terminal command removes this attribute from your machine.


You can test the status of the qmc2 app (any app) by this Terminal command:

xattr -l /Applications/qmc2-sdlmame.app

If the Terminal returns nothing, you should no have the above mentioned problem

Could somebody please test this binary on an Apple Silicon machine whether it works after freeing it from Gatekeeper? The binary is code-signed with my official Apple Developer Certificate, so it should work. Many thanks for reporting back! Intel64 binaries would follow.

------

One of the first MAME frontends - QMC2 of Rene Reucher - is back! Right now you need to compile it yourself, but the reward is a mature and well documented MAME frontend - both on X64 Macs and Silicon Macs. 

I started MAME with the help of QMC2, and it is still a classic frontend experience

Rene has a new repository on Github: https://github.com/qmc2/qmc2-mame-fe

So let's fire up our Terminal and let us compile it!

The largest hurdle: You need MacPorts (instead of Homebrew) because only MacPorts still provides the required Qt5 packages. The good news: On my X64 and Silicon Macs, uninstalling Homebrew and installing MacPorts was no problem at all. I got used to MacPorts rather swiftly, as it is very well documented.

MacPorts packages needed:

  • qt5 (@5.15.6, including dependencies)
  • qt5-qtwebkit (@5.9.2_2, including dependencies)
  • *new* qt5-qtwebengine (v5.15.10, takes a very long compile with further dependencies)

You need to set the path to the qmake binary of MacPorts (only once) as follows:

export PATH=/opt/local/libexec/qt5/bin/:$PATH

Be sure to have a recent MAME and the latest version of the SDL2 Framework installed (for basic setup instructions - please see this post).

With these prerequisites, the app compiles below one minute on my M1 Mac Mini:

In the Terminal, move into a directory of your choice, then:

git clone --recursive https://github.com/qmc2/qmc2-mame-fe

cd qmc2-mame-fe

make -j8

sudo make install

The install command copies the completed App Binaries into a folder qmc2 in Applications (stupid me, I forgot about the subdirectory and looked for it in the Applications directory without success).

The arcade app currently does not work, though.

Please also remember that QMC2, quite different to other MacOS apps, places the main system files in /Library/Application Support/qmc2 (root folder - for all users), 

This directory is for all MacOS users.

while only the user-specific cache files and the user-specific qmc2.ini is placed in ~/Library/Application Support/qmc2

This is the directory for the single user.

As always, QMC2 sets up the system at first start and checks all roms. After this, the app launches very fast.

Rene Reucher, the developer of QMC2, is currently very active in modernizing the app, so stay tuned to monitor his advancements in his new Github repository.

10 comments:

  1. Any chance of linking this line to the install instructions for MAME & SDL2?
    "Be sure to have a recent MAME and the latest version of the SDL2 Framework installed."

    ReplyDelete
    Replies
    1. Hi, thanks for your feedback! I was thinking about this, but already MAME requires the SDL2 Framework to be installed, so if you have a proper MAME setup, QMC2 will work as well!

      Delete
    2. Ok, I did a link to my related post :-).

      Delete
  2. Hello! As of June 25, the QT installer moves some files around for 5.15 ... because of this, the path is now incorrect...

    I had to use "export PATH=/Users/(your user directory here)/Qt/5.15.2/clang_64/bin/:$PATH" (without the quotes at the beginning and end)

    I am on a 2019 MBP with an Intel Processor running MacOS 12.4

    Anyway - Enjoy!

    ReplyDelete
    Replies
    1. Many thanks! I do not use the QT installer, but the MacPorts versions, and I think that MacPorts uses a very different Path environment. I failed with the QT installer on all of my Macs, that's why I moved to MacPorts (and I actually like it :-). So if there is another way with the QT installer, even better! Cheers!

      Delete
    2. Hi, Is there any chance of getting the already built version from you? Don't really want to undo all the brew stuff etc.

      Delete
    3. Hello, I am sorry, I wanted to help out Rene in providing builds, but the MacOS notarization system drives me crazy. While I couuld provide binaries via Google Drive, this would not create the required directories in Application Support. Would blank binaries be sufficient?

      Delete
  3. Many thanx for the update! The previous version was rather old. Only one thing: the MAME options are not shown and can therefore not be adjusted (options/emulator/global configuration). Have to edit the mame.ini manually.

    ReplyDelete
  4. Another small problem: when the ROMs folder is on a different harddisk, nor adding the correct ROMs path to the mame.ini nor creating a symblic link from the real location to the mame folder works. Starting a ROM always results in a crash of MAME. Starting ROMs directly with MAME works perfect, so it must be QMC2.

    ReplyDelete
  5. Hi, looking forward to the intel build :-)

    ReplyDelete

Any comments are welcome!