8

My university acquired a very specialised device, and in order to control it I need my computer to have the appropriate driver. However, the company manufacturing the device only provides a driver for windows, and I am using a macbook running the latest macOS version. Is it possible to somehow install the driver without having to ialso install windows on my computer?

16
  • 1
    The current version of macOS only works on Apple silicon, which at it's core is ARM hardware, while the Windows drivers you want to use only support x86-64. I would normally suggest running a VM, but there is no legal way, to run Windows 10 on ARM on Apple hardware since there is no legal way to purchase Windows 10 on ARM without purchasing a qualifying device.
    – Ramhound
    Commented May 2, 2023 at 14:02
  • 6
    @Ramhound - The current version of macOS works just fine on Intel or Apple Silicon. Windows on ARM is perfectly possible to run legitimately on Apple Silicon too. support.microsoft.com/en-us/windows/… Windows on ARM usually does a decent job of emulating X86-64.
    – Tetsujin
    Commented May 2, 2023 at 14:27
  • 4
    It really doesn't matter, as far as the OP is concerned. Either way, they're going to have to run Windows to use the driver, whether on Boot Camp or in VM.
    – Tetsujin
    Commented May 2, 2023 at 15:06
  • 14
    Get your university to buy a Windows PC. They don't have to be terribly expensive nowadays. They are certainly cheaper than Macbooks. Commented May 3, 2023 at 1:13
  • 3
    Can you tell us any more specifics about the device itself and what it does ?
    – Criggie
    Commented May 4, 2023 at 4:15

5 Answers 5

31

No.

At the most basic level, the Mac will have no idea what it is or what to do with it. It won't even install, there's nowhere to put it. The Mac won't even understand what the installer is.
The two operating systems speak completely different languages & there is no simple translator.

To answer the last part of the question directly - you need Windows, either in Boot Camp or a VM [depending on your platform, Intel or 'ARM' Apple Silicon.]

5
  • 3
    NOTE: If driver means Intel kernel driver you can't run it on ARM Windows, ruling out virtualization on Apple Silicon. Windows for ARM cannot emulate kernel drivers, so you would need an ARM kernel driver which are uncommon at this point. Emulating an Intel Windows install would be the only (slower) option. Commented May 3, 2023 at 18:51
  • 1
    Installing drivers in a VM to communicate with connected hardware while the host OS does not understand the device... That's always a gamble. I don't know what the success-rate on Macs is, but with other OS combo's I've given up on that approach.
    – Mast
    Commented May 4, 2023 at 20:04
  • @AlexanderO'Mara - it depends on how you're virtualising & what the VM software can do compared to what the OS can do. Parallels doesn't emulate, so it's ARM only. UTM does emulate, all kinds of things, ARM, PPC [but not GPU]… Try it & see.
    – Tetsujin
    Commented May 5, 2023 at 6:55
  • UTM just happens to be able to do both virtualization (VM) or emulation (which isn't a VM unless you use the term loosly). It won't help you emulate an x86 driver inside an ARM VM though, so it's likely you will need to emulate the whole machine. Commented May 5, 2023 at 15:17
  • @AlexanderO'Mara - UTM doesn't need the installed guest OS to be ARM-specific. We're still down to … just try it & see. It's not something any of us are going to be able to test as we don't have the first clue what the hardware is or what driver it may need. The OP will have to do it.
    – Tetsujin
    Commented May 5, 2023 at 15:21
22

Not directly.

The reasons why are complicated and probably not at all interesting to you given that you’re asking this question at all.

But depending on the device, a virtual machine running Windows may work.

It is increasingly common that ‘specialized’ peripherals just connect over either plain USB (that is, not a USB-C alt mode and not Thunderbolt) or a routable network connection (usually an IP link over either Ethernet or WiFi). Aside from being easier to work with and less dependent on specific hardware, devices like that have a rather distinct advantage in that they are often trivial to use from a virtual machine.

If the device in question connects in such a way, then it’s extremely likely that you can just set up a virtual machine on your Mac running Windows (as opposed to having it installed ‘natively’), configure appropriate device pass-through behavior, and then use the drivers in the VM.

8

Your mileage may vary.

While the first thing that comes to mind in regard to device drivers is a small, device-specific and platform-specific piece of software that abstracts the device peculiarities to the operating system, this is not always the case.

  • E.g. a lot of printer drivers are in fact a single file stating the printing language used (PostScript + version, PCL + version) and the printer capabilities (single/double sided, resolution, black/color, etc). For the postscript-type printers, these PPD files are pretty much universal between Windows, Linux, MacOS, etc. Installing a bare PPD in Windows is not really trivial so the driver usually comes with a program that installs it (and also installs a bunch of useless bloatware as well), but with some knowledge the file could be extracted from the package and used across the operating systems.

  • Another hardware manufacturer strategy is to (silently) use a well-established communication protocol and to publish a "driver" that internally refers to an operating system's built-in driver. If this is the case, a careful dissection of the driver package may get the device up and running in another OS. E.g. most of the cell modems are exactly like this.

  • A third possibility is that the manufacturer did not care to create a driver for the platform you like better, but someone else did. A lot of Linux/*BSD/MacOS drivers exist just because someone reverse-engineered the driver for Windows and wrote the one they need. Once a Linux driver exists, porting it to MacOS or BSD (or the other way round) is a lot less work so the probability gets even higher. A great deal of scanners and wi-fi boards are like this.

  • The device may in fact not require "driver" and only a (scriptable) mechanism of getting the data in and out. Measurement logging devices are an example.

  • Some (not many, in fact) device drivers may be used with Wine emulator.

Of course, if everything else fails, one could try using a Windows virtual machine like explained in the other answers.

If you reveal the type, make and model of the device in question, you may get a better advice.

3

No. It is a long time since I wrote any devices drivers (3rd quarter of the previous century), but the code was very machine specific. I wrote for the idiosyncrasies of my hardware, and didn't worry about anything else. Two thoughts come to mind, however:

  1. Does your device talk anything vaguely standard, such as USB, so you could interface crudely, and maybe worry about the idiosyncrasies yourself?
  2. Have you investigated whether there is perhaps a Python or R library for controlling the device? Maybe on Github? I find it is rare for me to be the first person on the planet who has tried to get whatever-it-is to work.
2

There is at least 1 NDISWrapper port for MacOS, so the answer is a strong maybe, providing it is a network driver. We are talking of years gone by when we speak of this so what applies today may not work.

Your best bet is to go back to the Vendor of this specialised device and ask them. They may have a "not ready" driver thay can give you under the table.

1
  • 2
    It would appear this only worked for WDM drivers, not WDF, so went out of fashion about 2006, along with WinXP. Last Mac port was 2005.
    – Tetsujin
    Commented May 3, 2023 at 8:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .