How To Run Zwift on Linux

Getting Zwift to run on Linux was a journey I started just over a year ago. I didn’t get very far with my effort, but since then a lot of progress has been made by the Wine developers and others in the community, and Zwift is now (mostly) playable on Linux. I’ll admit there are some workarounds required, like having to use the Zwift Companion app to connect sensors. But on the whole, it works well. So I wanted to summarise the process for anyone who wants to try it for themselves.

I’m using Lutris, a gaming client for Linux, to script out all the steps needed to make games playable on Linux. If you’ve never used it before, I’d really recommend it for gaming on Linux in general. First things first, you’re going to have to download and install Lutris for your Linux distribution. Thankfully Lutris has a great help page explaining how to do this for most distributions.

Installation

Once you’ve got Lutris installed, installing Zwift is pretty easy. In Lutris search for Zwift, select the only result, and click the “Install” button to start the installation process. You can also start the installer from the command line by running lutris install/zwift-windows.

This might take a while, and depending on your Internet speed could be anywhere from 10 minutes to around an hour.

Once the Zwift launcher has finished downloading and updating, we’ve hit the first hurdle that can’t be scripted with Lutris.

Zwift on Linux - Part Two

The launcher will appear as a blank white window. Actually, the launcher is displaying a web page, but Wine can’t render properly. Thankfully all the files are already downloaded, so all you need to do is quit the launcher window, and exit Zwift from the Wine system menu. After that, the Lutris installer should complete.

Running Zwift

Zwift requires the Launcher to be running all the time while in-game. However, Lutris only allows 1 application to launch from the “Play” button. So before you hit the play button, first you need to click “Run EXE inside wine prefix” and browse to drive_c\Program Files (x86)\Zwift\ZwiftLauncher. You should see that familiar blank white screen.

Finally, you can hit the “Play” button and Ride On 👍

Zwift on Linux - Part Three
Jamie Magee
Jamie Magee
Jamie is an avid triathlete and all-round geek. When he's not swimming, cycling, or running you'll find him tinkering with some code.

69 COMMENTS

Subscribe
Notify of
guest

69 Comments
Oldest
Newest Most Voted
mike
mike
5 years ago

I really enjoy linux and its many varints on the Raspberry Pi.
Im hoping zwift finds its way to nvidia shields sometime soon.

andre
andre
5 years ago

Thanks for sharing it, I have a laptop with Ubuntu installed and really wanna stop using my iphone to run zwfit. Did you know how many devices can be paired using companion app?

Carl J
Carl J
4 years ago
Reply to  andre

The companion app can pair power, cadence, and trainer all at the same time

Strobes27
Strobes27
5 years ago

I just read a similar how to on slowtwitch the other day. Any chance that was written by the same person?

Thanks a lot for this!

One issue on my side with zwift on linux: my pc gets very hot. So hot that I have to stop after 5 minutes otherwise I fear that something gets damaged. Spec wise it should not be an issue. Any idea what might be the problem?

David Cooper
David Cooper
5 years ago
Reply to  Strobes27

Could be your cooling fan has conked out.

Andy
Andy
5 years ago

I have been using Zwift on Debian via Wine since the start of lockdown. I have to type 3 commands across 2 terminals to get it to run but have no other issues. I seem to have less problems than those trying to us it with Apple products.
The only thing that frustrates me is when you save you have to re-launch whereas Windows takes you back to that webpage which Wine can’t render.
I pair 3 things with the companion App and have no issues with an overheating laptop.
Oh, USB support in Wine would be great…

Marty Henderson
Marty Henderson
5 years ago

Nicely done! What’s your hardware setup and what sort of frame rates are you getting?

David
David
5 years ago

We need to get Zwift on Stadia or any other streaming gaming platform. Then we will get rid of Wine and all the portability problems we face in Linux with games. I wish this could be an option.

nathan
nathan
5 years ago

Yea having tos companon app to pair sensors is a bit crap but it works

Mike Elder
Mike Elder
5 years ago

Obvious question…. Why?!

Yatesmyth
Yatesmyth
5 years ago
Reply to  Mike Elder

Bluetooth functionality doesn’t work in Wine.

Tim
Tim
5 years ago
Reply to  Mike Elder

Obvious question…. Why what ? Zwift on Linux, thought that might be easy to comprehend (it’s a widely used platform in the tech, VFX and graphics world, becoming more popular in the end-user gaming one) – so something else more specific ?

Evo
Evo
5 years ago
Reply to  Mike Elder

Why what?

BobS
BobS
5 years ago
Reply to  Mike Elder

Why not?!

Sam
Sam
5 years ago

That’s a fantastic Howto, Thanks for sharing this !

Colin Peerman
Colin Peerman
5 years ago

Why go thru all that ballache, for no gain at all?

GMan
GMan
5 years ago
Reply to  Colin Peerman

Because some of us don’t use windows or mac, so it is actually a “gain” of being able to zwift over not being able to.

Tim
Tim
1 year ago
Reply to  GMan

Buy a $100 Windows PC

DTopWiggy
DTopWiggy
1 year ago
Reply to  Tim

or save $100 and have a little fun?

Pete Watson
Pete Watson
5 years ago

Is there any way to pair ant+ sensors via the companion app? I’m having no luck (using android phone).

Carl J
Carl J
4 years ago
Reply to  Pete Watson

Not all Android phones support ANT+
https://www.thisisant.com/consumer/ant-101/ant-in-phones

matt
matt
5 years ago

Hey, thanks for putting together the how-to. I’ve got Lutris installed and the Zwift install seems to have worked but after clicking ‘Run EXE inside wine prefix’ and getting the blank screen, I click ‘Play’ and get ‘zwiftapp.exe is not responding’ before it dies. Any ideas on how to troubleshoot? I’m unfamiliar with Lutris and Wine so any tips on where to find logs or anything else to try is appreciated!

matt
matt
5 years ago

https://forum.slowtwitch.com/forum/Slowtwitch_Forums_C1/Triathlon_Forum_F1/Zwift_running_on_any_Linux_Distro_P6811732/?search_string=lutris#p7347982

Seem to have found the answer here, export MESA_GL_VERSION_OVERRIDE=3.1 in the terminal, then launch lutris from the same terminal and do the whole launch from wine then play thing. I’ve got integrated graphics, along the lines of what the forum poster mentioned.

Jonathan Gagnon
Jonathan Gagnon
5 years ago

Maybe someone can help me with this. Try to install Zwift from Lutris but when update page prompt its seem it cannot get internet connection? I try a another method with Wine and the same problem. Maybe I miss something in procedure?

Jonathan Gagnon
Jonathan Gagnon
5 years ago

Ok I’m good finally installed it with update

bikingyom
bikingyom
5 years ago

Thanks for this amazing tutorial! Works fine by me, is there a way to avoid typing my zwift password everytime I launch it?

Roshan Mani
Roshan Mani
5 years ago

Has this broken with the latest update from zwift?

Jonathan Crissey
Jonathan Crissey
5 years ago
Reply to  Roshan Mani

Seems like it, I keep getting an error about .net 4xxx required, tried to update the installer and got it installed but when I try to hit play after running from prefix it say specified process cannot be found

Jonathan Crissey
Jonathan Crissey
5 years ago

I got it working after changing the config to use the 64 bit run from process exe

Jonathan Crissey
Jonathan Crissey
5 years ago

Check my draft installer script on lutris

Eicke Hecht
Eicke Hecht
5 years ago

How can I get it to work now. Where can i find the draft installer?

Eicke Hecht
Eicke Hecht
5 years ago
Reply to  Eicke Hecht

The exact error message i get is:
ZwiftLauncher.exe
To run this application you first must install one of the following versions of the .Net Framework
v4.0.30319
Contact your application publisher….

Jonathan Crissey
Jonathan Crissey
5 years ago
Reply to  Eicke Hecht

the draft installer is on the lutris site

Roshan Mani
Roshan Mani
5 years ago
Reply to  Eicke Hecht

See if you can get an old version of Zwift installer, which has the ZwiftLauncher.exe dated 5/Sep/2019. Just use that and let Zwift normally update the game components through that package.

Roshan Mani
Roshan Mani
5 years ago

I went back to the original ZwiftLauncher.exe dated 5/Sep/2019, and everything started working again.. Have archived an old copy of the install package for if/when this happens again..

georgecharron
georgecharron
4 years ago
Reply to  Roshan Mani

Hi , could i get access to the old launcher?

Dupont gérome
Dupont gérome
5 years ago

Hello, can you précise your solution plz ? thx

Dimi
Dimi
5 years ago

I get a Zwift error just after the installation and then an alert that the required process was not found

Dimi
Dimi
5 years ago
Reply to  Dimi

ok I fixed that by changing the wine version but now I have another problem with javascript: fixme:msctf:InputProcessorProfileMgr_GetActiveProfile

Eric
Eric
5 years ago
Reply to  Dimi

What version did you change to? Stuck with same issue.

Dimi
Dimi
5 years ago
Reply to  Dimi

all good finally but it can’t find my hammer 🙁

Eric
Eric
5 years ago
Reply to  Dimi

As I understand it, you have to use the companion app on your phone to sync with sensors since Bluetooth support in Wine is currently pretty weak.

Bo Li
Bo Li
5 years ago
Reply to  Dimi

you might be using the x64 system as I am.

  1. Go to choose the “Config” option by clicking on the arrow near the “Play” button
  2. “Game options” tab
  3. “Executable” -> browse -> choose the “RunFromProcess-x64”
  4. “Save” and “Play”

It might work.

Roshan Mani
Roshan Mani
5 years ago

While running Zwift this way works well for me, stopping the game after a ride causes some Wine error and I have to kill the process. Is there any way to get a clean shut-down as well?

lirit
lirit
5 years ago

Hi,
I followed all the instructions till “Finally, you can hit the “Play” button and Ride On 👍”
my machine gets me out this error: RunFromProcess/ Cannot find the specified process

the terminal shows this: ERROR: ld.so: object ‘/usr/$LIB/libgamemodeauto.so.0’ from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

Kishan
Kishan
5 years ago
Reply to  lirit

were you able to solve?

Alex
Alex
4 years ago
Reply to  lirit

I ran into the same problem. I solved it by changing the executable to the x64 version as shown here: https://www.youtube.com/watch?v=XEGkKoJBYHY

Next step: getting bluetooth to work.

Thanks for the tutorial, another reason to boot windows is gone 🙂

skov
skov
4 years ago
Reply to  Alex

got it working by enable x64. next

  1. no sound
  2. ant+ dongle not recognized

has anyone run into these issues and found solution

Danny
Danny
5 years ago

Just adding two issues that I had and the fixes. 2 Is only related to sophos av, if you don’t use it dont bother reading.

  1. White screen and not launching from Lutris once selecting the .exe required for “Run exe inside wine prefix”. My solution was just to change the config to run the -x64.exe instead of the default 32bit that was selected. Arrow on the right hand side of “Play” Select “Config > Game Options > Update the “Executable” path to the x64.exe. Didn’t seem obvious to me at first but I hadn’t used wine or lutris in the past.
  2. Weird issue I don’t expect many to see but adding it anyway. If you run SophosAV on your machine (don’t ask why I was) you will have issues installing the required wine libs and receive a bunch of lock errors. Just remove or disable Sophos. This may not impact your experience in the game as some of these may not be required but thought I would add it.

Big thanks to Jamie for putting this walkthrough together.

Martin
Martin
4 years ago

I have installed Zwift on Linux Mint. It starts but i can not pair my devices because linux zwift don’t find my Garmin ANT+ USB Stick 🙁 – How can i pair with the ANT+ Dongle

skov
skov
4 years ago
Reply to  Martin

same issue cant pair ant+ dongle and no sound

Carl J
Carl J
4 years ago
Reply to  Martin

Need to pair with the companion app

Roland Broström
Roland Broström
4 years ago

I installed Zwift on Zorin OS16 on a HP Probook 6260b, everything went fine but when I start the app, instead of the spalsh screen showing, the window starts flickering like crazy. Any ideas on how to solve this would be greatly appriciated.

Kim
Kim
4 years ago

For anyone interested i’ve created a docker image of zwift for linux. You need a little bit of technical know how to get this installed. But basically you need a nvidia card, docker, nvidia-container-toolkit.

and then you can build the following docker files at https://github.com/netbrain/dockerfiles.
clone/download the repository and then issue:

docker build -t netbrain/nvidia-wine .
docker build -t netbrain/zwift .

and then finally

docker run –gpus all –privileged -it –name zwift -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /run/user/$UID/pulse:/run/user/1000/pulse

zwift will now be installed, wait for the white screen and press any key in terminal.

Kim
Kim
4 years ago
Reply to  Kim

FYI, now supports multiple graphics cards.

Niels
Niels
2 years ago
Reply to  Kim

Dear Kim,
I just want to acknowledge that your docker image works like a boss. Many many thanks from me to you to make this happen. This would be the last application that makes me close the lid on my laptop with windows on it. I can say that it has been a long journey that now is done. This makes me very happy🙂2 years with Zwift finally on Linux (Mint), not there yet with Gentoo, but close, let U know😎

Best Regards
Niels

G Parks
G Parks
4 years ago

Does anyone have any insight whether the forthcoming ‘January update’ (1.21 iirc) which requires Windows 10 will break most wine versions? I’m running in a 64-bit prefix with Windows 10 emulation set and I am still getting a warning I should (must) upgrade my Windows version.

This could just be a detection issue or bug and I expect it’s quite likely that Wine can run Zwift 1.21 fine, assuming the detection issue doesn’t stop the process.

I mean, it would be even better to get a native Linux version. Microsoft does it with some of their programs.

I’ve seen a lot of pseudo-insulty things about people running computers that are ‘ancient’ or being ‘afraid to update’ to Windows 10 in other forums which I consider basically non-responsive deflections. If Zwift can run on mac or android phones and hardware it should be technically possible to run on *nix and anything like modern hardware.

I’m really quite concerned the Zwift-via-wine band-aid might be about to be ripped off and will be annoyed to have to deal with this suddenly in January if it proves true.

Anyhow, it would be good to make the Zwift team aware some of us like/prefer/need to be able to run this on linux setups (secure, modern systems with capable hardware) and/or that we would like some testing and communications on this too please.

Charly
Charly
4 years ago
Reply to  G Parks

Hello, i have the same message on Zwift on my Unbuntu PC!!
I have config Wine with 64 prefix and windows10.
I’m 100% with you for to tell Zwift that a linux version should be developed

Last edited 4 years ago by Charly
Gregor Skrt
Gregor Skrt(@gregorskrt)
4 years ago

I’m glad it works on Linux. I can’t imagine dual booting just to run Zwift. And yeah it works great…no glitches. Maybe only drawback is that you have to launch ZwiftLauncher.exe before you run app, that’s manageable and still much better than dual booting whole computer. And like article says, can’t find a way to make a script to sequentially run ZwiftLauncher.exe and then Zwift.

Last edited 4 years ago by Gregor Skrt
Charly
Charly
4 years ago

Hello,

you zwift allways run after new update1.21?
my zwift crach and now impossible install with lutris (or directly with wine)

Kim
Kim
4 years ago
Reply to  Charly

It’s still works on linux even after update 1.21. But I don’t think lutris has updated their installation script. This is the problem with todays linux solution, it easily breaks on zwift updates.

If you want zwift to run in a more stable manner you should look into https://forums.zwift.com/t/no-linux-support-yet/14041/88

It provides a solution to run whatever zwift version that works for you. every version is snapshotted. There might be protocol/api changes to remote servers between versions, and that will certainly break older zwift snapshots. But it’s rare that zwift does this. In any case if the latest zwift version doesn’t work on linux for whatever reason you can always fallback to an older version that works. And since it’s using docker, zwift comes pre-packaged and ready to run, no installation process required.

G Parks
G Parks
4 years ago
Reply to  Kim

Hi Kim,

Thanks for the link that looks interesting. I’m not a huge fan of containerising programs like this but Kion_K comments about how some of the scripts may be useful for tweaking configurations which is worth a look.

As for running as a native app, I can confirm my personal experience that as of 2022-02-02 in a 64bit Win10 wine environment it does not with the Runfromprocess64 that worked for the past ~2.5 years it does not.

I can also confirm that the contingency Lutris install I had working for the past 6 months on a different system also no longer works.

I have been readying to migrate away from Zwift since it started throwing (incorrect) Windows version errors in early December. This whole thing has taken away joy and unfortunately had me on my bike less and less inclined to ‘invest’ in the platform.

I don’t really think docker images are the way forward here but I appreciate other people are struggling and if any of these workarounds are reproducible that would be great news.

Kim
Kim
4 years ago
Reply to  G Parks

Feel free to try to install zwift in the same manner that my entrypoint.sh does, if that doesn’t work for you for a native install. Then I would suggest trying my container solution https://github.com/netbrain/dockerfiles/tree/master/zwift). And out of curiosity, for what reason are you not a fan of containers like this?

Stephen Palfreyman
Stephen Palfreyman
3 years ago
Reply to  Kim

Hi Kim,
Thank you so much for putting the effort in to containerising zwift, I am so happy that I can finally run zwift on ubuntu!! I used to dual-boot which is really annoying when you just want to jump on zwift at lunch time but have lots of windows open that you don’t want to lose (plus using windows only for zwift normally means you need to switch to windows an hour before your ride to get all the updates done!). I gave up on that so I’ve just been using my phone which is far from immersive! I couldn’t get zwift working on wine or lutris so you’ve really made my day as I got your container working in a few seconds!

yuval
yuval
4 years ago

hi
i install on ubuntu lutris and in install zwift
when i play i got dialog box “cant find process …” and it exit in consule i see error code.

any idea?

NHiplus
3 years ago

I am using scrcpy to mirror the screen of my android phone to my Ubunto 22.04 laptop. That works fine for me, big screen, great resolution. The phone charges over the USB port, so after training I still have a full battery.

Michael
Michael
2 years ago

Hello all,

I hope I will found some help here. I install Lutris, search for Zwift and install 1.30.1 version. During installation I get these error and I don’t know what to do here.

Started initial process 169 from /home/michael/.var/app/net.lutris.Lutris/data/lutris/runtime/winetricks/winetricks –unattended dotnet20 win10
Start monitoring process.
——————————————————
warning: Your version of wine 5.0.r0.g3ac1519f is no longer supported upstream. You should upgrade to 7.x
——————————————————
——————————————————
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
——————————————————
——————————————————
WINEPREFIX INFO:
Drive C: insgesamt 32
drwxr-xr-x 7 michael michael 4096 14. Okt 09:48 .
drwxr-xr-x 4 michael michael 4096 14. Okt 09:48 ..
drwxr-xr-x 3 michael michael 4096 14. Okt 09:48 ProgramData
drwxr-xr-x 6 michael michael 4096 14. Okt 09:47 Program Files
drwxr-xr-x 6 michael michael 4096 14. Okt 09:48 Program Files (x86)
drwxr-xr-x 4 michael michael 4096 14. Okt 09:48 users
drwxr-xr-x 18 michael michael 4096 14. Okt 09:48 windows
-rw-r–r– 1 michael michael 9 14. Okt 09:47 .windows-serial

Registry info:
/home/michael/Games/zwift/system.reg:#arch=win64
/home/michael/Games/zwift/userdef.reg:#arch=win64
/home/michael/Games/zwift/user.reg:#arch=win64
——————————————————
——————————————————
warning: /home/michael/.var/app/net.lutris.Lutris/data/lutris/runners/wine/lutris-5.0-x86_64/bin/wine cmd.exe /c echo ‘%AppData%’ returned empty string, error message “”
——————————————————
Monitored process exited.
Initial process has exited (return code: 256)
All processes have quit
Exit with return code 256

Chris
Chris
1 year ago

I know this is 5 years old but i have a zwiftluancher.exe and zwiftlauncherexe.config. Anyone have any updated info?

Leon Uppena
Leon Uppena
3 months ago

Hi all, I know this topic is quite a few years old, but I need some help: I have successfully installed Zwift on Linux Mint (22.3), and it works just fine. But I can´t connect any devices through my phone. The phone symbol in the Zwift game app in Linux shows there shoul be a connection, but my Zwift companion app simply tells me there are no bluetooth connections. Both my laptop and my phore are on the same WiFi network, and I have logged in to both apps with the same user. Yes, I could use my small tablet, but I would certainly prefer to use Zwift on my laptop. Are there any tips or help you can share with me how to solve this problem?

Get Started on Zwift

Newest Featured Posts

Support This Site

Write a post, shop through us, donate or advertise. Learn more

NEWSLETTER SIGNUP

Zwift tips and news every 2 weeks! Click to subscribe.

More Posts