Steam for Linux

Steam for Linux

catbox Feb 7, 2020 @ 11:14pm
Proton 5.0 released
https://steamdb.info/app/1245040/
https://github.com/ValveSoftware/Proton/releases/tag/proton-5.0-1

install manually with
steam steam://install/1245040

Proton 5.0-1 February 7, 2020 @aeikum aeikum released this 8 hours ago · 0 commits to proton_4.11 since this release Update Wine to version 5.0. Since the last major release of Proton, Wine has seen over 3500 changes, which are now integrated into Proton. 207 patches from Proton 4.11 were either upstreamed or are no longer needed. Direct3D 9 games will now use DXVK for rendering by default. Users without Vulkan support can return to the OpenGL-based wined3d renderer with the PROTON_USE_WINED3D configuration option. Improved Steam client integration. This makes more games that use Denuvo playable, including Just Cause 3, Batman: Arkham Knight, Abzu, and more. New Proton environments will report a newer OS version, which some newer games require. Existing environments will not be changed automatically. Wine 5.0 includes the beginnings of real multi-monitor support. Expect major improvements in this area soon. Improved surround sound support for older games. Update DXVK to v1.5.4. Update FAudio to 20.02. Note for users who build Proton: this branch has new submodules, please be sure to git submodule update --init. Assets 2 Source code (zip) Source code (tar.gz)

https://www.winehq.org/announce/5.0

Wine 5.0 Released January 21, 2020 The Wine team is proud to announce that the stable release Wine 5.0 is now available. This release represents a year of development effort and over 7,400 individual changes. It contains a large number of improvements that are listed in the release notes below. The main highlights are: - Builtin modules in PE format. - Multi-monitor support. - XAudio2 reimplementation. - Vulkan 1.1 support. This release is dedicated to the memory of Józef Kucia, who passed away in August 2019 at the young age of 30. Józef was a major contributor to Wine's Direct3D implementation, and the lead developer of the vkd3d project. His skills and his kindness are sorely missed by all of us. https://www.winehq.org/news/2019091101 ------------------------------ What's new in Wine 5.0 ====================== *** PE modules - Most modules are built in PE format (Portable Executable, the Windows binary format) instead of ELF when the MinGW compiler is available. This helps various copy protection schemes that check that the on-disk and in-memory contents of system modules are identical. - The actual PE binaries are copied into the Wine prefix instead of the fake DLL files. This makes the prefix look more like a real Windows installation, at the cost of some extra disk space. - Modules that have been converted to PE can use standard wide-char C functions, as well as wide-char character constants like L"abc". This makes the code easier to read. - Not all modules have been converted to PE yet; this is an ongoing process that will continue during the Wine 5.x development series. - The Wine C runtime is updated to support linking to MinGW-compiled binaries; it is used by default instead of the MinGW runtime when building DLLs. *** Graphics - Multiple display adapters and monitors are properly supported, including dynamic configuration changes. - The Vulkan driver supports up to version 1.1.126 of the Vulkan spec. - The WindowsCodecs library is able to convert more bitmap formats, including palette-indexed formats. *** Direct3D - Fullscreen Direct3D applications inhibit the screensaver. - DXGI swapchain presents inform the application when the corresponding window is minimized. This typically allows applications to reduce CPU usage while minimized, and is in some cases required to allow the application window to be restored again. - Switching between fullscreen and windowed modes using the standard Alt+Enter combination is implemented for DXGI applications. - The following features are implemented for Direct3D 12 applications: - Switching between fullscreen and windowed. - Changing display modes. - Scaled presents. - Swap intervals. These features were previously already implemented for earlier versions of the Direct3D API. - The handling of various edge cases is improved. Among others: - Out of range reference values for the alpha and stencil tests. - Sampling 2D resources with 3D samplers and vice versa. - Drawing with mapped textures and buffers. - Usage of invalid DirectDraw clipper objects. - Creating Direct3D devices on invalid Windows, like the desktop window. - Viewports with a minimum Z larger than or equal to the maximum Z. - Resources bound through both shader-resource views and render-target or depth-stencil views at the same time. - Blits between formats with and without alpha components. Since well-behaved applications don't rely on these edge cases, they typically only affect one or two applications each. There are nevertheless quite a number of them. - Dirty texture regions are tracked more accurately for Direct3D 8 and 9 texture uploads. - Uploads of S3TC-compressed 3D textures require less address space. Since 3D textures can be potentially large, and address space exhaustion is a concern for 32-bit applications, S3TC-compressed 3D textures are uploaded per-slice, instead of in a single upload. - The ID3D11Multithread interface is implemented. - Various lighting calculation fixes and improvements for older DirectDraw applications have been made. - Limited support for blits across swapchains is implemented. - More shader reflection APIs are implemented. - The wined3d CPU blitter can handle compressed source resources. Support for compressed destination resources was already implemented in a previous release. - The Direct3D graphics card database recognizes more graphics cards. - New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys: - "shader_backend" (REG_SZ) The shader backend to use. Possible values are "glsl" (default) for GLSL, "arb" for ARB vertex/fragment programs and "none" to disable shader support. - "strict_shader_math" (REG_DWORD) Enable (0x1) or disable (0x0, default) stricter translation of Direct3D shaders, potentially at a performance cost. This currently only makes a difference with the default GLSL shader backend in combination with the proprietary NVIDIA drivers. - Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key: - "UseGLSL" This has been superseded by the "shader_backend" setting above. *** D3DX - Support for compressing textures using S3TC-compression is implemented. - Various operations, like e.g. texture fills, on unmappable surfaces are implemented more correctly. Previously their implementation relied on the underlying Direct3D implementation not enforcing mapping restrictions. - Various improvements and fixes have been made to the effect framework. *** Kernel - Most of the functions that used to be in Kernel32 are moved to KernelBase, to follow the architecture of recent Windows versions. - Libraries of the wrong 32/64-bitness are ignored when found in the search path, to enable loading the correct one if it's found further in the path. - Kernel objects are better emulated for device drivers that expect to manipulate objects from the kernel side. - The kernel-level synchronization objects like spin locks, fast mutexes, remove locks, and resource variables are implemented. - The system battery state is properly reported to applications. *** User interface - Minimized windows are displayed using their title bar instead of the old Windows 3.1-style icons. - The new button styles Split Buttons and Command Links are implemented. - The Edit control sets margins correctly also for CJK fonts. *** Desktop integration - Symbolic links to the corresponding Unix directories are created for the 'Downloads' and 'Templates' folders. *** Input devices - Plug & Play device drivers can be installed and loaded on startup. - Game controllers are better supported, including proper support for hat switch, wheel, gas and brake controls. - The old joystick API of Linux versions earlier than 2.2 is no longer supported. *** .NET - The Mono engine is updated to version 4.9.4, including parts of the Windows Presentation Foundation (WPF) framework. - The Gecko and Mono add-ons support shared installation, where the files are used directly from a global location under /usr/share/wine instead of being copied into every new prefix. *** Internet and networking - The Gecko engine is refreshed to support recent toolchains. - A number of new HTML APIs are implemented. - MSHTML supports some SVG elements. - Error object and exception propagation are supported in VBScript. - A number of VBScript builtin functions are implemented. - JScript EcmaScript compliant mode is extended to support more features. - JScript and VBScript script objects expose type info interfaces. - The HTTP proxy configuration can be retrieved through DHCP. - Passport HTTP redirects are supported. - The HTTP service and corresponding client-side library (HTTPAPI) are partially implemented. *** Cryptography - ECC (elliptic-curve) keys are supported when using GnuTLS. - Importing keys and certificates from PFX blobs is implemented. - The PBKDF2 key derivation algorithm is supported. *** Text and fonts - OpenType positioning features are supported in DirectWrite, and enabled for Latin script by default, including kerning. - Font data access is made safer by validating the various data tables before using them. - DirectWrite interfaces are updated to a recent SDK, implementing some of the latest API additions. *** Audio / Video - The XAudio2 libraries are reimplemented to use the external FAudio library, for better compatibility. - The Media Foundation libraries are fleshed out, including: - Support for builtin and user async work queues. - Ability to submit periodic callbacks, waiting, scheduled, and regular work items, with support for item priority. - Support for media event queues. - Various core API to handle media type objects, stream and presentation descriptors, object attributes, byte stream objects, samples and buffers. - Initial Source Resolver implementation. - Initial implementation of Source Reader API. - Implementation for Sample Grabber object. - Core support for building topology objects. - Builtin presentation clock implementation, started implementing Media Session functionality. - The video capture filter has been ported to use v4l2 instead of the deprecated v4l1 API, allowing the use of some cameras which do not support v4l1. - Support for YUV to RGB translation and reading from v4l2 devices using mmap() has been removed; we now depend on libv4l2 for both of these things. - The builtin AVI, MPEG-I, and WAVE decoders have been removed; we now depend on GStreamer or the Mac QuickTime Toolkit to decode such media files. - Some more VMR7 configuration APIs are implemented. - The sound drivers support per-channel volume adjustments. *** Internationalization - Unicode character tables are based on version 12.1.0 of the Unicode Standard. - Unicode normalization is implemented. - The geographic region id is automatically set in the registry based on the current locale. It can be modified if necessary under HKEY_CURRENT_USER\Control Panel\International\Geo. - The Sinhalese and Asturian locales are supported. - Codepage 28601 (Latin/Thai) is supported. *** RPC/COM - The typelib marshaller supports complex structs and arrays. - There is an initial implementation of the Windows Script runtime library. - There is an initial implementation of the Microsoft ActiveX Data Objects (ADO) library. *** Installers - Microsoft Installer (MSI) Patch Files are supported. - The WUSA tool (Windows Update Standalone Installer) supports installing .MSU update files. *** ARM platforms - Exception unwinding is implemented for ARM64, using the libunwind library. - OLE stubless proxies are supported on ARM64. *** Development tools / Winelib - The Visual Studio remote debugger can be used to debug applications running under Wine. - The Debug Engine library (DBGENG) is partially implemented. - Binaries built for a Windows target no longer depend on the libwine library, to enable them to run on Windows without any extra dependencies. The libwine library is no longer built for Windows at all. - The Resource Compiler and IDL Compiler support a '--sysroot' option to allow locating header files in cross-compile environments. - Winegcc supports the options '--target', '--wine-objdir', '--winebuild' and '-fuse-ld' that make it easier to use as a cross-compiler, or with custom toolchains. - The wine/unicode.h header is no longer available to applications, since the functions will ultimately be removed and replaced by the standard C runtime wide character functions. *** Build infrastructure - Test binaries are built in PE format if MinGW is available, so the same test binary can run on both Wine and Windows. The 'crosstest' make target is no longer needed or supported. - The 'fastcall' calling convention is supported in spec files. It uses the correct name mangling for Windows builds. - A '-import' entry point flag is supported in spec files, to mark functions that need a hotpatch code prefix to be generated for their import thunks. - Winebuild supports a '--builtin' option to add a special signature to PE binaries to mark them as Wine builtins. *** Builtin applications - The CHCP tool is implemented. It allows setting the console codepage. - The MSIDB tool is implemented. It allows manipulating MSI databases. *** Performance improvements - The various time functions use higher performance system clocks if available, to reduce the overhead in the rendering loop of many games. - File lookups take advantage of the ext4 filesystem case folding support if it's enabled on the directory being searched. - No-data style listboxes (LBS_NODATA) have better performance for large numbers of items. - Slim Reader/Writer locks, keyed events, and condition variables use futexes on Linux to avoid wineserver round trips. *** New external dependencies - The MinGW-w64 cross-compiler is used to build modules in PE format. - The FAudio library is used to implement XAudio2. - The Inotify library is used for file change notifications on BSD platforms. - The Unwind library is used for exception handling on ARM64. - The Video4Linux version 2 library is used instead of version 1. -- Alexandre Julliard @winehq.org
Last edited by catbox; Feb 8, 2020 @ 3:14am
< >
Showing 1-15 of 20 comments
SirZarmo Feb 8, 2020 @ 12:47am 
Yeah!
Thanks!
Cat on Linux Feb 8, 2020 @ 3:28am 
I already know one game that benefits from wine 5.x - Arcanum. it had very slow menus and visual artifacts ingame, sometimes loaded scene for minutes. Yesterday I tried it with wine 5 and everything worked out of the box. I bet there's more games that will benefit from using wine 5, nice to see proton version already
Marlock Feb 8, 2020 @ 4:01am 
Folks,

5.0 is a stable Wine release, so it's a particularly important one to be testing.

Lets get ProtonDB pumping!!!
[GNU] Debian ☭ Feb 8, 2020 @ 5:50am 
Haha! GGWP!!! It is amazing that i can run my Linux (Debian) as a router, firewall, server, desktop and game/multimedia platform with minimal changes!!!
I can say that Tales of Berseria now works.
dumpBikes Feb 8, 2020 @ 9:04am 
You can also install by Going into Steam menu, Settings, Steam Play, Run Titles with Proton 5
黑神話: Feb 9, 2020 @ 1:44am 
Works Fine with POP-OS 19.1 under NVIDIA Gpu (GP106M)
Test Game: GTAV
Marlock Feb 9, 2020 @ 4:22am 
A couple of changelog entries for Proton 5.0 deserve a comment here:
https://github.com/ValveSoftware/Proton/releases/tag/proton-5.0-1

Direct3D 9 games will now use DXVK for rendering by default. Users without Vulkan support can return to the OpenGL-based wined3d renderer with the PROTON_USE_WINED3D configuration option.
A lot more games will need Vulkan to work by default, and this note doesn't mention automatic fallback if vulkan libs aren't installed yet. It may be there, but benefit from Vulkan without much hassle if available, so stay tuned to recommend people to install Vulkan even for older lighter games, and to try "PROTON_USE_WINED3D" if they upgrade to Proton 5 and something stops working.

Improved Steam client integration. This makes more games that use Denuvo playable, including Just Cause 3, Batman: Arkham Knight, Abzu, and more.
It's happening! They are managing to calm some anticheats down inside Proton!
Anyone know a way to list games by the anticheat they use?

New Proton environments will report a newer OS version, which some newer games require. Existing environments will not be changed automatically.
If I'm interpreting this right, it's a fix for some game issues that will require deleting and regenerating the Proton game prefix folder. So when recommending people to upgrade to Proton 5, also tell them to try deleting the broken game's old prefix folders to help make them work.

Wine 5.0 includes the beginnings of real multi-monitor support. Expect major improvements in this area soon.
Improved surround sound support for older games.
So exciting!!! :steamhappy:


edit:
As an additional note, this came in with DXVK 1.5.2 (Proton 5 brought in 1.5.4 and this has not changed) which may be relevant to Nvidia users, especially now with d9 via DXVK by default:
https://github.com/doitsujin/dxvk/releases/tag/v1.5.2

Vulkan 1.1 is now required, which means that very old drivers will no longer be able to run DXVK:
- AMD / Intel: Mesa 17.3 and older
- Nvidia: 390.xx and older

It is my understanding that this is a common version yet, as IIRC it's the default newest version for Ubuntu 18.04 and thus Linux Mint 19.x as well, plus also the latest legacy version (but I'm not on the Green Team, so please correct me if any of this is wrong).

I think it holds very little relevance for AMD/Intel as AFAIK most distros are already packing newer versions of Mesa even in their LTS distribuitions. Linux Mint 19.x is currently defaulting to Mesa 19.2, and likely Ubuntu 18.04 is at it too.
Last edited by Marlock; Feb 9, 2020 @ 4:37am
Cat on Linux Feb 9, 2020 @ 4:34am 
Originally posted by Marlock:
A couple of changelog entries for Proton 5.0 deserve a comment here:

Direct3D 9 games will now use DXVK for rendering by default. Users without Vulkan support can return to the OpenGL-based wined3d renderer with the PROTON_USE_WINED3D configuration option.
A lot more games will need Vulkan to work by default, and this note doesn't mention automatic fallback if vulkan libs aren't installed yet. It may be there, but stay tuned to recommend people to install Vulkan even for older lighter games, and to try "PROTON_USE_WINED3D" if they upgrade to Proton 5 and something stops working.

I tested it on old rig without Vulkan support, it selects d3d automatically, everything works. this option can be useful for GPUs with Vulkan support where wine will try to use Vulkan by default.
Nvidia 340.xxx or something similar, legacy driver
Last edited by Cat on Linux; Feb 9, 2020 @ 4:35am
Marlock Feb 9, 2020 @ 4:35am 
Originally posted by Cat on Linux:
I tested it on old rig without Vulkan support, it selects d3d automatically, everything works. this option can be useful for GPUs with Vulkan support where wine will try to use Vulkan by default.
Awesome!

Crossed off in the previous post!
Cat on Linux Feb 9, 2020 @ 4:36am 
Originally posted by Marlock:
Originally posted by Cat on Linux:
I tested it on old rig without Vulkan support, it selects d3d automatically, everything works. this option can be useful for GPUs with Vulkan support where wine will try to use Vulkan by default.
Awesome!

Crossed off in the previous post!
it's for wine 5, I tested about 10 games in wine 5, not a Proton itself. let me do quick check with Proton if it gives same results

upd. both wine 5 and proton 5 work fine on old GPU without Vulkan support. tested with 3 games I played with proton 4 - same good result.
Last edited by Cat on Linux; Feb 9, 2020 @ 4:42am
Cat on Linux Feb 9, 2020 @ 10:02pm 
Originally posted by catbox:
Originally posted by Marlock:


If I'm interpreting this right, it's a fix for some game issues that will require deleting and regenerating the Proton game prefix folder. So when recommending people to upgrade to Proton 5, also tell them to try deleting the broken game's old prefix folders to help make them work.

ive tested some in place switching from 4.11 to 5 and no problems
i am hesitant to recommend people delete the relevant compdata/pfx folder
*some* games store saved games in there
im not familiar how many do or which ones but this should be considered
:cozycastondeath:

some games indeed save everything inside of prefix in transparent folders (for cloud saves), if game has properly working could saves there's no harm to erase prefix, but if there's an issue or game does not support cloud saves it can remove configs and saves.
if it's the case where you need to switch from older version it's sufficient to switch version in settings, it should work.
darkshvein Feb 26, 2020 @ 11:50am 
tes4 oblivion cannot launch((
even launcher. I want to test new dxvk engine, but it cannot work(
Cat on Linux Feb 26, 2020 @ 12:13pm 
Originally posted by darkshvein:
tes4 oblivion cannot launch((
even launcher. I want to test new dxvk engine, but it cannot work(
Oblivion have to run, there's no reason not to. but maybe not with dxvk :) try wined3d instead
< >
Showing 1-15 of 20 comments
Per page: 1530 50

Date Posted: Feb 7, 2020 @ 11:14pm
Posts: 20