Wine Reviews has release information and reviews of Windows applications and games running on Linux Mac OS X and Android using Wine from WineHQ.org Q4Wine PlayOnLinux PlayOnMac WineBottler WineSkin WineTricks and Wine-Staging. Wine is an Open Source implementation of the Windows API on top of X and Unix.

Pages

Friday, December 2, 2016

World Wine News issue 403

Stefan Dösinger wrote an extensive summary of the talks at WineConf this month.
He also recorded some Videos and did all the postprocessing to make them enjoyable online.
We thankfully include it in this WWN:

On November 12th and 13th the Wine developers and a few users met in St.
Paul, Minnesota for the annual project meeting WineConf. The conference
featured technical presentations and discussions about changes to the
way Wine’s development processes work. This renewed installment of World
Wine News gives a short summary of the discussions and agreed
decisions.

Following the tradition, WineConf was kicked off by Alexandre Julliard,
the maintainer and Benevolent Dictator for Life of Wine. After giving a
slightly different keynote last year, he went back to his old keynote
template full of statistics and commit graphs.
It was delightful to see that the number of commits increased again last
year, after being in decline for a while, even though it is still far
away from where it used to be around 2010. The new patch sign off system
is working well, and the experiences with the staging branch have been
positive. Discussing the impact of these changes in detail was moved to
separate sessions and is described in this summary in separate sections.
The Wine developers decided to switch to time-based releases last year,
so a code freeze will come soon, and Wine 2.0 will be released most
likely in December or January.
The expected main areas of development after 2.0 will be Aric’s HID
support, the ongoing DirectX 11 work. Alexandre was hoping to merge the
Android code CodeWeavers was working on before 2.0, but decided to
postpone it because integrating the Java parts into the build system
proved to be difficult.

Aric Stewart: HID Support
Aric Stewart presented his work on supporting the Windows human
interface device layer in Wine. This is a low level interface that
allows applications to talk to devices like joysticks, keyboards,
gamepads, etc. Few applications use it to use joysticks, instead they
use higher level libraries like DirectInput or XInput, which then talk
to this lower level layer. Wine currently supports DirectInput, so
joysticks and gamepads work in many games. Unfortunately XInput is
missing. Aric’s plan is to provide the low level hid.dll and
(re-)implement dinput and xinput on top of it. This puts all operating
system abstraction code (Linux, OSX, Android specific joystick handling)
into hid.dll and allows applications that talk directly to hid.dll to
work. Those applications are rare, but they exist.

This means that applications that use hid.dll or direct device access to
HID devices will start seeing and being able to interact with devices.
This is very exciting but is just the very first step. Of course any
application trying to do HID directly would be a wonderful test case, I
am sure there are many many things that will need to be refined and
added before a real application starts being happy....

Looking forward, the hope is that then we will be able to build RawInput
support on top of HID, and also dinput and xinput support as well. As a
fun challenge I have been working to get native dinput from DirectX 9
to work on Wine on top of HID and it is moving forward much better than I
expect, with a lot of hacks at present. (native Dinput sees the
gamepads and even start trying to read them, but current is not getting
reports properly)

Jeremy White gave an update on CodeWeavers and its involvement in Wine:
CodeWeavers had some ups and downs. They spent a lot of time last year
on Android and had some business opportunity in China that didn’t work
out. Google announced that Chromebooks would run Android apps, which is a
very welcome development because they use a mouse and keyboard and
mostly have Intel CPUs, which makes them a much better target for
Windows applications than phones and tablets.
Sadly the consumer sales are declining. The porting business is strong
and increasing, which excitingly was the original business model behind
CodeWeavers’ Wine engagement.
Exciting opportunities in the pipeline that Jeremy White cannot talk
about in detail yet.
The company turned 20 this year, so next year it gets to drink :-) .
[Under the rather strict US liquor laws.]

Consumer sales are about 10% Linux and 90% Mac, but there are some
larger corporate customers that pay for Linux. Business interest in
Linux is slightly increasing as companies migrate away from Windows XP
or want to run Windows applications on embedded systems.
CrossOver Android is in the Play Store as a technology preview. It is
available for signed up beta testers only, and only works on tablets
with an Intel CPU because Qemu is too slow to run applications in a
useful manner on ARM-based tablets. Various companies have impressive
ARM emulation demos, but they don’t hold up to closer scrutiny. Sadly
Intel recently announced that they are dropping out of the mobile
business. The bright side for CrossOver Android are Chromebooks, as
mentioned above.
Jeremy White says CodeWeavers should probably do a better job announcing
its contributions to Wine, and crediting customers for key
contributions. On the other hand, CodeWeavers overshadows Wine’s
development already and Jeremy would love to have more non-CW
contributions to Wine and a more widespread community.
Due to having financial resources and being able to pay developers
CodeWeavers can do the really tricky and annoying work, for example
getting the copy protection and activation of Microsoft Office 2013 to
work.

User Support
Rosanne Dimesio gave an update of problems Wine users are facing and
their most requested features. The most common request is support for
the newest game. [Which, sorry, is a moving target and really hard to
do]. A common issue is the lack of packages for stable branch in some
distributions. Users are happy with the support of Microsoft Office 2007
and 2010. Few users want newer versions so far, because people who
invest money into MS Office usually stay with this version – which is
why we still have users running Office 97. This is likely to change when
Microsoft breaks file format backwards compatibity.

Support for USB devices (especially HID) is a recurring source of pain. Aric’s work will hopefully help here.

Spammers are a constant problem on the forum and wiki. The wiki has been
locked down and users have to request edit permissions before being
able to edit. The captchas on the forum help against bots, but there are
human spammers that can get past them.

Rosanne could really use help from other people with answering questions
on the forum. There are some people who help (Thanks!), but more would
be very welcome. We should probably do a better job explaining how
non-coders can help out.

We want more users attending WineConf to get their perspective. For next
year we will try to announce this in a better way. WineConf is open to
everyone, users are very welcome! We would also like the input of people
who develop software around Wine like PlayOnlinux. Travel sponsorship
is available too, contact us if you would like to come and money is an
issue for you.

If you want to represent Wine at an event or Linux user group near you
please get in contact with us. Travel sponsorship is available for this
too :-)

Sign-Off change review
There was quick consensus that the Sign-Off system is a major
improvement. It allows people to send patches originally written by
other people and maintain authorship information. Sebastian Lackner has
brought in many patches from wine-staging, and Andrew Eikum has fixed
and submittet Maarten Lankhorst’s pulseaudio driver.

Wine-Staging report
Erich Hoover gave an update on the state of the staging branch.
Unfortunately Sebastian and Michael, the main maintainers of this
branch, couldn’t come due to their time constraints.

Sebastian is doing most of the work and is turning into their Alexandre.
He has been working very hard on getting things reviewed properly on
wine-devel and make patches go into Wine directly. The number of commits
that go into staging is declining, which is a win because it reduces
the maintenance burden.

Existing patchsets in staging slowly make it into Wine. Two big sets
that did not, so far, are the multi-threaded command stream and the
Vulcan wrapper.

The overall consensus is that the staging branch is helping Wine. It is a
place that collects unfinished patches. Those patches often point out
ways to fix bugs (Jeremy called them breadcrumbs), and we really want to
have this information, even if their author does not want to see them
to conclusion. The staging maintainers try to provide incentives for
people to finish the patches rather than just dropping them off.

Staging also provides a place to test in-development work and catch bugs early.

Direct3D Update
Stefan: Quit CodeWeavers about a year ago and moved to a different job,
but is still hanging around Wine. Fixed a bunch of tests over the past
year, and fixed two bugs that fell in line with the tests. Benchmarks
not running because computers are sitting in a corner because doesn‘t
have enough space in the shared house in Staines.

Józef is working on DirectX 11: A lot of work got upstreamed in the past
months, but there are still many missing features. Compute shaders are
missing, as are many view types. It also needs Matteo’s GL core context
work on many drivers, which depends on the blitter rework Stefan was
working on before he left. However, some games start showing signs of
life. During the conference Andrew Wesie sent a set of patches
to make Blizzard’s Overwatch run. In a way it also depends on the
command stream, which would be very helpful to have tfor deferred
contexts. [Editor’s note: Józef’s statement was deciphered from a really
quiet recording with lots of background noise. It may be inaccurate in
some parts.]

Henri is working on upstreaming the multithreaded command stream
(Currently it’s in staging, but not the master branch). He wasn’t at
WineConf, so we couldn’t really come to a conclusion when that work will
be finished. It depends on Henri’s other tasks, CodeWeavers keeps
dropping work at him that needs to be finished yesterday. Henri has made
progress in the past months, merging the patches that unify 2D, Cube
and Volume textures into one texture resource, but merging textures and
buffers into one common resource is missing, and the blitter support in
the current command stream code is a mess. The ETA depends on where
Henri wants to go exactly.

Future WineConf
In 2012 and 2013 we experimented with joining FOSDEM to attract people
who are not long-standing Wine developers to join the talks. This was
successful in many ways, but we felt that it made discussing internal
matters like the patch acceptance process more difficult. For this
reason we went back to a “classic” WineConf in 2015 and 2016 and were
again stuck with the feeling that it’s just the same people attending
every year.

To address this we will try to more actively invite people from outside
wine-devel. As mentioned in the User Support part of this summary, we
would enjoy having more users of Wine around, and people who are
building front-ends around Wine.

The next WineConf will in all likelyhood be in Poland, hosted by Jacek
and Piotr Caban, and it will be somewhen in Fall 2017. If you are
interested, come! We will announce more details once we have a specific
date and exact location and hopefully won’t forget to announce it beyond
wine-devel :-)