Native Mac Testing Build
#21
macOS 10.15 supports 32-bit code segments in 64-bit processes.
This is how CrossOver 19 runs 32-bit applications in operating system with only 64-bit libraries available.

It is very difficult to port the JIT compiler to 64-bit, as it emits x86 directly and does not use an intermediate representation to make converting to other instruction sets easier.
However, the 32-bit code segment support can be used so the 32-bit JIT compiler can be used in a 64-bit process.
Reply

Sponsored links

#22
(06-01-2020, 04:19 PM)Wowfunhappy Wrote: I don't understand how this is possible. When you put both messages together, they tell us:

• Your included libiconv provides only version 7
• MacPorts's libiconv also provides only version 7
• MacPorts's libglib requires libiconv version 9
• libwx also requires libiconv version 9...
• ...but, libwx was perfectly happy with your included libiconv, even though, as we've established, it also provides only version 7.

What?

Okay, I got it!

The MacPorts copy of glib2 was set to look for dependent libraries (including libiconv) in /opt/local/lib/, not PCSX2.app/Contents/Frameworks. When it doesn't find anything in /opt/local/lib, it goes searching other directories, at which point it finds Apple's stock outdated libiconv2 in /usr/lib before it finds mine.

I got around this by copying all of the following libraries to /usr/local/lib (which I guess is ahead of /usr/lib in OS X's default PATH):
  • libexpat.1.dylib
  • libffi.6.dylib
  • libfreetype.6.dylib
  • libglib-2.0.0.dylib
  • libgobject-2.0.0.dylib
  • libiconv.2.dylib
  • libintl.8.dylib
  • libpcre.1.dylib
  • libuuid.16.dylib
And then separately, in the Frameworks directory, I needed to replace the copy of libfontconfig.1 that came with the app with a Darwin13 version from MacPorts.

Maybe a future version can set the PATH to the app's frameworks directory so this isn't needed?

----------

I can get past the configuration screen now, but I can't start a game.

[Image: Screen-Shot-2020-06-07-at-11-44-39-AM.png]

Log says:

Code:
OpenGL 3.3 is not supported. Only OpenGL 0.0

This, of course, isn't true, OpenGL 4.1 should work fine, and does in other software.

Full log:

Code:
Initializing plugins...
    Init GS
    Init PAD
    Init SPU2
onepad: controller (Xbox 360 Controller) detected with rumble support, GUID:030000005e0400008e02000000000000
OpenGL information. GPU: NVIDIA GeForce Pre-Release Unknown OpenGL Engine. Vendor: NVIDIA Corporation. Driver: NVIDIA-8.26.29 310.40.55f01
SDL audio driver configuration is invalid!
It will be replaced by pulseaudio!
    Init CDVD
    Init USB
    Init FW
    Init DEV9
Plugins initialized successfully.

Patches: No CRC found, using 00000000 instead.
Opening plugins...
    Opening GS
    Opening PAD
    Opening SPU2
* SPU2-X: Enumerating PortAudio devices:
*** Device 0: 'AirPlay' (Core Audio)
*** Device 1: 'Yeti Stereo Microphone' (Core Audio)
*** Device 2: 'Hifime Sabre Dac' (Core Audio)
    Opening CDVD
isoFile open ok: /Volumes/Archive/Games/Persona 4.ps2.iso
    Image type  = DVD
* CDVD Disk Open: DVD, Single layer or unknown:
* * Track 1: Data (Mode 1) (2151344 sectors)
    Opening USB
    Opening FW
    Opening DEV9
OpenGL 3.3 is not supported. Only OpenGL 0.0
was found2020-06-07 11:37:58.247 PCSX2[19568:707] invalid context
2020-06-07 11:37:58.253 PCSX2[19568:707] invalid context
Closing plugins...
    Closing DEV9
    Closing FW
    Closing USB
    Closing CDVD
    Closing SPU2
    Closing PAD
    Closing GS
Plugins closed successfully.
Shutting down plugins...
Plugins shutdown successfully.
(p) GS plugin failed to open!(thread:MTGS)(thread:EE Core)
User-canceled plugin configuration after plugin initialization failure.  Plugins unloaded.
HLE Notice: ELF does not have a path.
Reply
#23
(06-07-2020, 05:30 PM)Wowfunhappy Wrote: Okay, I got it!

The MacPorts copy of glib2 was set to look for dependent libraries (including libiconv) in /opt/local/lib/, not PCSX2.app/Contents/Frameworks. When it doesn't find anything in /opt/local/lib, it goes searching other directories, at which point it finds Apple's stock outdated libiconv2 in /usr/lib before it finds mine.

Maybe a future version can set the PATH to the app's frameworks directory so this isn't needed?

----------

I can get past the configuration screen now, but I can't start a game.
Log says:

Code:
OpenGL 3.3 is not supported. Only OpenGL 0.0

This, of course, isn't true, OpenGL 4.1 should work fine, and does in other software.
The next version should have the 10.9 dylibs so it shouldn't matter, but for future reference you can use otool -L library.dylib to read the list of things a library wants to link with and install_name_tool -change old new to change them, the proper path is @executable_path/../Frameworks/library.dylib

As for the OpenGL error, the message is broken but it's trying to say that your GPU doesn't support OpenGL 4.1 which is currently required for the emulator as it requires 3.3 and the only versions macOS supports are 3.2 and 4.1. I do have an old 330m-based (GL 3.2 only) MacBook Pro available to test with so I'll mess around with it and see if I can get anything working.

Edit: Looking into it, apparently the constant I'm using (NSOpenGLProfileVersion4_1Core) was added in macOS 10.10, on 10.9 I'm supposed to request 3_2Core and the system will give back a 4.1 instance if it's available, so even if your GPU does support 4.1 it'll fail to request it properly. I'll try to fix it in the next version.
Reply
#24
(05-25-2020, 08:46 PM)Behodar Wrote: Not the way that I'd expect. This moves the ~640x480 game into the top-left corner and turns the rest of the screen black. Double-clicking the window does the same thing. Unfortunately my other machine is running 10.15 so I can't test it there.

Try the latest build, it should work now

(06-06-2020, 02:57 PM)fjtrujy Wrote: I have been taking a look and we still don't have anything in the CI/CD regarding macOS, I'm quite interested into do it.
Do you know if there is any special reason why it is not done yet? If there is no constraints, I can start doing a PR.

There were too many OpenGL workarounds that had to be revived, so for now it's staying off the main branch

(06-07-2020, 05:30 PM)Wowfunhappy Wrote: Log says:

Code:
OpenGL 3.3 is not supported. Only OpenGL 0.0

This, of course, isn't true, OpenGL 4.1 should work fine, and does in other software.

Try the latest build. It black screens on my 330m laptop but I think that's due to its lack of GL 4.1 support, not due to the 10.9 drivers (it black screens on that laptop with 10.13 as well)
Reply
#25
(06-10-2020, 12:21 AM)TellowKrinkle Wrote: Try the latest build, it should work now

It does! Thanks  Biggrin

One question though: When playing a 4:3 game in fullscreen on a widescreen display it stretches/distorts the image. Is there a way to make it put black 'pillars' on the left and right sides to maintain the correct 4:3 ratio? Other than that, everything seems great! I can finally replay some of my old favourites (my real PS2 struggles to read DVDs now Sad).
Reply
#26
You can always replace the laser (it's real simple) or use programs like Open PS2 Loader
Reply
#27
Hi,

I'm able to connect my DS4 to my mac using bluetooth, but am unable to configure controller using OnePad plugin that is included with most recent mojave port of PCSX2.

How would one go about this?
Reply
#28
(06-11-2020, 03:42 AM)coolio1234 Wrote: Hi,

I'm able to connect my DS4 to my mac using bluetooth, but am unable to configure controller using OnePad plugin that is included with most recent mojave port of PCSX2.

How would one go about this?

You need to make a mapping file and put it in Onepad.ini

I've never done this but it seems someone else has:

(06-01-2020, 06:44 PM)nomaj Wrote: OK... so i' managed to get my controlers woriking with https://generalarcade.com/gamepadtool/
this tool generates data that you can put in OnePad.ini Wink

IMO this is now much better that WINE version - run in full speed - and i love it Wink

I hope that v1.6 can be compiled for OSX - that way this will be a killer Wink

Once you've done it, please make a PR to https://github.com/gabomdq/SDL_GameControllerDB which will effectively share your config with everyone else so they don't have to go through this if they have the same controller as you
Reply
#29
(06-11-2020, 10:28 AM)TellowKrinkle Wrote: You need to make a mapping file and put it in Onepad.ini

I've never done this but it seems someone else has:


Once you've done it, please make a PR to https://github.com/gabomdq/SDL_GameControllerDB which will effectively share your config with everyone else so they don't have to go through this if they have the same controller as you

How does one put the mapping file in Onepad.ini?
Completely new to this!
Reply
#30
(06-12-2020, 05:15 AM)coolio1234 Wrote: How does one put the mapping file in Onepad.ini?
Completely new to this!

Try adding SDL2 = mapping to the end of ~/PCSX2/inis/OnePad2.ini
Reply




Users browsing this thread: 4 Guest(s)