Proton vs Wine: Similarities & Differences Explained..!!

If you have just started researching about gaming on Linux then you will come across 2 terms repetitively namely Wine and Proton. You will also find that some places on the web have people defining Proton as simply Wine plus some other software and some others refer to Proton as the new Wine. Elsewhere you can find people saying Wine is better than Proton and you should always go for Wine for dealing with some specific tasks.

In this article let’s try and understand what Wine and Proton are, the relationship between Proton and Wine and their similarities and differences better so that you can understand the purpose of each one and choose the correct tool for a given task. For those of you in a hurry, here is the short version of the answer!

The Short Version of the Answer

The differences can be summarized using the table below.

WineProton
Windows Compatibility layer that helps Linux users to run Windows applications on Linux.Built on top of Wine and is used with Steam to run Windows games on Linux
We need to do all the configurations ourselves.Configurations are done Automatically (only for supported steam Windows games)
Use Wine when running windows applications and games not supported by Protonuse Proton when running steam games that are officially supported to be run on Linux

That is just the short version of the answer, let’s go ahead and look at the longer and more informative version and learn about the stories behind Wine and Proton and so that you can understand which one to choose for the given purpose.

What is Wine?

Before we begin to see the differences let’s first try and understand what Wine really is from a beginner’s perspective.

Need for WINE

If you are a windows user, moving to Linux can be hard since you will not be able to use your favorite Windows apps any longer. Even though there are equivalent apps in the Linux world, users tend to get back to Windows. This is usually due to one of the following 2 reasons

  • Coming to the Linux ecosystem for the first time and changing their entire workday around the Linux OS was already a lot for the beginner level user to handle and learning to work with new apps that they aren’t familiar with can make the entire process too much for them to handle.
  • They could not find any worthy alternatives for the important applications that the users have used in Windows. Let’s face it, Linux does not come with support for productivity apps like MS Office, Adobe Suite of tools, and a bunch of other tools!

The Linux developers noticed this trend of users jumping back to their old OSes and not giving Linux more time to get used to and wanted to do something about it. Hence they came up with something called WINE which will help you run your favorite Windows apps on Linux.

How WINE works: An Analogy!

WINE stands for Wine Is Not an Emulator. WINE creates a virtual environment for the windows app to run in so that these windows apps actually think they are running on a Windows machine. In the background WINE is translating all of their Operating System communication from the language understood by the Windows Operating System to the language that is understood by the Linux Operating System. By “language” here I don’t mean computer languages like C or Java, but rather the API specifications and system calls.

For example consider this simple analogy. Say an app wants to use the WiFi hardware functionality. To use WiFi in the Windows scenario let’s assume that the apps need to say

“Windows, please give me permission to use WiFi”

and on Linux, the apps should use the phrase below instead.

“Linux, Can I use WiFi please!”

I hope you can see that the 2 phrases have the same meaning even though they use a slightly different language!

So WINE is basically a compatibility layer that sits between the Windows app and the Linux Operating System and translates all the communication meant for the Windows OS to the ones that can be understood by Linux OS. (This analogy is only designed to give the users an introduction to the idea behind how WINE works as the actual API calls won’t look anything like the sentences I have used!)

What is Proton?

Let’s next try and understand what is proton from a beginner’s perspective.

Need for Proton

Proton is simply a software that helps run Steam games that are meant for Windows OS to run on the Linux OS

What is Steam? If you are a gamer, you are probably already familiar with Steam. Steam is a service through which you buy games and install them on your computers.

They have hundreds of games available for purchase but not all of them can be run on Linux. Wine is a good solution for running Windows apps on Linux, but it does not work with each and every game perfectly. This is due to the fact that the Windows operating system is huge with so much communication happening between the games and the operating system and Wine is still under development and the developers’ focus is on porting applications, not games. Hence Wine doesn’t support some of the translations needed to run games yet.

In order to get around this problem, Steam decided to make Wine better so that it can support Windows Games. So they started a project called Proton which basically takes the already available opensource code of Wine and improves it so that they can support playing Windows games on Linux systems thereby increasing their customer base on Linux and as a result their sales too!

Proton also put back the improvements they made on Wine back to the Wine project so that users of Wine can also benefit from these improvements!

So why don’t we take the latest version of Wine with all the improvement added by proton? Doesn’t it make sense to use just Wine instead of Proton?

Making Wine better is just one part of what proton does. Each game needs its own unique settings in Wine to make them run properly and configuring these settings properly can be a difficult task for beginners to undertake. Even for the experts this can be a time-consuming task. Proton thus takes on this other duty of auto-configuring Wine settings so that a given game can run perfectly!

When to use Proton instead of Wine?

The simple answer is if you are running a Steam game that is Windows compatible and not designed to run on Linux, then close your eyes and go for Proton! You can do so by just clicking a checkbox to use proton on your Steam app for a given game!

When to use Wine instead of Proton?

Below are the 3 situations where you are going to want to use Wine instead of Proton.

  • if you are running a Steam Windows game but Steam does not yet officially support that particular game through Proton
  • if you are running a game that does not come with Steam
  • if you are running any other Windows software that is not a game

Keep in mind that configuring Wine becomes your duty while you are doing any of the above-mentioned tasks!

Also, it is worth mentioning that the first 2 of the above activities can sometimes be accomplished using a software named Lutris without the need for going through the process of configuring Wine yourself! To learn more about Lutris I suggest you read the article below.

Lutris vs Proton: Differences Explained!

Summary

To summarise let’s have a look at the same table we looked at in the short answer section!

WineProton
Windows Compatibility layer that helps Linux users to run Windows applications on Linux.Built on top of Wine and is used with Steam to run Windows games on Linux
We need to do all the configurations ourselves.Configurations are done Automatically (only for supported steam Windows games)
Use Wine when running windows applications and games not supported by Protonuse Proton when running steam games that are officially supported to be run on Linux

And with that, I will conclude this article!

I hope you guys enjoyed this article and learned something useful.

If you liked the post, feel free to share this post with your friends and colleagues!

Related Articles

Here are some of my other articles that might interest you!

A Step By Step Plan To Learn Linux..!

Best Linux Distro For Workstation: Analysis and Comparison!!

A Complete Guide For Choosing A Distro For Your Computer’s Specs..!!

Best Distro For Software And Hardware Support: An Analysis.!!

Distro-Hopping, What, Why & How Explained!

Reasons Behind The Existence of SO MANY Linux Distros: An Analysis!

Photo of author
Editor
Balaji Gunasekaran
Balaji Gunasekaran is a Senior Software Engineer with a Master of Science degree in Mechatronics and a bachelor’s degree in Electrical and Electronics Engineering. He loves to write about tech and has written more than 300 articles. He has also published the book “Cracking the Embedded Software Engineering Interview”. You can follow him on LinkedIn