-
Notifications
You must be signed in to change notification settings - Fork 160
Support for DAL plugin built as a universal binary #240
Conversation
Have you tested this :D? I was looking into this for the last couple days but got stuck at the OBS libs, which I assumed needed to be compiled for arm64, which meant OBS needed to be compiled for arm64, which meant QT5 needed to be (where I got stuck with trying to find which patches I needed). |
To run the OBS plugin as arm64 yes, you'd need OBS and all of OBS's dependencies to support arm64. BUT that's probably not what you want, you probably just want the DAL plugin compiled as universal so that it can run inside other universal apps as arm64. So you'd still have OBS running as x86 under Rosetta, but it could communicate to a DAL plugin compiled as a universal binary. But no I haven't tested this! I don't have an M1 Mac yet. Just trying to create a binary so folks like you and @MatteAce in #239 can test. I can build something locally, and it looks right to me:
|
I am typing this on an M1 machine and will be first in line to let you know! |
mkdir obs-mac-virtualcam/build | ||
cd obs-mac-virtualcam/build | ||
|
||
cmake -DLIBOBS_INCLUDE_DIR:STRING=$GITHUB_WORKSPACE/obs-studio/libobs \ |
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.
This is what I'm worried about, don't these also need to be compiled arm64?
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.
nah, not for the dal plugin to work
Hmm I'm struggling to get the GitHub build to work, but you could try compiling yourself using these instructions https://github.com/johnboiles/obs-mac-virtualcam/wiki/Developing Except use this to compile the dal-plugin:
|
On it! |
Brew is pretty broken on M1 machines, I've got it running in experimental mode but lots of formulas fail (which is why I was trying to built QT from scratch). Do I need to install all those deps from the document? Running the I'll update here if I have any success! |
Hmmm I see. All those dependencies aren't required for the |
You could always hack up the |
Hahaha, I literally tried that seconds before you commented. The build did succeed then. I'm testing it now. |
I tried replacing the plugin in /Library/CoreMediaIO/Plug-Ins/obs-mac-virtualcam.plugin with the new one but Safari still doesn't pick it, even after a reboot. I did resign it with my own developer key as well to try and give it more system credence. |
Do you mean Any logs in Console.app about it? What if you run |
Checking console now |
I wonder if there's something we need to add to the Info.plist to mark that it's universal |
I just tried Firefox (x86_64) and the the virtual camera does show up there still which may be useful to know. |
Ok! So the universal binary didn't break both architectures at least. That's good. This doc mentions setting What universal browser are you testing in? Does Chrome have a universal build? |
Ha! I found something at least, it works in Chrome (Universal, going to confirm its running arm64), it does not work in Safari. |
Awesome!!! I bet Safari just disabled plugins all-together and Apple didn't feel like it was worth it to implement plugins correctly and just disabled them instead. (I've seen reports they did that for QuickTime in Big Sur) |
I bet you that's it. |
Ok so why isn't the GH action working? :) |
I ran Chrome manually using |
hey!! sorry for being late, but I wouldn't have been much of an help here, since I have a background in web developing and know nothing about compiling! :) |
Gives what looks like a notarization error |
Same for me, I've been able to bypass it in the Security & Privacy pane, but it still won't show up |
Here is the issue I think: First the the artifact downloaded, second is the old version. Tl;dr, not signed with a developer certificate
|
Ok! I'll go ahead and make a release-y build so all the notarization stuff happens. @MatteAce still won't show up where? What app are you using to try it? |
* Separate universal dal-plugin build from x86-only obs-plugin build * Try building on macOS Big Sur instead * Temporarily use MACOSX_DEPLOYMENT_TARGET 10.015 * Try the CPATH fix * Try a different CPATH * Also try LIBRARY_PATH * Dump cmake version because I'm curious * Try newer cmake * Sanity check -- only build x86 * Continue to beat my head against the wall * Bring back arm64 now with updated cmake * Try big sur again with updated cmake * Use setup-xcode to update xcode (hopefully) * Don't blow away obs plugin
Chrome Universal Binary, on streamyard.com |
Ok try the notarized .pkg version here. |
still not showing up... should I reboot? |
Yeah try that
…On Thu, Nov 26, 2020 at 3:34 PM MatteAce ***@***.***> wrote:
Ok try the notarized .pkg version here
<https://github.com/johnboiles/obs-mac-virtualcam/actions/runs/386104525>.
still not showing up... should I reboot?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#240 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABVN7BYY7DGMY5ATXOYR5LSR3QZHANCNFSM4UEEXNXQ>
.
|
nope. but I think something happened with chrome x86... when I launched it, it told me about obs virtualcam being from an unknown dev. inside the browser, the virtualcam plugin is showing black, not the usual blue test screen that appears before you start the virtual cam from OBS. I'll try and uninstall everything and then reinstall the pkg |
Works for me with the small caveat I had to manually remove the old version first. |
@MatteAce are you running on an M1? If so you want to be running it arm64 mode, not x86_64 which will run through rosetta2. |
yeah I know, but since the universal app wasn't working, I tried the x86 app as well |
YES!! it works now! I just removed the old files from the DAL folder! |
Ok! That's probably because I haven't bumped the version in |
just FYI, the old x86 plugin won't work together with the new Universal plugin. I've put the old plugin back in the DAL folder, renamed as obs-mac-virtualcam-x86.plugin and it just shows a black screen |
Because the binary is universal, it should work in both, testing now. Edit: Confirmed, starting chrome in x86_64, it still works. |
you're right! my bad, it works for both |
confirmed working on Firefox-x86 too |
Yep confirmed on my Intel Mac too. Still works just fine for me. |
thank you John for your precious work! you're a lifesaver! |
Thanks @johnboiles! I second @MatteAce's comment |
This change separates out the dal-plugin build from x86-only obs-plugin build so that the dal-plugin can work on M1 Macs in universal applications.