Skip to content

Instantly share code, notes, and snippets.

@diegorodrigo90
Last active April 26, 2025 17:13
Show Gist options
  • Save diegorodrigo90/2be8213f3dab0583446f6cf52d397d30 to your computer and use it in GitHub Desktop.
Save diegorodrigo90/2be8213f3dab0583446f6cf52d397d30 to your computer and use it in GitHub Desktop.
Installing garmin express in linux with wine

First we start by creating a wineprefix and installing our prerequisites from terminal:

WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks dotnet452 vcrun2010 corefonts
WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks win7

Note: You will be prompted during the setup for .NET installation just hit next and finish. Also, I like to seperate win7 after the prerequisites are setup to make sure the wineprefix runs in Windows 7 mode.

With that out of the way we need to download and install our GarminExpress.exe Setup executable. I downloaded mine from https://www.garmin.com/en-US/software/express

Run the GarminExpress.exe file in our wine prefix

WINEPREFIX=/home/$USER/GarminExpress wine explorer /desktop=garmin,1366x768 /home/$USER/Downloads/GarminExpress.exe

Note: If you downloaded the GarminExpress.exe to another location replace it above

Modify your shortcut to be the following command

WINEPREFIX=/home/$USER/GarminExpress wine explorer /desktop=garmin,1366x768 ‘/home/$USER/GarminExpress/drive_c/Program Files/Garmin/Express/express.exe’

Upon Launch you should see this screen which should recognize your Garmin device

@p2jh
Copy link

p2jh commented Mar 2, 2024

Hello, I am able to install GarminExpress thanks to the solution pointed out above (the main post didnt work for me but I had an old wine version, not sure what did the trick), but my device (Garmin Venu QS 2 Music) is not detected by the software. It does not change when I plug it in the computer before or after I start wine. The watch is automatically mounted as an MTP device and I can access its storage through the filesystem. I've tried to create symbolic links to the wineprefix directory but it doesn't seem to change a thing.
I am clueless as what I need to do, I'm waiting for jmtpfs (more precisely libmtp) team to update their code as the watch is not recognized by libmtp but in the mean time i'm not sure what to do.

@hannesweisbach
Copy link

hannesweisbach commented Mar 18, 2024

Wine does not handle USB devices at all. That's why it is not working. The only thing you can pass through to wine are serial devices/ports.

I think USB MSC instead of MTP could work by passing through the mount point to wine as new drive letter. That should work, but I'm not 100% sure.

@garydale
Copy link

garydale commented Apr 3, 2024

I'm running Debian/Trixie on an AMD64 system. I got GarminExpress to work using cbeley's scripts (which don't work directly as downloaded - they refer to other scripts and also have his name embedded). Anyway, I got it to launch but wouldn't recognize the device. I added the device as a drive using winecfg but that didn't help.

I can see the device and its files from Linux. Interestingly a lot of the folders have a 1979-12-31-date stamp. I know the device is old but these dates don't seem reasonable. Other dates are from 2007, 2008, 2010, 2014, 2019 and 2022, which seem more like how the device was actually used.

I'm not sure why usb should prove to a problem for wine. It seems to me that wine should just be able to recognize the ports directly.

@hannesweisbach
Copy link

My interpretation of https://wiki.winehq.org/Hardware#USB is: If a device has a Windows kernel space driver, wine can pass through device access from the Windows kernel driver to the USB device via libusb. If the application/driver wants to talk to the USB device using winusb.dll: no dice. Mass Storage is a kernel space driver, but not a third party one you can install, but one built into (or shipped with) Windows itself.

I'm wondering if it is sufficient to give wine access to the already mounted drive: https://wiki.winehq.org/Wine_User%27s_Guide#Drive_Settings

@Katzmann1983
Copy link

For me, the "Searching" does not progress and the following log messages are thrown:
0174:err:msi:execute_script Execution of script 2 halted; action L"[2.1\00012\0001{694197DD-97CB-4361-BEDD-D0F41A7BDF3E}\000110\00012\0001ANT Drivers Installer x86\0001Garmin Ltd or its subsidiaries<=>S-1-5-21-0-0-0-1000<=>{F04B96A7-0450-41F2-AFEE-6F4F42CD878A}]MsiRollbackInstall" returned 1603
016c:err:d3d:wined3d_context_gl_update_window Failed to get a device context for window 06E92C88.
016c:err:d3d:wined3d_context_gl_update_window Failed to get a device context for window 000300BC.
0360:err:ole:CoGetContextToken apartment not initialised
0358:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Foundation.Diagnostics.AsyncCausalityTracer"
0400:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Foundation.Diagnostics.AsyncCausalityTracer"
046c:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Foundation.Diagnostics.AsyncCausalityTracer"

@akontsevich
Copy link

Hello again.

I found a solution. The following alteration to the commands resolved the issue:

WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks dotnet472 vcrun2010 corefonts d3dcompiler_47
WINEARCH=win32 WINEPREFIX=/home/$USER/GarminExpress winetricks win7
WINEPREFIX=/home/$USER/GarminExpress wine explorer /desktop=garmin,1366x768 /home/$USER/Downloads/GarminExpress.exe

Thanks! I was able to run GarminExpress this way, however it can't connect to my Zumo XT connected by USB while PC sees it and can browse files on it. Zumo XT in file browsing mode and displays GarminExpress logo. Any ideas? Something still missed? Install something or give wine some rights?

@Alexis-Lapierre
Copy link

I have the same issue than @akontsevich, with the same steps, I am able to mount a D and E drive for the internal and SD storage of the Garmin NAVIGON I have but GarminExpress is not able to detect the device.

@bdefore
Copy link

bdefore commented Dec 4, 2024

For those trying to get Garmin Express to work just to update the OS, note that even if you do, you'll need to create an account in order to connect the device. And their account creation blocks VPN's (at least mine). No way that I can see to update the OS otherwise.

Bought my Epix Pro Gen 2 new and it arrived on version 14 (version 19 is out now). I also can't get MTP to connect. Sorry, Garmin. Not good enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment