Author:Manatee LazyCat,deepin progame manager

Deepin team has been established for more than 3 years, and we always follow the principle of "reinvent the wheel" to improve user experience in desktop system, for example, the well-known Deepin Music, Deepin Software Center, Deepin Desktop Environment, and so on.

In China, Tencent QQ (hereinafter, QQ) is the most popular on-line chat tool in the daily life, however, it cannot run normally in Linux OS, which is the biggest barrier for Chinese users to switch to Linux OS.

Today, let me tell you the story behind the development of QQ6.7 running in deepin.

First of all, on behalf of deepin team, I would like to say thanks to the CodeWeavers engineers around the world, especially to HongQian, a Chinese CodeWeavers developer who personally came to Wuhan and work with deepin engineers. Due to their hard working, we can use QQ 6.7 stably in Linux now.

Running QQ 6.7, Shouldn't It be the Most Normal Thing?

For most Windows users, it is quite common to use QQ, isn't it? But Linux is a completely different operating system from Windows, thus, to make QQ run in Linux, it is not a action as easy as double-click to install QQ file. To make one piece of software for Windows to run perfectly in Linux, you need to not only be skilled in programming Windows/Linux but also own great perseverance. Sometimes, you need to locate a problem from many kinds of clues to solve it, which works even like the detective Conan.


Most commonly, when debugging QQ program, we found the login window of QQ cannot fully display, and our engineers first thought it caused by alpha of pictures, but we took nearly one week to analyze log files of dozens of GB in size, finally, we found the problem was caused by transforming matrices for window position. However, more often, after analyzing a large number of log files, we found the way does not work, so we have to check and fix problems from the first beginning.

Another difficulty in developing Wine/CrossOver project is the problem with languages and fonts. In order to solve the problem that display fonts become diamonds and "martin texts", on the one hand, we need to write a great many module patches for i18n; on the other hand, we need to explain which Chinese problems are solved by the patches to Wine developers. However, most Wine developers are foreigners, and their intuitive understanding with Chinese is kinds of square character symbols, therefore, sometimes, one patch is not permitted to be incorporated into the upstream code repository of Wine until it is modified for dozens of times.

All Codes are Open and Contributed to Open Source Community

So far, besides QQ patches, we have about 60 other patches for many software, e.g. Ali WangWang and QQDown. They are distributed in these modules: richedit、mshtml、wininet、explorer、msvcr100、usp10、user32、jscript and ntoskrnl. Now, all of our developed patches are incorporated into the upstream code repository of Wine.

We firmly believe, only writing codes down-to-earth and getting them incorporate into upstream community, can we make all the Linux users (not only deepin users) benefit, so as to solve the problem with desktop software environment fundamentally in Linux.

The difference between deepin CrossOver and Wine

What we have just referred that engineers of both sides contribute all source codes to the upstream code repository of Wine, but what is the difference between deepin CrossOver and Wine?

CrossOver is the software based on Wine (commercial version) developed by CodeWearvers. It provides with commercial operation guarantee while integrating with the latest patches. Although Wine has the latest patches, it owns many experimental developing patches from worldwide developers, which results in running software unsteadily in Wine.

For deepin users, using deepin CrossOver helps to experience the latest software for Windows, moreover, all deepin users can user CrossOver for free, because we have paid for it for all deepin users.

Open-source Does Not Mean Enjoy the Results Only, but It Should Get Our Support More.

CodeWeavers is a great company that has been contributed a lot to Linux for years-- make software for Windows run normally in Linux. So we appeal to everyone: Open-source does not mean enjoy the results only, but it should get our support more.

If you want to run the latest software for Windows in Linux by CrossOver ( not in deepin), please pay for the commercial version of CrossOver for support.

We have ever considered to pay for CrossOver for all the Linux users, but there is not enough financial support at present, so hope you understand.

It is the Beginning with QQ6.7; Changes are just Getting Underway

QQ6.7 is the first software that accomplished by the engineers from both deepin and CodeWeavers. We will try our best to port more nice software for Windows to Linux for use.

We hope all the troubles are handled by engineers, and users only needs double-click and enjoy life.

Deepin's concept is pretty simple: hold on to the last, no toss!


Leave a Reply