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.

Saturday, November 26, 2016

The WineHQ Wine development release 1.9.24 is now available for Linux and Mac

The WineHQ Wine development release 1.9.24 is now available for Linux and Mac

What's new in this release:
  • Support for unordered access views in Direct3D.
  • Many fixes in the regression tests.
  • Some more improvements in HID support.
  • 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 1.9.24 (total 28):

  33636  wine cmd: invalid behaviour of '&' operator
  35343  dialog windows are too large
  35658  Anthem Room Correction 2 v1.0.1 reports 'Unknown COM error 0x80004001' (needs IAudioEndpointVolume::GetVolumeRange method implementation)
  36115  cabinet/fdi tests show some valgrind warnings
  38768  Stronghold 2 hangs when started.
  39724  Need For Speed Underground 2 crashes after several minutes of playing
  39734  ProtectDisc Driver 11: acedrv11.sys crashes
  40366  Avatarika installer fails
  40595  gdiplus:metafile test regression (test_frameunit)
  40596  gdiplus:metafile test regression (test_nullframerect)
  40695  Crash in Fallout New Vegas
  40791  N-Ball editor shows only a blackscreen
  40996  Deus Ex:Human Revolution fails to start when using DX11 renderer
  41021  Zombie Army trilogy needs msvcr100.dll._fpieee_flt
  41087  UE4 games (The Vanishing of Ethan Carter Redux, The Solus Project) crash while loading with "D3D11Query.cpp:139 # with error E_INVALIDARG"
  41090  Multiple games (Starcraft 2, UE4 games) require vcruntime140.dll.__intrinsic_setjmp
  41290  DirectShow applications: MP3 playback is broken if winegstreamer is disabled
  41308  iconfig.exe needs msvcr120.??0_Condition_variable@details@Concurrency@@QAE@XZ
  41451  Motocross madness: missing names of players
  41602  Videos do not play in Age of Empires
  41640  add rx 480 into directx.c
  41671  GOG Galaxy requires unimplemented function vcruntime140.dll.__std_terminate
  41683  Gauntlet start background is corrupted.
  41695  LeagueClient.exe Call to unimplemented function api-ms-win-crt-math-l1-1-0.dll.nearbyint
  41705  Build fails in dpnet: redefinition of typedef 'SOCKADDR'
  41719  crypt32:store test regression in testRegStoreSavedCerts()
  41721  hidtest.exe crashes on unimplemented function hid.dll.HidP_GetSpecificButtonCaps
  41736  build error: configure detects udev only partly

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

Saturday, November 12, 2016

The WineHQ Wine development release 1.9.23 is now available for Linux and Mac

The WineHQ Wine development release 1.9.23 is now available for Linux and Mac

What's new in this release:
  • HID bus support for macOS.
  • Color font support in Direct2D.
  • More color formats in Direct3D.
  • Uninstallation fixes in MSI.
  • 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 1.9.23 (total 32):

  11963  Myst V: End of Ages does not run
  17323  Superbase Dialogs are too small
  23255  Temper setup dialog button is inappropriately sized
  23838  iMule Crashes Upon Indexing Shared Files (dogfood)
  24995  Gpstrack Segfaults while copying text from right-click popup menu
  28132  MDDClone starts without audio unless 'Sound' tab is activated in the launcher
  28226  Sonic heroes 1.0 Crash after running.
  30187  Cisco IP Communicator installation fails (Cisco 'certmgr.exe' tool fails to install certificate to the system-wide trusted certificate store)
  30673  Smart Cutter 1.9.4 crashes when the button OPEN is pressed
  32752  Xanadu NEXT 3D does not show properly
  33524  Cannot select/copy text in PDF files created in Microsoft Office 2007 & 2010
  35397  Endless Steam Client Update even after fresh install (BSD 'read_directory_getdirentries' implementation broken)
  35733  Startopia: Models render with weird and completely unexpected offsets
  36101  Wow Hangs at login screen when coming from launcher (only with gxapi Opengl)
  36898  Unturned crashes
  38198  Colin McRae Rally 2005 crashes at start
  38489  debug_d3dusage Unrecognized usage flag(s) 0x10000000
  38972  Titan Souls Demo (Steam) crashes on unimplemented function OpenAL32.dll.alGenFilters
  39396  "Legend of Grimrock 2" editor flickers
  40110  d3d10core:device and d3d11:d3d11 regression
  40314 installer needs unimplemented function CRYPT32.dll.CertRegisterSystemStore
  40448  Final Fantasy XI: Missing character models, potential black screen and crashes
  40925  UE4 games (Flame in the Flood, Into the Stars, Ethan Carter Redux) crash when attempting to render to a 3D texture
  41071  Multiple applications needs api-ms-win-crt-stdio-l1-1-0.dll._wsopen_dispatch (PCSX2 1.4.0, StarCraft II 3.6.0)
  41428  The Forest: Terminal gets spammed with errors if Steam is running
  41589  Codename Panzers: Phase Two ( needs api-ms-win-crt-stdio-l1-1-0.dll._sopen_dispatch
  41596  Insane 2 crashes in the menu
  41638  Wordpad, errors when compiling its resources on Windows
  41642  S3CC921 programmer app needs ntoskrnl.exe.KeSetTimerEx
  41651  WScript object name on wine is case sensitive which should not be the case (vbscript)
  41655  Error on exiting package created with pyinstaller, needs msvcr100.dll._wfindnext32
  41688  Sonic Utopia crashes at launch

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

Tuesday, November 1, 2016

Q4Wine 1.3.3 has been released for Linux and Mac OSX

Q4Wine is a Qt GUI for Wine. It will help you manage wine prefixes and installed applications. It currently supported on Linux, FreeBSD and Mac OS X platforms.

Q4Wine was initially written by Alexey S. Malakhov aka John Brezerk. General idea comes from WineTools scripts which were initially written by Frank Hendriksen.

General features are:
  • Can export Qt color theme into wine colors settings;
  • Can easy work with different wine versions at same time;
  • Easy creating, deleting and managing prefixes (WINEPREFIX);
  • Easy controlling for wine process;
  • Autostart icons support;
  • Easy cd-image use;
  • You can extract icons from PE files (.exe .dll);
  • Easy backup and restore for managed prefixes;
  • Winetriks support;
  • And more: Explore it!;
 Changelog for 1.3.3:

  • Problem opening file dialog to mount ISO BUG-86;
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.