Skip to content

Conversation

@namoen0301
Copy link

@namoen0301 namoen0301 commented Oct 28, 2025

Description

Add a new function in virtualcam-install.bat.in and virtualcam-uninstall.bat.in to support Windows on ARM install.

Motivation and Context

add a simple cpu target check in virtualcam-install.bat.

on x64 platform: Install 32bit and 64bit DLL.
on ARM64 platform: Install 32bit and ARM64 DLL.

virualcam-uninstall.bat will uninstall all virtualcam modules.

How Has This Been Tested?

test with my snapdragon laptop and UTM virtual machine on M3 Mac.

image

Types of changes

New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@WizardCM WizardCM added Enhancement Improvement to existing functionality Windows Affects Windows labels Nov 1, 2025
@WizardCM
Copy link
Member

WizardCM commented Nov 1, 2025

It's worth noting that by only installing the ARM64 DLL, the user will only get virtual camera support in native ARM64 apps.

@driver1998
Copy link

driver1998 commented Nov 7, 2025

To properly support both ARM64 and x64 apps, the virtualcam DLL will need to be ARM64X (or a ARM64X redirector that redirects to either ARM64 or x64 DLL).

Because both ARM64 and x64 apps share the same registry view and therefore a single entry for COM component dll.

About ARM64X: https://learn.microsoft.com/en-us/windows/arm/arm64x-build

32-bit x86 apps are unaffected, those can be handled the same way as on x64 machines, just install and register the 32-bit dll the same way.

@namoen0301
Copy link
Author

To properly support both ARM64 and x64 apps, the virtualcam DLL will need to be ARM64X (or a ARM64X redirector that redirects to either ARM64 or x64 DLL).

Because both ARM64 and x64 apps share the same registry view and therefore a single entry for COM component dll.

About ARM64X: https://learn.microsoft.com/en-us/windows/arm/arm64x-build

32-bit x86 apps are unaffected, those can be handled the same way as on x64 machines, just install and register the 32-bit dll the same way.

When I'm not busy, I'll look into this.

@namoen0301
Copy link
Author

I think it needs to be split two separate PRs

  1. Add support for installing virtualcam on WoA, I've added 32bit dll install on ARM64 platform.
  2. Change obs-virtualcam-module-arm64.dll to ARM64X DLL

Add a new function in `virtualcam-install.bat.in`
and `virtualcam-uninstall.bat.in` to support Windows on ARM install.

on x64 platform: Install 32bit and 64bit DLL.
on ARM64 platform: Install 32bit and ARM64 DLL.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement Improvement to existing functionality Windows Affects Windows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants