Wine 7.16 Brings Fixes for Saint's Row, Metal Gear, and Star Citizen (neowin.net) 28
It's the 29-year-old "compatibility layer" that lets Windows software run on Unix-like systems (including games). And Neowin reports that Wine's latest version has "meaningful fixes" for Steam Deck, HoloISO, and Chimera OS gamers.
Slashdot reader segaboy81 writes: Saint's Row players rejoice! Wine 7.16 has been released and ships with fixes for this, Metal Gear Solid and Star Citizen. [As well as Ragnarok Online.] Though Deck owners may have to wait for these changes to be merged upstream.
"There are a lot of fixes for other non-gaming Windows-y stuff," Neowin adds, "and you can check out those changes at WineHQ."
Slashdot reader segaboy81 writes: Saint's Row players rejoice! Wine 7.16 has been released and ships with fixes for this, Metal Gear Solid and Star Citizen. [As well as Ragnarok Online.] Though Deck owners may have to wait for these changes to be merged upstream.
"There are a lot of fixes for other non-gaming Windows-y stuff," Neowin adds, "and you can check out those changes at WineHQ."
iTunes (Score:2)
Re: iTunes (Score:2)
Re: (Score:2)
I use it to make local backups of my phone and occasionally add mp3 files. It’s a terrible piece of software.
Proton may get all the spotlight (Score:2)
Which Saints Row? (Score:2)
Wait... are we talking about Saints Row from 2006, or Saints Row from 2022 which some marketing genius decided should use the same name?
Re: (Score:2)
The article says it's the 2022 Saint's Row.
Re: (Score:2)
But that's all the craze now. Name your crappy knock-off like the classic, from Doom to Robocop, you will eventually trick some people into grabbing the wrong one and when they notice it, they already bought it.
Why does it need fixes for specific programs? (Score:2)
Either it emulates win32 et al correctly or it doesnt. Can someone explain?
Re:Why does it need fixes for specific programs? (Score:4, Informative)
WINE doesn't implement every Windows API, so they will sometimes (frequently?) focus on implementing the missing API's that are used by specific programs. The same goes for fixing bugs when they discover that particular programs won't run correctly under the existing implementation.
Re: (Score:1)
Re:Why does it need fixes for specific programs? (Score:5, Interesting)
Short answer - undocumented behaviour. Even Windows itself has a compatibility list, where it fudges some things to make a particular program work properly.
The target for Wine is not to implement the published Win32 API, it's to replicate the behaviour of Windows. And Windows doesn't always follow the documents - or the documents have gaps - and programmers write for the actual OS, not the spec.
Games are a particular issue as they're trying to get maximum performance, so will cut corners. The only real way to pin this down is find a program that doesn't run, figure out what's crashing it, figure out what it *expected* to happen, and then change the Wine spec to do that.
Re: (Score:3)
Re: (Score:3)
> It's not that Microsoft wrote code that said it did one thing but does another
Such behavior has been commonplace at Microsoft since DOS was first published. The unpublished and violated APIs are why various governments and companies wanted to leave Microsoft Office to switch to something with published, stable standards. This lead to the publication of OOXML, the public standard that was incomplete as published and has never been followed robustly by Microsoft. But it allows the check off the box on so
Re:Why does it need fixes for specific programs? (Score:4, Informative)
Quite often it isn't even Windows. Graphics drivers are also a clusterfuck of edge cases which is why the whole "Game Ready Drivers" from NVIDIA and AMD's equivalent are tuned to specific games, and this behaviour is also very much undocumented. No gamer ever reads a release note for an NVIDIA driver as they are mostly geared to developers, but they contain stuff like 511.23: "Fixed: [Detroit Become Human]: Random stuttering/freezing occurs in the game. [3389250]"
Re: (Score:2)
I can speak specifically to Star Citizen. So the game started adding customer power throttling information to their threads via the Win32 SetThreadInformation [microsoft.com] API. And WINE doesn't actually implement that. So the fix was to actually implement it in the "dlls/kernel32/thread.c" file. Now of course the implementation is just a stub, the entire function is defined as:
BOOL SetThreadInformation(HANDLE hThread,
THREAD_INFORMATION_CLASS threadInformationClass,
LPVOID threadInformation,
DWORD threadInformatio
I'd prefer (Score:2)
That a citizen named 'Star' will being me wine on every Saint's day.
Advertisement? (Score:2)
serial support (Score:2)
Games are fun and all, but how well does it support serial? Last time I tried, I could set up COM ports in Wine, but they just didn't work!
Re:serial support (Score:4, Informative)
Basic serial port access works just fine. I use it all the time in wine with proprietary windows-only software that communicates with devices via serial. As long as there's a symlink in your .wine/dos_devices folder to your serial device, and you have permissions set on the linux device node, it will work. It's a bit cumbersome because Windows simply numbers com ports so there's ambiguity from time to time as to which com port it is (especially when recent versions of wine auto-populate this folder). But you can always ls -l ~/.wine/dos_devices to see what points where. Would that windows had a system like udev gives you where you can do /dev/serial/by-id and see device-specific paths that are deterministic.
Re: (Score:2)
This gives me something to look into. Thanks for the info!
Re: (Score:1)
Re: (Score:1)
Re: (Score:1)
And with unix-like systems you can not access a serial port as user. You need root-access to set the permissions.
There is a reason why plain serial mostly has be replaced by USB....
The main fix Saints Row needs... (Score:1)
Is to be made as a sequel to the previous Saints Row games, by a team without progressive politics.
FTFY (Score:2)
Saint's Row player rejoice!.