Saturday, December 17, 2016

The WineHQ Wine development release 2.0-rc2 is now available for Linux and Mac

The WineHQ Wine development release 2.0-rc2 is now available for Linux and Mac

What's new in this release:
  • Bug fixes only, we are in code freeze.
The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations.

Bugs fixed in 2.0-rc2 (total 20):

  31222  Hitman: Blood Money crashes when changing screen resolution
  31309  TIE Fighter: Collector's Edition Crash - 'Escape Menu' Freezes Application.
  32632  Dragon Naturally Speaking 12 does not load with timeout error
  34829  wintrust:softpub crashes on Windows 8
  35495  sharing violation and prompt for copy /B file1+file2 file1
  38357  Cannot install download-audiograbber.exe
  39430  Ride : The motorcycle game does not start
  40256  user32:input fails on non-qwerty keyboards
  40344  shell32:assoc regression (privilege issue)
  40386  wininet:url regression caused by new cross-compiler
  40978  Wrong colors on i915 and similar GPUs in GTA Vice City
  41083  Red Faction: Guerrilla fails to start with DX11 renderer
  41133  R32/R16 typeless formats generate incomplete FBO errors when used as a render target (Gauntlet, WoW with D3D11 renderer)
  41141  gcc6: d3drm build warnings
  41252  Helldivers gives this error when trying to run on MacOS
  41630  Rollercoaster Tycoon 3 Platinum crashes on exit
  41715  winhttp:winhttp test regression (test_secure_connection)
  41717  webservices:writer test regression in test_datetime
  41949  Pasting into IDA Pro stops working on macOS
  41956  Regression in wininet crashes skype

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

Tuesday, December 13, 2016

World Wine News issue 404

As with the last WWN, this time all the news are written by Stefan Dösinger! I just did the stats.

Code Freeze

Alexandre has released Wine-2.0-rc1 and imposed martial law code freeze:

The release of 2.0-rc1 marks the beginning of code freeze towards 2.0.
Most of you probably know the drill already, but from now on, only
targeted bug fixes and other "safe" changes, like test fixes,
translation updates, etc. will be accepted.

I know that many people will soon be out for the holidays, but I hope we
can still make significant progress with the open bugs, particularly
with the bugs from the regression list. Now would also be a good time to
retest your favorite applications to make sure that there are no
regressions that we have missed.

As usual, I'll be making release candidates every week, until we run out
of bugs...

Thank you all for helping make Wine 2.0 as good as we can!

Direct3D 11 development

Wine‘s Direct3D 11 implementation is making progress! Over the past months Józef Kucia and Matteo Bruni have been slowly, but steadily piling on work in d3d11.dll and wined3d.dll to restructure and add the necessary features. A lot of work is still missing, so don‘t expect fancy titles to run yet. Simpler games have started working a year ago .

Last month Andrew Wesie sent a big patchset consisting of 23 changes to wine-patches that promised to make Blizzard‘s Overwatch run on Wine. Not all of these changes concerned d3d11 – some were changes to the way certain CPU registers are handled in ntdll‘s exception handler. Andrew indicated that those changes are necessary to make the game‘s anti-debug protection work. The d3d-related patches add a few missing d3d11 pieces: Instancing-related shader registers, buffer shader resource views, primitive restart and so on. He also warned that these patches are not enough to make the game run, and more work was needed.

Matteo and Henri Verbeet have provided reviews for the patches. The main concern were missing tests and some implementation details. Andrew has submitted tests and an implementation for two sided stencil, tests for the primitive restart index and the return instruction in shader functions . These patches passed review and are already included in Wine git. Józef has cleaned up Andrew‘s implementation of the return instruction, which is upstream now too.

Besides helping Andrew, Józef has been busy implementing Unordered Access Views (UAVs). They provide read-modify-write access to resources from shaders. Historically resources could either be read (Textures, Buffers) or written to (Render Targets), and it was not allowed to use the same resource for reading and writing at the same time. The OpenGL equivalent of this feature is called image load/store .

An open issue with anything newer than Direct3D9 is that wined3d still depends on legacy OpenGL 2 features and many drivers do not expose some features necessary for d3d10/11 in legacy contexts. With the MaxVersionGL key set wined3d will request a core context, but certain blitting corner cases are still broken. Mesa and the Nvidia binary driver mostly work. On MacOS you are most likely out of luck.

And finally here is a screenshot provided by Andrew showing Overwatch running on his Linux desktop:

Full Article

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

Saturday, December 10, 2016

The WineHQ Wine development release 2.0-rc1 is now available for Linux and Mac

The WineHQ Wine development release 2.0-rc1 is now available for Linux and Mac

This is the first release candidate for the upcoming Wine 2.0. It marks the beginning of the code freeze period. Please give this release a good testing to help us make 2.0 as good as possible.

What's new in this release:
  • Bug fix update of the Mono engine.
  • Support for IDN name resolution.
  • Many more Shader Model 5 operations.
  • Still more fixes in the regression tests.
  • Various bug fixes.
The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations.

Bugs fixed in 2.0-rc1 (total 25):

  13319  In dlls/user32/edit.c EDIT_EM_ReplaceSel Clobbers Important Var When Buffer Overflows
  17196  Text Editor Cursor can be scrolled outside editor
  24699  Explorer++ 1.2: crash when closing a tab
  29878  Rayman 3 Demo: beeping sound
  30385  Multiple applications need support for shell32.SHGetKnownFolderPath KF_FLAG_DEFAULT_PATH option (Windows Live Essentials 2011 web installer, MediaMonkey 4.1.x in Vista+ mode)
  32171  Netflix doesn't work in 64-bit WINEPREFIX
  32795  Easy Video Cutter 2.3 crashes on video loading
  33021  TurboTax 2012 wants ntdll.dll.EtwEventRegister (win7 mode)
  37138  Excel 2007 under wine crashes opening this file
  39886  Fallout 4 - GFSDK_GodraysLib.x64.dll failed to initialize
  39887  Fallout 4 - Fallout4Launcher.exe crashes
  40247  Wine returns the loopback IP as first item in GetIpAddrTable causing some licensed programs to fail due to invalid MAC address
  40359  Galactic Civilization III fails to start
  40804  Touhou 6, 7, 8, 10, 11 have severe fps drop.
  41055  "Texture ... does not have a drawable" on i915 with D3D8
  41059  Necropolis requires OMSetDepthStencilState Two-sided stencil testing when using DirectX 11
  41402  DDBST unusable due to "fixme:systray:wine_notify_icon unhandled tray message: 4"
  41454  Outlast 2 Demo requires R32G32_UINT and R32_UINT formats
  41493  Sniper Elite V2 stuck at "Completing Installation 1%"
  41508  Menu infinitely loops, the application hangs.
  41696  Multiple apps (Trials Fusion Demo, Outlast 2 Demo) require DXGI_FORMAT_R32G8X24_TYPELESS support
  41870  RPG Tkool (RPG Maker) 2k/2k3: winegstreamer doesn't play already played MP3 files
  41898  ToCA Race Driver 3 needs ntoskrnl.exe.RtlCopyMemory
  41924  Shadow Warrior 2 crashes on startup
  41950  ALDI Bestellsoftware crashes when trying to change the font

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

Saturday, December 3, 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.

Alexandre Julliard: Keynote
You can see the keynote here !

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.

You can see Aric’s full presentation here !

Aric also sent a mail explaining the current status to wine-devel :

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)

CodeWeavers Update
You can see the update here !

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 :-)

Full Article

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