Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for newer 3DConnexion Devices in MacOS #146

Closed
steffenxx opened this issue Dec 16, 2022 · 69 comments
Closed

Support for newer 3DConnexion Devices in MacOS #146

steffenxx opened this issue Dec 16, 2022 · 69 comments

Comments

@steffenxx
Copy link

Apparently there is no 3DConnexion support implemented in the ARM version like in the x86 version. Is this planned?

@luzpaz
Copy link
Collaborator

luzpaz commented Dec 20, 2022

Please open discussion on the forum and x-post back here

@steffenxx
Copy link
Author

https://forum.freecadweb.org/viewtopic.php?f=3&t=74534

@steffenxx
Copy link
Author

I have already opened a discussion on 17 Dec. (See link) Unfortunately, so far without success.

@adrianinsaval
Copy link
Member

adrianinsaval commented Jan 17, 2023

for clarity this issue is in relation to the macOS arm version, in the forum @looooo mentioned that we needed a download link for an ARM driver, looking here: https://3dconnexion.com/us/wp-content/uploads/sites/27/2023/01/Release_Notes-Mac-20230109.pdf it seems they have ARM support since January 2022, from version 10.7.0 if I'm reading it correctly, currently we are using the older 10.6.6 so it might work by just switching to the latest release: https://download.3dconnexion.com/drivers/mac/10-7-4_C5CD2A0D-58B6-4A8F-AFD1-54D5EB1BD29C/3DxWareMac_v10-7-4_r3493.dmg

they don't mention separate files for each architecture in their download page so I think the same bundle includes both (I've heard this is possible in macOS)

@steffenxx
Copy link
Author

steffenxx commented Jan 18, 2023

I have been struggling with this problem for much longer and unfortunately there is no continuous development of FreeCAD in terms of 3DConnexion support. Maybe there are not enough Mac users with such devices.

The current, very unsatisfactory state is that:
The only working combination of 3DConnexion driver and FreeCAD is the driver version v10.7.0 and FreeCAD for x86 MAC. All older and newer drivers do not work with the current FreeCAD MAC x86 builds either.

With FreeCAD for ARM, I have not been able to get the SpaceMouse to work with any driver version from 3DConnexion. Not even with the new one from his post.

I think this is totally crazy, the only working driver is the beta driver v10.7.0 that was available after the release of BigSur. At that time all older drivers could not be installed under BigSur.

@adrianinsaval
Copy link
Member

It's not about you updating the driver, we need the correct driver at compile time

Maybe there are not enough Mac users with such devices.

More importantly, there aren't many developers using macOS to begin with then I don't know of someone using 3d mouse plus they'll have to ve using arm... It's a very niche case
@chennes do you happen to have a 3d mouse to try and get it working on your Mac?

@steffenxx
Copy link
Author

I understand that. Since Apple no longer builds x86 Macs, the ARM version will become more and more important in the future. Is there anything I can do to help ?

@adrianinsaval
Copy link
Member

Can you confirm that the link I posted contains a driver for the ARM architecture too?
Are you able to build FreeCAD in your machine in order to test it?

@chennes
Copy link
Member

chennes commented Jan 18, 2023

I don't own one, but TBH I have been pondering their merits for some time. Maybe this can be my excuse 😄 . Which one should I get?

@steffenxx
Copy link
Author

I use the Space Mouse Wireless and the CAD Mouse Wireless. There was once a bundle to buy. I find the handling of the devices very good.

@steffenxx
Copy link
Author

Can you confirm that the link I posted contains a driver for the ARM architecture too?
Are you able to build FreeCAD in your machine in order to test it?

The release notes do not explicitly mention the ARM architecture. There is only a reference to the macOS version and the supported devices. But I can say that all versions since 10.7.0 basically run on MAC Studio and are supported by products like Prusa Slicer.

I do not have a development environment installed. What would I need to create a FreeCad build?

@adrianinsaval
Copy link
Member

adrianinsaval commented Jan 18, 2023

Hard for me to answer since I'm not a mac user, in the interest of testing as closely to our packaging environment it would be ideal for you to build on a conda environment, perhaps looo can provide better instructions.
My understanding is that you need to install conda, then create an environment for FreeCAD, install all it's dependencies and then you can build it inside that environment. Have look at https://wiki.freecad.org/Conda and here: https://github.com/looooo/freecad-feedstock/blob/d5cb2fd87de08e5b29b2ab4cd07448cefb6d898a/recipe/meta.yaml#L50-L95 for the dependencies and here: https://github.com/looooo/freecad-feedstock/blob/development/recipe/build.sh for a reference on building it, you would need to adapt the download link for the driver and remove the if statement that makes that exclusively used on intel architecture

@looooo
Copy link
Contributor

looooo commented Jan 19, 2023

if you want to build freecad locally and want to test things it's best to use conda debug. So you first get the freecad-feedstock repo, then you cd into the feedstock repo and call conda debug . -m .ci_support/osx_arm64_python3.11.____cpython.yaml. At the end of this step there are some commands printed which you have to copy and paste to activate the build-env. Once the build env is activated you can call the script to build freecad (bash conda_build.sh)

if you want to use your own branch you need to change the directory in the conda_build.sh file.

@steffenxx
Copy link
Author

steffenxx commented Jan 21, 2023

Thanks for the tips. I'm afraid this is a bit beyond what I can do, not being a developer myself. I was hoping that 3DConnexion support could be implemented in the ARM version in the same way as it is already in the x86 macOS. I currently have both versions on my Mac. With the current x86 version the SpaceMouse works, with the latest ARM version not at all. I wonder what I would have to do if I were to install the development environment on my machine? I would not be able to build the 3DConnexion support myself. My offer of help was rather aimed at that I would test versions if necessary. I would also donate a few EUR's via PayPal to a developer if he buys the devices and builds a full ARM version.

@chennes
Copy link
Member

chennes commented Jan 21, 2023

I've ordered one, it should get here this week. I don't know if I'll get a chance to work on this before FreeCAD Day/FOSDEM, though, so there will be a bit of a delay.

@looooo
Copy link
Contributor

looooo commented Jan 22, 2023

hey @chennes, I will be also at FOSDEM, maybe we can work on this if there is some time.

@chennes
Copy link
Member

chennes commented Jan 23, 2023

@looooo do you have an ARM laptop? Mine is a desktop, so though I could bring the SpaceMouse, I can't easily bring the M1 :).

@looooo
Copy link
Contributor

looooo commented Jan 23, 2023

Yes I have a M1 laptop which I bring with me.

@steffenxx
Copy link
Author

Is there already anything new ? :-)

@chennes
Copy link
Member

chennes commented Feb 18, 2023

Well, I now have a SpaceMouse sitting next to my M2 laptop... I have the driver installed, but have not yet had a chance to see why it doesn't work in FreeCAD.

@steffenxx
Copy link
Author

It is already good that my problem can be reproduced. As I wrote above, my last working combination of driver and FreeCAD on macOS is FreeCAD for x86 and the old driver version V10.7.0.

@chennes
Copy link
Member

chennes commented Feb 18, 2023

Are you self-compiled, or using one of the pre-built binaries?

@steffenxx
Copy link
Author

I use the binaries from this site.

@chennes
Copy link
Member

chennes commented Feb 18, 2023

It's very strange, all of the setup code is working fine, we are making connection to the 3DConnexion daemon and connecting to its events, but the function that is supposed to be getting called just never is. I tried to take a look at how PrusaSlicer does it, but they use a totally different technique, apparently not using the 3DConnexion API at all (??).

@chennes
Copy link
Member

chennes commented Feb 19, 2023

Well, the good news is that it can be made to work: I have a functional self-compiled spacemouse-enabled version on my M2 right not. The bad news is, I don't know why it's not working on the downloadable bundle. @looooo any clue here?

@adrianinsaval
Copy link
Member

as I understand it the current conda build script is completely skipping building this for arm right now:
https://github.com/looooo/freecad-feedstock/blob/b749bd16e65e7caac430aa88699464e693bfc206/recipe/build.sh#L26-L47

the script has to be updated to download the newer driver and compile this stuff for arm too

@steffenxx
Copy link
Author

steffenxx commented Feb 19, 2023

Well, the good news is that it can be made to work: I have a functional self-compiled spacemouse-enabled version on my M2 right not. The bad news is, I don't know why it's not working on the downloadable bundle. @looooo any clue here?

But it sounds like there will be a downloadable solution for an ARM version with 3DConnexion support soon. Great :-)

@looooo
Copy link
Contributor

looooo commented Mar 5, 2023

does anyone know which version is osx-arm compatible?
https://3dconnexion.com/de/archived-drivers/

@chennes
Copy link
Member

chennes commented Mar 5, 2023

I was able to use the latest version from their website, 10.7.4, on my M2.

@steffenxx
Copy link
Author

Well, the good news is that it can be made to work: I have a functional self-compiled spacemouse-enabled version on my M2 right not. The bad news is, I don't know why it's not working on the downloadable bundle. @looooo any clue here?

Would it be possible for you to provide me with your working version? It would make me very happy.

I like FreeCAD very much, but I also like my MAC. I am a bit disappointed that the last x86 version was updated 2 days ago and the ARM version was last updated on Jan 7.. Apple Silicon processors are the new standard for MAC's I hope FreeCAD will soon be maintained for the ARM processor by default.

@steffenxx
Copy link
Author

Quick test :-) FreeCAD starts on a Mac Studio, my 3DConnexion devices (SpaceMouse) is directly supported. Files can be opened and creating a MESH is really fast in this version. You are my hero. Thanks a lot

@DanielPa
Copy link

@steffenxx did you install a specific version of the driver? On MacBook Pro a quick try did not work with my SpaceMouse Compact 😕

@steffenxx
Copy link
Author

yes, 3DWare 10.7.0. This is the last driver that worked with FreeCAD. All the following drivers have never worked.

@DanielPa
Copy link

Awesome! Just works like charm ❤️
Driver Archive of 3Dconnexion

@Kurdie2023
Copy link

Thank you so much, Adrian. It works great! Might there be a way, that it will also work with the current 3Dconnexion driver version? I need the current version due to some other applications...

Is there a way to install this freeCAD version "permanently". Every app start I have to got to the settings to allow it.

Thanks!!

@adrianinsaval
Copy link
Member

adrianinsaval commented Jun 28, 2023

What version of the driver? I need a direct link for download and I can make a bundle so you can test, but other people reported that later versions of the driver didn't work, there isn't much I can do since I don't have neither a mac nor a 3d mouse.

About permanent installation, I have no idea, consider asking for help on the forum or google search about it.

@Kurdie2023
Copy link

Hi Adrian,
Sorry for the late answer.
I just downloaded the 0.21 version for mac M1 from the website (build 33675). Unfortunately it says „No Spaceball Present“, with both driver version (10.7.0 and current version 10.8.1).

Please find the link to the current driver version below:
https://3dconnexion.com/de/drivers/

Is your adaption not implemented into this build?

Thank you!!!

best regards,

Rouven

@biogoo
Copy link

biogoo commented Aug 8, 2023

Confirmed - my 3Dconnexion device is not working on my M1 mini with the 0.21.0-33675 arm64 build, but does work with the intel build (the github variant, since the version on the download page fails with a Rosetta error on launch as per https://forum.freecad.org/viewtopic.php?t=80126)

@ancher1912
Copy link

ancher1912 commented Aug 15, 2023

The FreeCAD_weekly-builds-33798-2023-08-13-conda-macOS-x86_64-py310 in combination with 10.8.1 of 3DxWare recognises the mouse (the configuration stuff appears in the Customise menu). However, the mouse itself is still not working...

[edit]
The usual trick of reverting to 10.7.0 of 3DxWare solves the problem...

@Shed2000
Copy link

Hi Adrian, Sorry for the late answer. I just downloaded the 0.21 version for mac M1 from the website (build 33675). Unfortunately it says „No Spaceball Present“, with both driver version (10.7.0 and current version 10.8.1).

Please find the link to the current driver version below: https://3dconnexion.com/de/drivers/

Is your adaption not implemented into this build?

Thank you!!!

best regards,

Rouven

What version of the driver? I need a direct link for download and I can make a bundle so you can test, but other people reported that later versions of the driver didn't work, there isn't much I can do since I don't have neither a mac nor a 3d mouse.

About permanent installation, I have no idea, consider asking for help on the forum or google search about it.

Hi Adrian

I am running 0.21 on M2 Mac with 3Dconnexion driver 10.8.1. which reports "no spaceball present." Do you have a build that works available?
seems to be a dead link now?
I am new starter on FreeCAD, which looks very impressive, unfortunately I am so used to using a space mouse on CAD packages that I find it incredibly difficult to work without one! Many Thanks.

@adrianinsaval
Copy link
Member

The build was made with version 10.7.0 of the driver since users had reported that newer versions didn't work. Please try using that version of the driver

@Shed2000
Copy link

Hi Adrian
Thanks I will revert back to 10.7.0. Could you resend a link to the build you made for this version as the one you posted seems to be dead now? Thanks

@Shed2000
Copy link

freecad-0.22.0-33981 working with 10.7.0 !!!

@Kurdie2023
Copy link

Where can I get this version?
Thanks!

@Shed2000
Copy link

Shed2000 commented Sep 1, 2023

Kurdie,
I found it in the weekly builds 2023-08-24 but I can't see it there now!

@Shed2000
Copy link

Shed2000 commented Sep 1, 2023

@Kurdie2023
Copy link

Hi all,

is there still no solution to use the 3D Connexion Spacemouse with the current official FreeCAD built and the current Connexion Driver?

Thanks!!

@steffenxx
Copy link
Author

I opened the case back in Dec 2022, since then there is always a version that works with the SpaceMouse and then again not. In the last developer versions the mouse always worked, which is nice. However, only with an old beta driver from 3D Connexion, which they had provided as a pre-release version for BigSur. I have given up hope that an "official" version of FreeCad for Silicon Macs will ever work with a current version of a 3D Connexion driver. I suspect that none of the developers use a Mac. Please don't get me wrong, I am grateful that FreeCad exists. But the day will come when the ancient driver will no longer work with a current MacOS.

@adrianinsaval
Copy link
Member

current versions use driver version 10.7.0, does that work for you?

@steffenxx
Copy link
Author

yes, it works :-) Both with the stable version and with the latest weekly build. Many thanks for the support. Why does it not work with newer versions of 3D Connexion driver? Are they so fundamentally different?

@Kurdie2023
Copy link

Hi adrian and steffen,

sorry for the wrong info. I just downloaded the current freecad version from the website and the spaceball works great with the driver 10.7.0. Very nice! If it would be now possible to use it with the current 3D connexion driver, that would be amazing!
Thank you all for your great jobs!

Best regards,
Rouven

@adrianinsaval
Copy link
Member

It might actually work with newer drivers after FreeCAD/FreeCAD#11753 which IIRC was backported to 0.21.2, but I didn't update the builds to use 10.8.2 yet because I don't really want to help apple with planned obsolence as those newer drivers don't support older versions of macOS, for the arm build it might make sense to go higher as I think they haven't dropped support for any hardware in that architecture yet.

@adrianinsaval adrianinsaval changed the title Support for 3DConnexion Devices in MacOS ARM Version? Support for newer 3DConnexion Devices in MacOS Jan 19, 2024
@stefanvaduva
Copy link

I can confirm that the latest weekly build works on an m1 mac with osx 14.2.1 and 3dxware 10.8.3

@ancher1912
Copy link

Same on my Mac. M1 with OS X 14.3 and 3dxware 10.8.3 (3692). Working like a charm... :-)

@Kurdie2023
Copy link

Hm, do I miss something? I have OSX 14.2.1 installed on a Macbook Pro with M1Pro, with newest 3dxware 10.8.3 and FreeCAD built 33771. The mouse is detected by FreeCAD but the model doesn't move.

@JohnOCFII
Copy link

Hm, do I miss something? I have OSX 14.2.1 installed on a Macbook Pro with M1Pro, with newest 3dxware 10.8.3 and FreeCAD built 33771. The mouse is detected by FreeCAD but the model doesn't move.

Lastest development weekly version for FreeCAD is 35735. You appear to be quite a ways behind: (again - this 3DConnexion support is in the development version of FreeCAD, not the release version, as far as I understand it) https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds

@ancher1912
Copy link

John is correct. I tested against the development version 35735. This one works fine for me.

@Kurdie2023
Copy link

Sorry, that was stupid. It works now!! Thank you!

@chennes chennes closed this as completed Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests