NDOF mouse not working in code signed macOS builds #67686

Closed
opened 2019-07-25 21:01:16 +02:00 by Mugur Marculescu · 45 comments

System Information
Operating system: MacOS Mojave 10.14.5
Graphics card: Radeon Pro 555X 4 GB, Intel UHD Graphics 630 1536 MB

Blender Version
Broken: v2.8 RC 3
Worked: Version 2.79b (2.79b 2018-03-22, Blender Foundation) It works just fine in the last official release.
Note that this also worked for several interim 2.8 versions, but unfortunately I don't know the specific hashes.

Short description of error
No longer able to use 3d Connexion Space Navigator (USB wired version, the simple one with two side buttons) in latest 2.8 RC 3.
The device works just fine in 2.79b which I also have installed and tested back and forth between the two programs.

Exact steps for others to reproduce the error
Based on the default startup or an attached .blend file (as simple as possible).

  1. Confirm Space Navigator mouse works on OS listed above. Has latest software installed. Works with Demo apps and Blender 2.79b.
  2. Launch affected Blender version (RC3) in new scene.
  3. Observe that viewport can't be controlled at all when moving mouse.
  4. Observer that pressing the buttons on mouse which typically bring up the NDOF menu, do nothing.
**System Information** Operating system: MacOS Mojave 10.14.5 Graphics card: Radeon Pro 555X 4 GB, Intel UHD Graphics 630 1536 MB **Blender Version** Broken: v2.8 RC 3 Worked: Version 2.79b (2.79b 2018-03-22, Blender Foundation) It works just fine in the last official release. Note that this also worked for several interim 2.8 versions, but unfortunately I don't know the specific hashes. **Short description of error** No longer able to use 3d Connexion Space Navigator (USB wired version, the simple one with two side buttons) in latest 2.8 RC 3. The device works just fine in 2.79b which I also have installed and tested back and forth between the two programs. **Exact steps for others to reproduce the error** Based on the default startup or an attached .blend file (as simple as possible). 1. Confirm Space Navigator mouse works on OS listed above. Has latest software installed. Works with Demo apps and Blender 2.79b. 2. Launch affected Blender version (RC3) in new scene. 3. Observe that viewport can't be controlled at all when moving mouse. 4. Observer that pressing the buttons on mouse which typically bring up the NDOF menu, do nothing.

Added subscriber: @mugurm

Added subscriber: @mugurm

#67113 was marked as duplicate of this issue

#67113 was marked as duplicate of this issue

#67971 was marked as duplicate of this issue

#67971 was marked as duplicate of this issue

Added subscriber: @DaveStromberger

Added subscriber: @DaveStromberger

I just tested RC3 with my 3dconnexion Spacemouse Compact, and it seems to work fine.

I just tested RC3 with my 3dconnexion Spacemouse Compact, and it seems to work fine.

Following up on my original bug report. I had the opportunity to test on a different machine with a nearly identical setup, but this time using a SpaceMouse Wireless (Similar, but newer model with two button device but connected to USB wireless receiver). Just to be clear this was a different laptop and a different SpaceMouse. Result was the same.

Things work just fine in 2.79b but don't work in 2.8 RC3.

Broken on:
2.8 RC3, MacOS Mojave 10.14.5, 3D Connexion 3DXWare 10 (3DxMacCore version 1.1.0, 3DxWare version 10.6.1)

Same exact behavior as originally reported, no response whatsoever from Blender, neither on movement of the stick nor button presses.

Following up on my original bug report. I had the opportunity to test on a different machine with a nearly identical setup, but this time using a SpaceMouse Wireless (Similar, but newer model with two button device but connected to USB wireless receiver). Just to be clear this was a different laptop and a different SpaceMouse. Result was the same. Things work just fine in 2.79b but don't work in 2.8 RC3. Broken on: 2.8 RC3, MacOS Mojave 10.14.5, 3D Connexion 3DXWare 10 (3DxMacCore version 1.1.0, 3DxWare version 10.6.1) Same exact behavior as originally reported, no response whatsoever from Blender, neither on movement of the stick nor button presses.

And for additional clarity, since it appears the company renamed their product line at some point in time. The two pieces of hardware I tested are these:
SpaceMouse Compact: https://www.3dconnexion.com/spacemouse_compact/en/
SpaceMouse Wireless: https://www.3dconnexion.com/spacemouse_wireless/en/

And for additional clarity, since it appears the company renamed their product line at some point in time. The two pieces of hardware I tested are these: SpaceMouse Compact: https://www.3dconnexion.com/spacemouse_compact/en/ SpaceMouse Wireless: https://www.3dconnexion.com/spacemouse_wireless/en/

Added subscriber: @LuMaDo

Added subscriber: @LuMaDo

Hello Dev Team,

Same here with 2.8 RC1 to 3 and MacOS Mojave 10.14.6, 3dconnexion Spacemouse Wireless does not respond.
In the experimental builds the mouse works as expected, just tested with 379b2d and works OK.

Thanks,
Ludo

Hello Dev Team, Same here with 2.8 RC1 to 3 and MacOS Mojave 10.14.6, 3dconnexion Spacemouse Wireless does not respond. In the experimental builds the mouse works as expected, just tested with 379b2d and works OK. Thanks, Ludo

Added subscriber: @geist

Added subscriber: @geist

Hello,

I have been unable to use my 3DConnexion Wired SpaceMouse Compact on Blender 2.8rc1, rc2, and rc3 on macOS 10.14.5 Mohave. Works in blender 2.79.

I've attached my system-info.system-info.txt

Hello, I have been unable to use my 3DConnexion Wired SpaceMouse Compact on Blender 2.8rc1, rc2, and rc3 on macOS 10.14.5 Mohave. Works in blender 2.79. I've attached my system-info.[system-info.txt](https://archive.blender.org/developer/F7629982/system-info.txt)

Added subscriber: @Actiondyne_Industries

Added subscriber: @Actiondyne_Industries

Same issue here. Not working anymore for me either.

Spacemouse compact (wired).
3Dconnexion software is up to date:
3DxMacCore version 1.1.0
3DxWare version 10.6.1

Mac OSX Mojave 10.14.5

Everything worked fine for all of the experimental builds... I did not try RC1, or RC2, however RC3 is not responding to the 3D mouse.

Same issue here. Not working anymore for me either. Spacemouse compact (wired). 3Dconnexion software is up to date: 3DxMacCore version 1.1.0 3DxWare version 10.6.1 Mac OSX Mojave 10.14.5 Everything worked fine for all of the experimental builds... I did not try RC1, or RC2, however RC3 is not responding to the 3D mouse.

Added subscriber: @Mr_Clean

Added subscriber: @Mr_Clean

Same Issue for RC1/2/3. Works fine in all other software. Mac OSX Mojave 10.14.3 .. So its also not about the Mojave version. It is definitely Blender.

Same Issue for RC1/2/3. Works fine in all other software. Mac OSX Mojave 10.14.3 .. So its also not about the Mojave version. It is definitely Blender.

I just built a debug build of Blender 2.81a and the SpaceMouse is working again!

I just built a debug build of Blender 2.81a and the SpaceMouse is working again!

Added subscriber: @brecht

Added subscriber: @brecht

The issue is most likely that that final releases are code signed, which is somehow affecting loading of the NDOF library. Can anyone run the release candidate from the command line, and attach any output it gives here?
https://docs.blender.org/manual/en/dev/advanced/command_line/launch/macos.html

There is most likely some security feature that prevents the 3D connexion driver from being loaded.

The issue is most likely that that final releases are code signed, which is somehow affecting loading of the NDOF library. Can anyone run the release candidate from the command line, and attach any output it gives here? https://docs.blender.org/manual/en/dev/advanced/command_line/launch/macos.html There is most likely some security feature that prevents the 3D connexion driver from being loaded.

Hello Brecht,

Just ran Blender from the terminal and this is the output:


Last login: Tue Jul 30 11:14:59 on ttys000
Ludos-iMac:~ LMD$ cd /Applications/Blender.app/Contents/MacOS
Ludos-iMac:MacOS LMD$ ./Blender
Read prefs: /Users/LMD/Library/Application Support/Blender/2.80/config/userpref.blend
found bundled python: /Applications/Blender.app/Contents/Resources/2.80/python


Maybe not at all related to this issue but also noticed that in all RC`s (Spacemouse not working) the 2 Spacemouse buttons call the radial menus, not the Blender NDOF settings and Home.

Hope is of any help.

Regards,
Ludo

Hello Brecht, Just ran Blender from the terminal and this is the output: *** Last login: Tue Jul 30 11:14:59 on ttys000 Ludos-iMac:~ LMD$ cd /Applications/Blender.app/Contents/MacOS Ludos-iMac:MacOS LMD$ ./Blender Read prefs: /Users/LMD/Library/Application Support/Blender/2.80/config/userpref.blend found bundled python: /Applications/Blender.app/Contents/Resources/2.80/python *** Maybe not at all related to this issue but also noticed that in all RC`s (Spacemouse not working) the 2 Spacemouse buttons call the radial menus, not the Blender NDOF settings and Home. Hope is of any help. Regards, Ludo

In #67686#739324, @brecht wrote:
The issue is most likely that that final releases are code signed, which is somehow affecting loading of the NDOF library. Can anyone run the release candidate from the command line, and attach any output it gives here?
https://docs.blender.org/manual/en/dev/advanced/command_line/launch/macos.html

There is most likely some security feature that prevents the 3D connexion driver from being loaded.

Just tried on the 2.8 release (btw congratulations!). Sadly NDOF is still broken. Here's the entire command line output.

mugurm-macbookpro:~ mugurm$ /Applications/Blender.app/Contents/MacOS/Blender
Read prefs: /Users/mugurm/Library/Application Support/Blender/2.80/config/userpref.blend
found bundled python: /Applications/Blender.app/Contents/Resources/2.80/python

> In #67686#739324, @brecht wrote: > The issue is most likely that that final releases are code signed, which is somehow affecting loading of the NDOF library. Can anyone run the release candidate from the command line, and attach any output it gives here? > https://docs.blender.org/manual/en/dev/advanced/command_line/launch/macos.html > > There is most likely some security feature that prevents the 3D connexion driver from being loaded. Just tried on the 2.8 release (btw congratulations!). Sadly NDOF is still broken. Here's the entire command line output. mugurm-macbookpro:~ mugurm$ /Applications/Blender.app/Contents/MacOS/Blender Read prefs: /Users/mugurm/Library/Application Support/Blender/2.80/config/userpref.blend found bundled python: /Applications/Blender.app/Contents/Resources/2.80/python

Hello again,

I too am still experiencing issues with the new blender 2.8 release not detecting my Space Mouse Compact Wired.

I compiled the HEAD version with make debug and and it does work there. I messed around with GHOST_NDOFManager.cpp with DEBUG_NDOF_MOTION set and noticed a bug in GHOST_NDOFManager::sendMotionEvent(). In the switch statement checking m_motionState, it tries to print progress_string[data->progress]. If the motion state is set to finished (the last position of the enum), then the data pointer contains random data and crashes the program. I doubt that affects the main issue, but I can't find another reason for the SpaceMouse not to work in the release version.

Also, the GHOST_NDOFManager::setDevice function does not have product_id information for the SpaceMouse compact. It prints the following to the console:
ndof: unknown 3Dconnexion product c635

Finally, I ran into an issue where after a reboot, the 3dConnection driver under system preferences would not detect the device until I unplugged the USB connection and plugged it back in. Under the tools tab on the right side, it said "no device detected", but the SpaceMouse still functioned as a mouse. This was the most confusing behavior in Blender, as it would zoom in and out in the viewport.

Hello again, I too am still experiencing issues with the new blender 2.8 release not detecting my Space Mouse Compact Wired. I compiled the HEAD version with make debug and and it does work there. I messed around with GHOST_NDOFManager.cpp with DEBUG_NDOF_MOTION set and noticed a bug in GHOST_NDOFManager::sendMotionEvent(). In the switch statement checking m_motionState, it tries to print progress_string[data->progress]. If the motion state is set to finished (the last position of the enum), then the data pointer contains random data and crashes the program. I doubt that affects the main issue, but I can't find another reason for the SpaceMouse not to work in the release version. Also, the GHOST_NDOFManager::setDevice function does not have product_id information for the SpaceMouse compact. It prints the following to the console: ndof: unknown 3Dconnexion product c635 Finally, I ran into an issue where after a reboot, the 3dConnection driver under system preferences would not detect the device until I unplugged the USB connection and plugged it back in. Under the tools tab on the right side, it said "no device detected", but the SpaceMouse still functioned as a mouse. This was the most confusing behavior in Blender, as it would zoom in and out in the viewport.
Brecht Van Lommel changed title from NDOF mouse no longer working in v2.8 RC 3 to NDOF mouse not working in code signed macOS builds 2019-07-31 16:46:14 +02:00

Added subscribers: @pope.video, @mont29, @ideasman42, @Summer

Added subscribers: @pope.video, @mont29, @ideasman42, @Summer

I'm guessing it's failing to dlopen the library due to more restricted permission for code signed apps.

We may have to either enabled this:
https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_allow-dyld-environment-variables

Or use an absolute path here:

module = dlopen("3DconnexionClient.framework/3DconnexionClient", RTLD_LAZY | RTLD_LOCAL);
I'm guessing it's failing to `dlopen` the library due to more restricted permission for code signed apps. We may have to either enabled this: https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_allow-dyld-environment-variables Or use an absolute path here: ``` module = dlopen("3DconnexionClient.framework/3DconnexionClient", RTLD_LAZY | RTLD_LOCAL); ```

Marking as high since this should be resolved for the next release.

Marking as high since this should be resolved for the next release.

Added subscriber: @tknoll

Added subscriber: @tknoll

Hi there, I have the exact same problem and stumbled over this issue here (with the issue search ;)) before reporting it myself.

I might add that it seems that I have been "lucky" in the beta phase, as the two builds that I've downloaded always worked together with my connexion SpaceNavigator "3D mouse" (in my case it is connected via USB and officially not supported anymore by connexion, but other than that it still works great with the current connexion drivers under macOS Mojave 10.4.6 - and yes, including the mentioned beta versions of Blender, including Blender 2.79c that I've tried in the exact same configuration (on the same machine, hardware, software drivers etc.).

So the last known (to me) Blender beta version that works perfectly with the 3D connexion SpaceNavigator on Mojave 10.14.6 is:

  • Blender 2.80 Beta 2019-06-24Hash: c0c1bb4542f39

And also:

  • Blender 2.79 2017-09-11 Hash: 5bd8c9

And with "working" I mean that I can move the virtual camera in the scene, and with "not working" I mean that "nothing moves".

System info (generated with the final 2.80):
iMac Mojave system-info.txt

Hi there, I have the exact same problem and stumbled over this issue here (with the issue search ;)) before reporting it myself. I might add that it seems that I have been "lucky" in the beta phase, as the two builds that I've downloaded always worked together with my connexion SpaceNavigator "3D mouse" (in my case it is connected via USB and officially not supported anymore by connexion, but other than that it still works great with the current connexion drivers under macOS Mojave 10.4.6 - and yes, including the mentioned beta versions of Blender, including Blender 2.79c that I've tried in the exact same configuration (on the same machine, hardware, software drivers etc.). So the last known (to me) Blender beta version that works perfectly with the 3D connexion SpaceNavigator on Mojave 10.14.6 is: * Blender 2.80 Beta **2019-06-24**Hash: **c0c1bb4542f39** And also: * Blender 2.79 **2017-09-11** Hash: **5bd8c9** And with "working" I mean that I can move the virtual camera in the scene, and with "not working" I mean that "nothing moves". System info (generated with the final 2.80): [iMac Mojave system-info.txt](https://archive.blender.org/developer/F7655665/iMac_Mojave_system-info.txt)

I can confirm that it is the **System Integrity Protection (SIP)**that is causing My 3DConnexion SpaceMouse Enterprise with driver 10.6.3not to work on macOS 10.14.6. I have disabled SIP and navigation now works as expected, but I still cannot assign keystrokes to buttons 1-10, however I can assign keystrokes to buttons 11 & 12. Hopefully keystrokes can be enabled for buttons 1-10 as it would be a huge time saver.

I can confirm that it is the **System Integrity Protection (SIP)**that is causing My **3DConnexion SpaceMouse Enterprise with driver 10.6.3**not to work on **macOS 10.14.6**. I have disabled SIP and navigation now works as expected, but I still cannot assign keystrokes to buttons 1-10, however I can assign keystrokes to buttons 11 & 12. Hopefully keystrokes can be enabled for buttons 1-10 as it would be a huge time saver.

Can someone upload or tell me where to find a beta version from before RC1? Preferably the last Beta version they published..
I got blender 2.8 files to work on.. and am totally sick of doing so without the Spacemouse Pro. I set up my hotkeys to work with the 3D mouse.. and can't get the hang of doing everything with the keyboard and normal mouse only.. I actually put my client on hold.. simply because the space mouse doesn't work anymore.. kind of didn't expect the beta version to be more reliable then the release version.

I'd be really glad for any help

If there is something I can do to get this fixed, please let me know. I am not a programmer/software developer though..

Thank you in advance!

Can someone upload or tell me where to find a beta version from before RC1? Preferably the last Beta version they published.. I got blender 2.8 files to work on.. and am totally sick of doing so without the Spacemouse Pro. I set up my hotkeys to work with the 3D mouse.. and can't get the hang of doing everything with the keyboard and normal mouse only.. I actually put my client on hold.. simply because the space mouse doesn't work anymore.. kind of didn't expect the beta version to be more reliable then the release version. I'd be really glad for any help If there is something I can do to get this fixed, please let me know. I am not a programmer/software developer though.. Thank you in advance!

The 2.81 build should work since it is not signed:
https://builder.blender.org/download/

The 2.81 build should work since it is not signed: https://builder.blender.org/download/

Added subscriber: @jinschoi

Added subscriber: @jinschoi

Building from source worked for me.

[Building from source ](https://wiki.blender.org/wiki/Building_Blender/Mac) worked for me.

Added subscribers: @tjerkotten-3, @ArtoKitula, @Mets

Added subscribers: @tjerkotten-3, @ArtoKitula, @Mets
Member

Removed subscriber: @Mets

Removed subscriber: @Mets

Using the nightly unsigned builds of 2.81 from https://builder.blender.org/download/ does indeed work. @brecht thanks for the tip. I'll be using one of those versions for the foreseeable future.

Using the nightly unsigned builds of 2.81 from https://builder.blender.org/download/ does indeed work. @brecht thanks for the tip. I'll be using one of those versions for the foreseeable future.

In #67686#741013, @brecht wrote:
I'm guessing it's failing to dlopen the library due to more restricted permission for code signed apps.

We may have to either enabled this:
https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_allow-dyld-environment-variables

Or use an absolute path here:

module = dlopen("3DconnexionClient.framework/3DconnexionClient", RTLD_LAZY | RTLD_LOCAL);

I'd do with dlopen("/Library/Frameworks/3DconnexionClient.framework/3DconnexionClient" ... )
As it is installed on that location, I think there is no need for extra check if that exists. dlerror will report anyways if there was problem loading the framework.
(I can commit fix)

> In #67686#741013, @brecht wrote: > I'm guessing it's failing to `dlopen` the library due to more restricted permission for code signed apps. > > We may have to either enabled this: > https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_allow-dyld-environment-variables > > Or use an absolute path here: > ``` > module = dlopen("3DconnexionClient.framework/3DconnexionClient", RTLD_LAZY | RTLD_LOCAL); > ``` I'd do with dlopen("/Library/Frameworks/3DconnexionClient.framework/3DconnexionClient" ... ) As it is installed on that location, I think there is no need for extra check if that exists. dlerror will report anyways if there was problem loading the framework. (I can commit fix)

@mugurm Could you test https://www.dropbox.com/s/uhzejcprowqcns2/blender-2.81-ndof-macos.dmg?dl=0 if that works. It is signed package.

@mugurm Could you test https://www.dropbox.com/s/uhzejcprowqcns2/blender-2.81-ndof-macos.dmg?dl=0 if that works. It is signed package.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

@ArtoKitula : Just a note that I have added this to 2.81 milestone (since it was set to "High")

@ArtoKitula : Just a note that I have added this to 2.81 milestone (since it was set to "High")

Can anyone here test the build that @ArtoKitula posted to verify if it solves the issue?

Can anyone here test the build that @ArtoKitula posted to verify if it solves the issue?

Added subscribers: @fsiddi, @dfelinto

Added subscribers: @fsiddi, @dfelinto

@brecht we still have NDOF at the institute no? We can ask @fsiddi to test this in his Mac station.

@brecht we still have NDOF at the institute no? We can ask @fsiddi to test this in his Mac station.

I'll be back in 3 days, maybe @brecht can do it sooner.

I'll be back in 3 days, maybe @brecht can do it sooner.

@ArtoKitula @brecht @fsiddi I had a chance to try the build from @ArtoKitula and can confirm that NDOF works in it. All 6 axis work and seem responsive and also the NDOF menu pops up as expected. Thanks @ArtoKitula for working on this! Looking forward to seeing this in the next release.

@ArtoKitula @brecht @fsiddi I had a chance to try the build from @ArtoKitula and can confirm that NDOF works in it. All 6 axis work and seem responsive and also the NDOF menu pops up as expected. Thanks @ArtoKitula for working on this! Looking forward to seeing this in the next release.

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Campbell Barton self-assigned this 2019-09-10 08:43:21 +02:00

This issue was referenced by 85a6c07670

This issue was referenced by 85a6c07670fbbe279c567844b99a7a6bd6de07db
Thomas Dinges added this to the 2.81 milestone 2023-02-08 16:48:10 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
18 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#67686
No description provided.