Pages

Thursday, February 10, 2022

What is Valve Proton

What is Valve Proton? The Steam Deck’s live-or-die Linux software, explained

The Steam Deck's success will hinge on Proton, a Valve technology that lets Windows games run on Linux. Here's what you need to know. 
 
Looking at the spec sheet alone, the $399 Steam Deck gaming handheld should be a winner—and early Steam Deck reviews certainly suggest Valve nailed it on the hardware front. The PC-centric Nintendo Switch rival features a big 7-inch touchscreen, plenty of control inputs, an all-AMD chip based on the same hardware inside the Xbox Series S|X and PlayStation 5, and the ability to double as a full-fledged Linux PC. But forget the hardware. While it’s impressive indeed, the Steam Deck will sink or swim based on its software, and that means Valve awesome Proton technology is about to be thrust into the spotlight.
 

The Steam Deck will sprint to a larger software library than most gaming handhelds because you’ll be able to tap into decades of existing PC games through your Steam account, rather than having to wait for new releases made specifically for the fresh hardware. But most of those games were created for Windows, and the Steam Deck runs on Valve’s Linux-based SteamOS operating system instead. Proton (via Steam Play) lets Windows games run on Linux. It works very well much of the time, but it’s not perfect—and the Steam Deck’s success probably depends on just how much Valve can polish up Proton before the handheld’s February 25 launch. The best hardware in the world is only as good as the software that runs on it, after all.

Here’s a high-level look at what you need to know about Proton, the Steam Deck’s secret software sauce.

What is Steam Proton?

At a high level, Proton is a compatibility layer that allows Windows games to run on Linux-based operating systems (such as the Steam Deck’s SteamOS). In the past, playing PC games on Linux required you to run Steam games through software called Wine (an acronym for “Wine is not an emulator.”). Valve worked with CodeWeavers developers to build Proton as a fork of Wine, then baked the technology right into Steam itself as part of Steam Play, the company’s “buy once, play on any PC platform” endeavor.

Valve created Proton after its living room-focused Steam Machine initiative failed, partly because of their reliance on the much-smaller Linux gaming library. “There was always kind of this classic chicken and egg problem with the Steam Machine,” designer Scott Dalton told IGN. “That led us down this path of Proton, where now there’s all these games that actually run.”

If you’re interested in industry inside baseball, Proton and SteamOS also double as a potential escape hatch from Windows if Valve ever needs it.

How do you set up Steam Proton?

steam deck multiplayer

Hey Valve: This should just work, with Proton support activated by default on the Steam Deck.

Currently, Steam for Linux does not flip on Proton by default. You need to manually enable it or stick to games that offer a native Linux port. Considering how few games offer native Linux versions, we’re strongly hoping Valve makes Proton/Steam Play enabled by default on the Steam Deck, or there will be a lot of unhappy customers.

If you’re already using Linux, you can turn on Proton by opening your Steam settings and clicking on the “Steam Play” option at the bottom of the navigation pane. (The option won’t be visible on Windows PCs.) There, you’ll see a box you can check to “Enable Steam Play for supported titles.” That turns on Proton for games confirmed to work well with the technology, added to a whitelist by Valve. You’ll also see an advanced option to “Enable Steam Play for all other titles,” which will flip on Proton for everything after you restart the client.

Will all my games work on Steam Deck with Proton?

Will all games work? That’s the million dollar question.

steam deck main

Notice that none of the games in this Steam Deck promotional image are massively popular multiplayer titles.

Valve has been steadily improving Proton ever since it launched in 2018, and many—most, even—Windows games run pretty well via Steam Play with little to no tinkering. Your best resource for determining how a game runs is the utterly fantastic ProtonDB, a community-made treasure trove of information that currently tracks almost 19,000 games, of which over 15,000 work on Linux. The site also maintains a very helpful troubleshooting FAQ for Proton games. (Be sure to leave reports of your own if you use Proton and Steam Play!)

As those numbers indicate, some games are just plain “borked” on Linux, to borrow ProtonDB’s term. The most common casualties? Sadly, the most popular games around—battle royale games and esports titles. Proton’s compatibility layer tweaks don’t play nice with the anti-cheat software deployed in widely played online games. Valve made sure to get its own Counter-Strike: Global Offensive and Team Fortress 2 running on Linux, but heavy hitters like PlayerUnknown’s Battlegrounds, New World, Apex Legends, and Destiny 2 still won’t run.

ProtonDB February 2022 top 1000 stats

Screenshot of ProtonDB.com

That’s a massive bummer, and as you can see from the ProtonDB stats about game compatibility above, it means that many of the most popular games in the world couldn’t be played on a Steam Deck currently. Epic recently stated it won’t work to support Fortnite on the Steam Deck either. (Notice how the percentage of red “borked” games in the top ten is much, much, much higher than in the top 100 and top 1000—that’s because those multiplayer games dominate the top-played charts.)

Valve understands what a huge roadblock this could be. While BattlEye and the Epic-owned Easy Anti-Cheat lacked Proton support whatsoever when the Steam Deck was announced, but Valve has worked with those developers to get the technology up and running on SteamOS. At the end of January 2022, in a Steam Deck Anti-Cheat Update, Valve declared that “Our team has been working with Epic on Easy Anti-Cheat + Proton support over the last few months, and we’re happy to announce that adding Steam Deck support to your existing EAC games is now a simple process, and doesn’t require updating game binaries, SDK versions, or integration of EOS. Alongside our BattlEye updates from last year, this means that the two largest anti-cheat services are now easily supported on Proton and Steam Deck.”

Developers still need to update their games to support the technologies on SteamOS, but with BattlEye and Easy Anti-Cheat now playing nice with Proton, the Steam Deck will launch with its biggest hurdle already cleared. That doesn’t mean everything is roses and sunshine though. As you see in the ProtonDB screenshot above, about 20 percent of the top 100 and 1000 games on Steam lack a Gold+ compatibility rating with Proton, and Linus Tech Tips noticed that Forza Horizon 5 suffered from some bizarre physics and lighting effects even when running at 60 frames per second. The vast majority of games run very well on Proton already, and that’s a monumental success for Valve and Linux gaming alike, but every hiccup and pain point could potentially be a deal-breaker for casual users enticed by the Steam Deck’s juicy $400 selling price.

All the appealing hardware and just-as-appealing prices won’t matter if PC gamers can’t play their favorite games on Valve’s handheld. As a general consumer device, the Steam Deck will live or die on the back on Proton—and whether Steam Play can indeed coax multiplayer developers into supporting it. Fingers crossed.

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

Friday, February 4, 2022

World Wine News issue 411

This is the 411th issue of World Wine News. Its main goal is to inform you of what's going on around Wine. Wine is an open-source implementation of the Windows API on top of X and Unix. Think of it as a Windows compatibility layer. Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code. 

The full article is here

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

 

Friday, January 28, 2022

World Wine News issue 410

This is the 410th issue of World Wine News. Its main goal is to inform you of what's going on around Wine. Wine is an open-source implementation of the Windows API on top of X and Unix. Think of it as a Windows compatibility layer. Wine does not require Microsoft Windows, as it is a completely alternative implementation consisting of 100% Microsoft-free code. 

The full article is here

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

 

Wine development release 7.1 is now available for Linux FreeBSD and macOS

The Wine development release 7.1 is now available.

What's new in this release:

  • Vulkan 1.3 support.
  • A number of theming fixes.
  • WebSocket improvements.
  • Improved cursor clipping on macOS.
  • IDL compiler fixes for C++.
  • 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 7.1 (total 42):

  10924  Netbeans 6.x installer hangs or exits silently
  15635  Siemens SIMATIC STEP 7: can't use Next or Cancel when installing
  20415  eRightSoft SUPER v2009-b35 window unviewable and non-responsive
  21935  AceMegaCodecsPack gives error message on install
  25053  Final fantasy 7 videos do not play, though supported by gst-ffmpeg
  27679  Arx Fatalis does not play intro movie (video: indeo 5.0)
  33756  Word 2003: Formula symbols get outside formula frame
  34753  Rising Kingdoms Demo intro videos are not played
  35063  Multiple InstallShield technology based installers report "unable to create InstallDriver instance" (Peachtree Pro Accounting 2007, Age of Empires 3)
  39795  when working jriver mediacenter suddenly crash.
  42660  QTranslate crashes inside jscript.dll
  43899  x360ce closes after launch
  45016  Far Cry 5 crashes at startup
  45597  Flicker in GTAIV
  47975  X3 Albion Prelude - Unhandled page fault on read access
  48523  dlls/toolhelp16.dll16 LocalFirst and LocalNext only return LMEM_FIXED handles
  48606  HexChat: Check for update fails
  49213  TeamViewer 15.x crashes on startup
  50370  Gothic 1 doesn't start correctly when screen resolution of the game matches display resolution
  50433  'MsiBreak' custom action debugging aid should use custom action's name from 'CustomAction' table (currently uses 'Target' field)
  50539  SetWindowRgn doesn't work correctly
  50544  Application crashes when external database called
  50849  Multiple .NET 4.x app installers using WiX v3 'InvokeOutOfProcManagedCustomAction, CAInvokeMethod->Invoke_3 return incorrect result with Wine-Mono (Elgato Stream Deck 4.9.3, Garmin Express 6.13)
  50901  Google Chrome 89.0.4389.114 exits at startup
  51163  WinOffice Pro 5.3 stops after splashscreen, needs WMI class SoftwareLicensingProduct
  51354  WRC 7 needs ID3DUserDefinedAnnotation interface
  51491  Project CARS 2 periodically crashes during a race
  51706  Msi HANDLE_CustomType1 fails to load dll [patch]
  51758  Wine's time zone information has gaps in "Dynamic DST" causing InvalidTimeZoneException
  51860  Missing include for uid_t on musl-based systems
  51868  Pokémon Banished Platinum - Fails To Load Script(s) in Wine
  51900  regression: REAPER scrollbars flash between themed and non-themed
  52062  dinput HID joystick doesn't implement effect state reports.
  52158  Age of Empires 3 Definitive Edition multiplayer fails to start AES problem
  52163  postgresql-9.3 installer expects scrrun:filesys_GetTempName to return filename with TMP suffix
  52261  Sekiro: Shadows Die Twice GOTY crashes right before gameplay starts
  52285  7-zip: column titles are not rendered initially when using a theme
  52298  Opening PPT with Freeoffice Presentations crashes on unimplemented function ole32.dll.OleConvertIStorageToOLESTREAMEx
  52339  EzViz: Program does not respond after clicking once
  52383  WXWork has high CPU usage on login screen
  52426  BCryptSignHash mishandles empty arguments
  52446  Normal dlls with native subsystem id are no longer processed when importing system dlls with uppercase names

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