Vous êtes ici    News nl sv ru pl es de en

PlayOnLinux 5: Current state

Jeudi 10 September 2015 à 18:51

Hi everybody,

I'm writing this post to give some news about PlayOnLinux v5.

First of all, the developement is rather going well. It takes quite a lot of time because we have to maintain PlayOnLinux 4 and the servers at the same time, and a lot of work remains to be done. This is why it is not possible to give an ETA for the release. However, I can show you what is done so far.

User interface

I guess that this is one of the topic that will concern you the most. A good news is that the application is designed to be totally decoupled from PlayOnLinux core. Basically, it means that we can end up with several interface implementtion without changing the core (containing most features)

JavaFX interface

This is the main reference interface. This interface is supported on Linux and on OSX. We are trying to spend time to make it as user friendly as possible to avoid any confusion.

Here are some screenshot of the current version:

Installed applications


Available applications. (We want to replace POL logos by something unique for each program)



Available applications: Description of an installer




This is a script installing a version of wine (1.7.39)




Future configuration window



QT Interface

We are also aware that some of you do not really like the idea of having a non native interface. This is why some effort are put in the implementation of a QT interface. (This developement is mostly done by seijikun, a big thank to him).

This interface aims to be as close as possible to PlayOnLinux 4 current interface.

The QT interface is not fully implemented at all for the moment, I'm personally putting some effort in implementing the core features, so I do not have a lot of time to help seijkun. But still, here is a screenshot so that you can have an idea.

CLI interface

The CLI interface is not implemented yet at all. We want, on the long run to be able to run PlayOnLinux from the command line.

Integration test mock interface

This interface allows us to run automated test. I'll talk about this in a short paragraph.





Introducing templates

The scripts (or installers) are written in Python. Basically, it will give to the scriptors as much liberty as they have in PlayOnLinux 4. However, we are also going to support a new concept: Installers templates.

Installers templates are reusable scripts. For example, we will write one script for all Source games.

A more complex example would look like this: 

(Yes some games are natively available on Linux, but it is just for the example ;-))


With this example, the Diablo III script would be "complex", like current scripts, but Half-Life script would look like this:

class HalfLife(WineSteamInstaller):
    title = "Half-Life"
    prefix = "Prefix"
    wineversion = "1.7.34"
    steamId = 130
    packages = ["package1", "package2"]

The choice of the base template is made by the scriptor.

New tools

We have integrated a Python console inside the application so that scriptors can test PlayOnLinux framework (Sorry for the quality):



Memory consumption

In terms of memory, PlayOnLinux 5 seems to use a little more memory than PlayOnLinux 4.

It is expected because contrary to PlayOnLinux 4, everything us running in a single multi-threaded process. PlayOnLinux 4 is creating a lot of processes, making memory measurement very hard, and wasting a lot of resources.


Interface performances

We've run some benchmark to compare interface performances. PlayOnLinux 5 is running way faster. In fact, it was impossible to script a smooth progressbar with PlayOnLinux 4 because the wizard was responding too slow. To measure the responsiveness of the interface, we compare the time required to show 1000 messages in a wizard.

Here are the results (lower is better):

And a video highlighting the difference:

https://www.youtube.com/watch?v=b57JIFCQg54 (PlayOnLinux is the window on the right)




Automated testing is part of the code quality. With the new application design, we can run automated tests on a daily basis to detect breaks (in script, or in PlayOnLinux itself). So far, we have written three integration tests:

We also write unit tests for non UI classes.



I think that this is all I have to present for the moment. If you have any question, feel free to comment. I will edit the news if I find anything else.


Quentin PÂRIS

Les commentaires

Auteur Réponses
Ronin DUSETTE Jeudi 10 September 2015 à 21:37



FuzzyToothpaste Vendredi 11 September 2015 à 22:16


The JavaFX interface looks a lot nicer and more native than I thought it would. This is great.

myromance123 Dimanche 13 September 2015 à 23:14

The new interface looks awesome! I really like your focus on performance as well.

Keep up the awesome work and much love from a long-time user on Ubuntu! laugh

CodeG Mercredi 16 September 2015 à 2:33


Looks like this is going well so far. smiley Question though, will this program support GTA V at all in the future?

FuzzyToothpaste Mercredi 16 September 2015 à 23:30


@CodeG PlayOnLinux is based on a program called Wine. Wine is what does all of the work to run your Windows software. That aside, it seems that Grand Theft Auto V is known to crash when used with Wine. I cannot make any promises as to if it will work or not, but you sure can try.

Sy-Force Samedi 19 September 2015 à 0:32

@CodeG @FuzzyToothpaste

The Wine Devs work on DirectX11. When DX11 for Wine available run also all new games (GTA V, The Witcher 3, Crysis3....)





jules Samedi 26 September 2015 à 19:26

Using PlayOnMac, but very excited with the linux flavour. Keep up the awesome work! Thank you

Garve Vendredi 2 Octobre 2015 à 20:42

​Looking great so far, I'm especially looking forward to the Qt version. Will you also use the native breeze icons then? Thank you very much for your work, I'm using POL4 nearly everyday.

Seiji Samedi 3 Octobre 2015 à 18:03



I tried using them everywhere, but that didn't work out so well.

At the moment, only the items of the menus within the menubar at the top are breeze icons. I couldn't find good player-icons (play, stop) with the right size in breeze. And I couldn't find icons for everything in the sidebar on the left, so half of them were breeze and half of them were custom items, which didn't look so well. So I used POL's default icon-set (Faenza) instead.

I am, however, open to suggestions.

blade19899 Dimanche 18 Octobre 2015 à 3:01

I would like to have the JavaFX interface, over the QT version. It looks better.

FuzzyToothpaste Dimanche 18 Octobre 2015 à 3:49


It does. I think that all of the concern about having a non-native GUI was that it would look ugly like running a GTK+ application on Qt. Now I see that the interface looks exactly the same on all desktop environments, and it looks very nice. I personally am not a big fan of Qt anyway. Unlike GTK+, Qt is made by a business that makes proprietary, enhanced versions of the same program. Being a free software enthusiast, I don't like that.

Laura P. Mardi 24 Novembre 2015 à 10:51

The JavaFX interface looks a lot nicer and more native than I thought it would. This is great. yes

Jack Mardi 8 Décembre 2015 à 15:51

Hello there!

I just wonder wether there are any new annoucments to make or at least some updates to make about the "Current State" which actually already dates back to early Semptember. As far as I know within 3 months great things can happen! Would be great to here from you.

Best, Jack

Quentin PÂRIS Mardi 8 Décembre 2015 à 22:43



Recently, we have mainly worked on code cleaning and a little on the QT Interface. I have a lot of work at the moment since I'm terminating my studies.

Things should start again in few monthes.


Ronin DUSETTE Lundi 14 Décembre 2015 à 17:47


@jack You can actually keep track of the status and updates via our GitHub page. There, you can see the progress as it happens. For more information on how to watch what's going on or even contribute, check out this section of our wiki:


ServertechSupport Vendredi 18 Décembre 2015 à 15:06

There’s definately a great deal to learn about this subject.
steve723 Vendredi 25 Décembre 2015 à 21:17


Looks good so far.

edo Lundi 4 Janvier 2016 à 15:52

Any ETA?

Quentin PÂRIS Lundi 4 Janvier 2016 à 21:48


Nope sorry. We are all very busy outside POL, so it is almost impossible to promise anything

jldemarie Lundi 14 Mars 2016 à 12:14



The new interface looks awesome! Keep up the awesome work.

francois44 Lundi 21 Mars 2016 à 10:20



i love new interface

plata Dimanche 15 Mai 2016 à 13:54


With this architecture it should also be possible to integrate POL into software installation tools, right? So you could install your windows software from the same place/in the same way as you install Linux software.


With a CLI interface you could even think of providing hooks for apt etc. to do something like:

apt-get install pol_steam
wayneTrain Jeudi 26 Mai 2016 à 15:31


You should made a dev-weekend ;-)

meneleyh Samedi 30 Juillet 2016 à 14:35


Different desktops (Gnome, KDE, XFCE) use different keymaps, are you doing anything to make them work across the board? 

conzar Lundi 15 Aoüt 2016 à 2:54

I had no idea you guys were going this route until I heard this being made fun of on The LinuxGameCast (those guys hate Java for not intellent reason).  Anyways, I think this move is fanstatic!  JavaFX is pretty great.  I use it in my FOSS app (Keyboarding Master).

I would like to say I completely agree with your decision to move to Java + JavaFX.  Your analysis is spot on!

ProfessorKaos64 Vendredi 18 Novembre 2016 à 17:19

Great work! I am a bit interested in a native interface as well, but exciting news. For Arch Linux folks, I adopted the AUR package and updated it per the latest build instructions.


Quentin PÂRIS Vendredi 23 Décembre 2016 à 0:17


Here is some news: https://www.playonlinux.com/en/topic-14953-PlayOnLinux_5.html

Lachu Mercredi 18 Janvier 2017 à 12:10


Maybe it's too late to telling you about that, but I've developed library to decouple UI and Bussines logic.


It delivers three mode of work:

GUI mode, network mode and text shell mode. Additionally GUI mode could use GTK+ library, QT5 library or console backend(CUI).


This library is diffent than others. Programs doesn't define UI, but only asks for data, deliver data and create windows for specify class. For example:

- Application create window of class /desktop/dialogs/question_dialog

- Application create event called /actions/ok for created window

- Application create event called /actions/cancel for created window

- Application create event called /message for created window

- Application set name for /message to "Process?"

- Libgreattao take care of other tasks


GUI mode uses window classes defined in language simmilar to XML/html and application can deliver custom window classes.


Why I wrote about that? Because that's not neccessary to create tons of frontends, UIs, etc. Of course, other benefints it's possibility to define UI in simillar manner that defining UI in QML, etc.

hduff Jeudi 13 Avril 2017 à 22:55


Good work!

Poster un commentaire


You must be logged in to post a comment