Latest Comments by CatKiller
Linux Kernel patch being discussed to help Windows games run in Wine
1 Jun 2020 at 2:52 pm UTC Likes: 16
The issue is that Windows applications are using Windows system calls without going through Wine. Those system calls won't work, because Linux isn't Windows, and they can't be translated because they don't go through Wine.
They need a solution that will catch (self-modifying and obfuscated) code that doesn't go through Wine and somehow still make it work for all users, without breaking Wine for everything else. For that, it needs to go to the kernel - since that's where the system calls end up - and it needs some discussion to find the best approach, and it needs the kernel devs to agree that it's a good idea. Hence the Request For Comment.
I would say that the game developers have done something pretty manky, but this is the least-bad way of handling it if those games are to be made to be able to run.
1 Jun 2020 at 2:52 pm UTC Likes: 16
Quoting: scaineI'm a bit confused as to why they pushed this patch at all. If they only need to establish whether something is happening in Wine, or in Windows, can't they simply apply their patch to a locally-compiled kernel and test a few of the offending games/apps with that custom kernel loaded?They've already done that: that's how they have benchmarks on the relative performance of selectively trapping system calls. And while the Wine devs being able to play All The Games might be nice for them, I expect that they'd quite like other Wine users to be able to as well.
The issue is that Windows applications are using Windows system calls without going through Wine. Those system calls won't work, because Linux isn't Windows, and they can't be translated because they don't go through Wine.
They need a solution that will catch (self-modifying and obfuscated) code that doesn't go through Wine and somehow still make it work for all users, without breaking Wine for everything else. For that, it needs to go to the kernel - since that's where the system calls end up - and it needs some discussion to find the best approach, and it needs the kernel devs to agree that it's a good idea. Hence the Request For Comment.
I would say that the game developers have done something pretty manky, but this is the least-bad way of handling it if those games are to be made to be able to run.
Linux Kernel patch being discussed to help Windows games run in Wine
1 Jun 2020 at 2:40 pm UTC Likes: 1
1 Jun 2020 at 2:40 pm UTC Likes: 1
Reading over comments and how it's done, it's possible this can help anti-cheat systems too but as always, don't go getting hopes up over early work that's not complete or merged in yet.My reading of it was that they don't want to take an approach that will definitely break their anti-cheat work, rather than that this approach will specifically help.
Linux Kernel patch being discussed to help Windows games run in Wine
1 Jun 2020 at 8:09 am UTC Likes: 9
1 Jun 2020 at 8:09 am UTC Likes: 9
Quoting: elmapul"sidestepping the actual Windows API. "So, again, just as I understand it from reading bug reports about a game I'm vaguely interested in rather than from any in-depth knowledge, most programs will use some kind of library when they need to make some system calls to make something happen - libc or ntdll.dll, say - but it's also possible to just make system calls directly: libc and ntdll.dll need to be able to make their own system calls, too, of course. Windows and Linux both use the same mechanism for this (I think it's a processor instruction and registers?) but they use different numbers in the registers: that is, they'll both have a system call number 12, but there's no reason for it to necessarily do the same thing. In fact, which thing gets done by each number changes between versions of Windows, so the developers doing this need to check the version of Windows and use a look-up table to generate their numbers.
how is that even possible?
Linux Kernel patch being discussed to help Windows games run in Wine
1 Jun 2020 at 7:48 am UTC Likes: 8
1 Jun 2020 at 7:48 am UTC Likes: 8
Quoting: BeamboomIsn't this to punch holes in the os layer and open up for instabilities, hardware conflicts and massive security issues?The opposite. It's so that when a Windows application blindly uses Windows system calls on Linux they can be bounced back to Wine to be interpreted properly rather than naïvely followed or dropped. The seccomp framework already exists for trapping system calls, this is just to handle things more sensibly for this use case so that only Windows system calls need processing and Wine system calls can function unmolested. As I understand it.
Linux Kernel patch being discussed to help Windows games run in Wine
1 Jun 2020 at 7:43 am UTC Likes: 1
1 Jun 2020 at 7:43 am UTC Likes: 1
Quoting: PatolaDoes anyone know of any current use cases for this patch? Which Windows applications/games skip WinAPI calls to do syscalls directly?The two I read about a little while ago here [External Link] were Detroit: Become Human and Red Dead Redemption 2. I saw reference to some other culprits elsewhere, too, but I can't remember which they were right now.
Valve continues to improve Linux Vulkan Shader Pre-Caching
30 May 2020 at 9:07 pm UTC Likes: 11
The programs are written in whatever language and compiled to a portable Intermediate Representation, which is compatible with whichever cards follow the relevant standards. Those IRs are generally what get distributed with games, but they still can't be run directly. They need to be compiled into a form that will run on the specific hardware.
Once you've compiled the programs it would be handy if you could save them somewhere so that you didn't need to compile them again; that's the shader cache.
30 May 2020 at 9:07 pm UTC Likes: 11
Quoting: BeamboomIf I have understood what a shader is, I can not fathom how this works?Shaders are programs that run on your graphics card. When GPUs first became programmable, rather than fixed-function hardware pipelines, the first programs they could handle were for light calculations, so they're called shaders, but every part is programmable now.
The programs are written in whatever language and compiled to a portable Intermediate Representation, which is compatible with whichever cards follow the relevant standards. Those IRs are generally what get distributed with games, but they still can't be run directly. They need to be compiled into a form that will run on the specific hardware.
Once you've compiled the programs it would be handy if you could save them somewhere so that you didn't need to compile them again; that's the shader cache.
Red Planet Farming is a new free game about feeding colonists
30 May 2020 at 1:56 pm UTC
30 May 2020 at 1:56 pm UTC
I've been playing this with my little one. He loves the setting and the setup, and is delighted when the crops harvest themselves.
Historically-accurate WWII adventure Attentat 1942 looking at Linux builds
30 May 2020 at 1:46 pm UTC Likes: 1
30 May 2020 at 1:46 pm UTC Likes: 1
So, looking into it a bit more, as the documentation Liam linked to says, Unity uses platform libraries... but not on Linux. It doesn't use platform libraries in Linux even for the encodings that Unity supports: they wrote their own software decoder for VP8 and Vorbis and use that exclusively. That seems like duplicated effort for a suboptimal result to me, but they don't seem to have revisited it in four years, so I guess it's not a priority for them.
Interestingly, even on Windows, Intel had to write their own thing [External Link] to grab a video stream from Unity so that it could be hardware accelerated.
Interestingly, even on Windows, Intel had to write their own thing [External Link] to grab a video stream from Unity so that it could be hardware accelerated.
Historically-accurate WWII adventure Attentat 1942 looking at Linux builds
29 May 2020 at 9:22 am UTC
29 May 2020 at 9:22 am UTC
Quoting: Liam DaweYes, it's specific to the Unity video player. I see it quite often when testing games for developers. The Unity docs make it very clear what they work with on Linux, as I linked.Yeah, not doubting the accuracy of your reporting, just thinking that it's something that Unity could fix.
Historically-accurate WWII adventure Attentat 1942 looking at Linux builds
29 May 2020 at 9:10 am UTC
29 May 2020 at 9:10 am UTC
If you're using Unity, for Linux and video codecs you need to use either webm / vp8 or ogv (info here) otherwise it's black screens and freezing as I've seen too many times in Unity games.Is this a Unity problem? I thought the issue with games was that they weren't using platform codecs, but the Unity documentation there implies they do, and playing h.264 files on Linux hasn't really been a problem for quite a long time - unless your distro takes a free-software-only stance, which you'd already have needed to work around to install games.
- Linux smashes past 5% on the Steam Survey for the first time
- Framework becomes a KDE Patron helping to fund open source
- Ubuntu MATE seeking maintainers as the creator looks to move on
- Facepunch signed a license with Valve to allow standalone releases from s&box
- OldUnreal release new preview update for the classic Unreal Tournament 2004
- > See more over 30 days here
- The Great Android lockdown of 2026.
- Linux_Rocks - New Desktop Screenshot Thread
- Hamish - Away all of next week
- Xpander - What Multiplayer Shooters are yall playing?
- Liam Dawe - Proton/Wine Games Locking Up
- Caldathras - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck