Pages

Thursday, September 24, 2015

PlayOnLinux and PlayOnMac 5 the Current state

Hi everybody,

I'm writing this post to give some news about PlayOnLinux and PlayOnMac v5. First of all, the development 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 implementation 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 development 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.

Scripting

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:
1
2
3
4
5
6
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):

Performances

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.

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

Testing

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.

Cheers,

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Executando o CrossOver 14 Linux para uma melhor experiência com o Wine

Para uma grande quantidade de usuários de Linux e Mac a realidade é que sempre vai existir um programa de Windows que eles ainda precisam usar quase que diariamente. Para muitos a resposta é o Wine, permitindo que programas sejam utilizados com um certo nível  de sucesso em seus sistemas compatíveis com Unix. Infelizmente o Wine não vem com nenhum tipo de garantia de sucesso para uma determinada aplicação, também não possui nenhum tipo de suporte além da comunidade de desenvolvedores, ou um desenvolvedor muito dedicado. Vamos ao Crossover.

https://www.codeweavers.com/store2/?dealcode=weaveme
O CrossOver tem sido o principal fundo de recursos para o projeto Wine por muitos anos, ele oferece uma versão personalizada do código do Wine e inclusive com suporte garantido a uma variedade de aplicativos -- uns jogos, uns softwares de escritório e produtividade, uns utilitários.
https://www.codeweavers.com/store2/?dealcode=weaveme
O Wine atende as necessidades de muitos usuários, de forma gratuita, mas para aqueles que precisam de uma mãozinha ou para aqueles que não se acham capazes de configurar sua instalação do Wine para uma determinada situação o CrossOver é uma boa escolha.
https://www.codeweavers.com/store2/?dealcode=weaveme
Por US$ 59,95 o CrossOver conta com um instalador automatizado para muitas aplicações, além de integração com o gerenciador de pacotes do sistema para garantir a instalação de dependências que as camadas de compatibilidade podem requerer -- como codecs, bibliotecas para áudio mp3 e vídeos mpeg, ou fontes de texto específicas.
https://www.codeweavers.com/store2/?dealcode=weaveme
O comprador também pode optar por comprar suporte telefônico direto direto com a equipe do CrossOver, de forma a garantir que os programas rodem em seus sistemas. E não é só isso, toda compra do CrossOver vai diretamente para o desenvolvimento contínuo do Wine uma vez que o CrossOver emprega muitos dos contribuidores e desenvolvedores, assim como todas as correções feitas no código, "não importa o quão pequena", são sempre enviadas ao projeto do Wine em si. Ao comprar o CrossOver você contribui diretamente com o Wine.
https://www.codeweavers.com/store2/?dealcode=weaveme
Para mim, o maior e mais importante recurso é a integração com o gerenciador de pacotes. Todas as minhas aplicações principais (Microsoft Office, World Of Warcraft, Warcraft 3) e as outras funcionam muito bem com a versão base do Wine. Mas toda vez que troco minha distribuição do SO eu sempre preciso analisar e instalar todas as dependências do sistema, como as versões de 32 bits do gstreamer, lipmpg, mp3, entre outras. Já com o CrossOver assim que um programa sendo instalado precisa dessas dependências ele me avisa dos pacotes necessários.
https://www.codeweavers.com/store2/?dealcode=weaveme
Para usuários avançados comprar o CrossOver pode não ter um benefício direto. Mas para aqueles mais leigos com a computação, ou que querem ajudar o projeto do Wine, então comprar o CrossOver é uma maneira simples de contribuir.
https://www.codeweavers.com/store2/?dealcode=weaveme
O CrossOver tem se mantido funcionando muito bem através dos anos, mesmo lembrando do CrossOver Office 5 de mais de 10 anos atrás e também do CrossOver Games, que foi integrado ao CrossOver atual.

https://www.codeweavers.com/store2/?dealcode=weaveme
 

Os mais novos cupons de desconto do CrossOver são ( TOM23 )  que garantem 20% de desconto tanto na versão Mac quanto Linux!
 
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

WineHQ WineConf 2015 Group Photo

WineHQ WineConf 2015 Group Photo

From left top to right bottom: Sebastian Lackner, Aaryaman Vasishta, Austin English, Rosanne DiMesio, Ulrich Czekalla, Michael Stefaniuc, Henri Verbeet 

Aric Stewart, Piotr Caban, Jacek Caban, Caron Wills, Christian Inci, André Hentschel, Jeremy White, Alois Schloegl, Andrew Eikum, Huw Davies, Hans Leidekker, Robert (Focht)

Stefan Doesinger, Dmitry Timoshkov, Alexandre Julliard, Francois Gouget, Andrei Podoplelov, Nikolay Sivov, Michael Müller 

Marcus Meissner, Jactry Zeng, Qian Hong, Josh DuBois, Vincent Povirk, Józef Kucia, Matteo Bruni

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Wine Stable Release Changes

Hello,

At WineConf we had a fairly uncontroversial discussion about the Wine Stable release process. As the current process of feature based Wine releases isn't working(*) following changes were agreed upon.

Release Process Changes
------------------------
- - Switch to time based releases.
- - Major releases once a year in autumn/fall. Code freeze starts around mid/end of September.
- - Michael Stefaniuc will be the stable maintainer starting with 1.8.x. Other people are more than welcome to help out with Wine Stable. I'll document stuff and send out a request for help during the code freeze.
- - The stable release will be supported in bugzilla.
- - This changes take effect immediately. You can expect Alexandre to announce a code freeze in the next couple of weeks.
- - We will revisit this changes should the need arise, e.g. reduce the time between two major stable releases.

Discussion
-----------
The discussion was done based on slide 9 of Alexandre's keynote At the start Alexandre and others noted that we do not hear from users for whom 1.6 is just working. We are getting reports only about the stuff that breaks.

The discussion quickly geared to the changes accepted from above with the focus on implementation details:

- - 6 months better? No, the 12-18 months stable release cadence prior to 1.8 was ok. Can be reduced later on should the need arise.
- - Synchronize with (a) major distro? No, release dates can slip on both ends. Freeze should also not impact GSoC.
- - Nobody else volunteered during the discussion for the stable maintainer role.

For the more drastic proposal of removing the the Wine Stable version altogether, Alexandre made drafted a plan to follow a similar model to the Linux Kernel. One release for the risky stuff and every second release is for stabilization. He proposed also a two weeks "merge window" for risky stuff followed by two weeks for the fixes and the last two weeks of "freeze". This produced a loud outcry from most developers: it would be unworkable without a prior move to a git pull model to accept new features. This basically killed the proposal.

(*) 1.6 released > 2 years ago and was latest updated 1.5 years ago. It doesn't compiles on a modern distribution anymore.

bye,
Michael

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.