Вы находитесь здесь    Новости nl sv pl es de fr en

PlayOnLinux 5: Current state

Thursday 10 September 2015 at 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


Автор Replies
Ronin DUSETTE Thursday 10 September 2015 at 21:37



FuzzyToothpaste Friday 11 September 2015 at 22:16


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

myromance123 Sunday 13 September 2015 at 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 Wednesday 16 September 2015 at 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 Wednesday 16 September 2015 at 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 Saturday 19 September 2015 at 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 Saturday 26 September 2015 at 19:26

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

Garve Friday 2 October 2015 at 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 Saturday 3 October 2015 at 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 Sunday 18 October 2015 at 3:01

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

FuzzyToothpaste Sunday 18 October 2015 at 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. Tuesday 24 November 2015 at 10:51

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

Jack Tuesday 8 December 2015 at 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 Tuesday 8 December 2015 at 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 Monday 14 December 2015 at 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 Friday 18 December 2015 at 15:06

There’s definately a great deal to learn about this subject.
steve723 Friday 25 December 2015 at 21:17


Looks good so far.

edo Monday 4 January 2016 at 15:52

Any ETA?

Quentin PÂRIS Monday 4 January 2016 at 21:48


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

jldemarie Monday 14 March 2016 at 12:14



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

francois44 Monday 21 March 2016 at 10:20



i love new interface

plata Sunday 15 May 2016 at 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 Thursday 26 May 2016 at 15:31


You should made a dev-weekend ;-)

meneleyh Saturday 30 July 2016 at 14:35


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

conzar Monday 15 August 2016 at 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 Friday 18 November 2016 at 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 Friday 23 December 2016 at 0:17


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

Lachu Wednesday 18 January 2017 at 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 Thursday 13 April 2017 at 22:55


Good work!

Добавить комментарий


You must be logged in to post a comment