Attempt building for macOS 10.14 Mojave #94
Conversation
This is so we can test the actual built plugin.
Can't hurt to try the simple thing first! But it looks like the build is using the 10.15 SDK. I think that SO post you found is very promising. Probably we will need a build step to download and unzip the older SDK from here (let's start with 10.14 before trying 10.13). If you are able to keep jamming on this, maybe make a new step in the build.yml that downloads and unzips the 10.14 SDK then does a |
I also saw this. Not sure if we'll need to do it |
Yes, I was thinking the same thing. Interestingly, I only seem to have the 10.15 sdk on my 10.14 computer, though (apparently xcode 11.3 only comes with the 10.15 sdk?). Reading this made me hopeful that perhaps it might work to set the minimum version and use the 10.15 sdk. I couldn't find an official place to download the 10.14 sdk - that's why I thought I'd try just the environment variable first. |
Oh very interesting that you can build on your 10.14 machine with only the 10.15 SDK! I totally get your line of reasoning in that case. Maybe these artifacts you're generating will just work 🤞 |
Plus add that sdk to a cache so that we don't have to download it each time a PR comes in :). |
😄 yes please! Edit: I should probably cache the entire OBS build. No reason that needs to happen every time. |
(Really, I don't know what I'm doing here, so take everything I say with a huge boulder of salt) |
So if you I'm def guessing here too. I've dealt with version compatibility on iOS in the past, but that was just clicking some things in Xcode so I have no idea what it was doing under the hood. |
How exactly do I install the plugin artifacts into my stock install of OBS? I see the |
|
By default it's in
If that has problems running because it isn't signed, we've found that we can just dump the .so into application bundle plugins dir and it seems to just work without needing codesigning. |
Thanks. It works!!! I used the plugin artifacts generated in this build workflow, copied them to the locations you said, and it works as well as it did when I compiled myself. |
(which for me means that Chrome was able to see the virtual camera and the content of it, and quicktime was able to see the virtual camera, but only displayed the test card, not the actual content) |
cmake -DLIBOBS_INCLUDE_DIR:STRING=$GITHUB_WORKSPACE/obs-studio/libobs \ | ||
-DLIBOBS_LIB:STRING=$GITHUB_WORKSPACE/obs-studio/build/libobs/libobs.dylib \ | ||
-DOBS_FRONTEND_LIB:STRING=$GITHUB_WORKSPACE/obs-studio/build/UI/obs-frontend-api/libobs-frontend-api.dylib \ | ||
-DQTDIR:STRING=/usr/local/opt/qt .. | ||
make -j | ||
|
||
- name: Fix runtime QT deps |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine leaving this. Probably useful to be able to test PRs
Hey that's awesome! So this fully works with Chrome? Can you see if you can find a Console.app log for QuickTime. Maybe it's a codesigning thing for Quicktime and it will just work when we sign this with a production cert. |
Here's the relevant part from the quicktime log when I switch to the virtual camera:
Then it just keeps repeating that last line about once a second. |
Yes, it appears to work just fine with Chrome for me. |
Very interesting. I wonder if there's some differences in QuickTime's ability to reach OBS over mach ipc in 10.14 |
This will have the pkg when its done https://github.com/johnboiles/obs-mac-virtualcam/actions/runs/104162509 |
Works !!! on my mojave. Cheers!! |
That pkg also works for me. Thanks again! |
Thata's awesome!! I wonder if we can just dial this down to 10.13 for the high sierra people. I'll cut a 1.1.0 release from this when i get a chance!! |
This works for me on Mojave with Quicktime as the video-sink as well! First it only showed the test screen. But after a reboot I can see live video in Quicktime. Maybe that's because I had the Catalina pkg already installed and then used the Mojave installer to replace the plugin. |
This is a bit of a shot in the dark, but it may be that we just need to set an environment variable to configure building for an older version of macOS. See #85 (comment)