Latest Comments by F.Ultra
Steam Play Proton 5.0-8 has a Release Candidate up for testing
3 Jun 2020 at 3:25 pm UTC
3 Jun 2020 at 3:25 pm UTC
Wonder what the fix for Splinter Cell Blacklist is, cannot find any closed bugs for it on their github.
Linux Kernel patch being discussed to help Windows games run in Wine
2 Jun 2020 at 7:12 pm UTC Likes: 1
I guess that based on how "crazy" some of the game devs can by sometimes when they read on some webpage that "do X for performance" then they just do it without thought. One such example was the guy that where porting some game to Stadia and complained about his spinlock behaviour on Linux: https://www.realworldtech.com/forum/?threadid=189711&curpostid=189723 [External Link] when the real and obvious answer was "don't use spinlocks in userspace, ever", but the dev had used them "for performance" when in the end it turned out that using the proper locks the performance was actually much better :)
2 Jun 2020 at 7:12 pm UTC Likes: 1
Quoting: CatKillerI'm not sure why this didn't occur to me before.Just guessing here since I'm #1 not a Windows dev and #2 not a Game dev, but this could be due to some high hopes optimizing since the library calls perform some sanity checks and massaging of the data that you send in so a direct syscall is some ns faster. And there exists lots of projects like this one: https://github.com/JustasMasiulis/inline_syscall [External Link] that provides easy access to the direct syscalls under Windows.
Using system calls directly seems like a very silly thing to do with a Windows game, but that's not necessarily as true for an Xbox game. I think the developers that have done this will still get bitten by the support costs caused by the fragility of their chewing-gum-and-string coding method, but it might not be as insane as it might first appear.
So perhaps Quantic Dream have an Xbox version that they haven't released yet, or they found it easier to go PlayStation -> Xbox -> Windows for some reason.
I guess that based on how "crazy" some of the game devs can by sometimes when they read on some webpage that "do X for performance" then they just do it without thought. One such example was the guy that where porting some game to Stadia and complained about his spinlock behaviour on Linux: https://www.realworldtech.com/forum/?threadid=189711&curpostid=189723 [External Link] when the real and obvious answer was "don't use spinlocks in userspace, ever", but the dev had used them "for performance" when in the end it turned out that using the proper locks the performance was actually much better :)
Linux Kernel patch being discussed to help Windows games run in Wine
2 Jun 2020 at 6:48 pm UTC Likes: 1
2 Jun 2020 at 6:48 pm UTC Likes: 1
Quoting: scaine68020 assembler is a league of beauty and non-complexiness above i386 so you should actually feel lucky ;). I have a few hundred floppys with 68000 assembler code in the basement, don't know if they still are readable though...Quoting: F.UltraJesus, I'm getting wild, unwelcome flashbacks to the mid-80's and trying to learn 68020 assembler to get a simple text message scrolling smoothly across the screen! I got there, but I paid for that in blood and almost literal tears. Never again!Quoting: CatKillerExactly this! on i386 you put the syscall number in the eax register and some other data in other registers depending on the syscall and then you raise the $80 interrupt. On x86_64 they implemented a pure syscall instruction on the CPU.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?
Here is an old "Hello World" example that calls the sys_write syscall (syscall 4) to write the "hello world" string to stdout and then it calls exit (syscall 1) to let the kernel terminate the "application" with a proper exit code.
.data
s:
.ascii "hello world\n"
len = . - s
.text
.global _start
_start:
movl $4, %eax /* write system call number */
movl $1, %ebx /* stdout */
movl $s, %ecx /* the data to print */
movl $len, %edx /* length of the buffer */
int $0x80
movl $1, %eax /* exit system call number */
movl $0, %ebx /* exit status */
int $0x80
Linux Kernel patch being discussed to help Windows games run in Wine
1 Jun 2020 at 11:53 pm UTC Likes: 5
Here is an old "Hello World" example that calls the sys_write syscall (syscall 4) to write the "hello world" string to stdout and then it calls exit (syscall 1) to let the kernel terminate the "application" with a proper exit code.
1 Jun 2020 at 11:53 pm UTC Likes: 5
Quoting: CatKillerExactly this! on i386 you put the syscall number in the eax register and some other data in other registers depending on the syscall and then you raise the $80 interrupt. On x86_64 they implemented a pure syscall instruction on the CPU.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?
Here is an old "Hello World" example that calls the sys_write syscall (syscall 4) to write the "hello world" string to stdout and then it calls exit (syscall 1) to let the kernel terminate the "application" with a proper exit code.
.data
s:
.ascii "hello world\n"
len = . - s
.text
.global _start
_start:
movl $4, %eax /* write system call number */
movl $1, %ebx /* stdout */
movl $s, %ecx /* the data to print */
movl $len, %edx /* length of the buffer */
int $0x80
movl $1, %eax /* exit system call number */
movl $0, %ebx /* exit status */
int $0x80
Valve continues to improve Linux Vulkan Shader Pre-Caching
30 May 2020 at 3:29 pm UTC
30 May 2020 at 3:29 pm UTC
Quoting: VundultDoes anyone know if this will work with non-steam games added to your library?I have a hard time believing that they even could make that work.
Wine 5.9 is out with major WineD3D Vulkan work
23 May 2020 at 2:34 pm UTC
23 May 2020 at 2:34 pm UTC
Quoting: Xaero_VincentSo any examples of WineD3D Vulkan vs DXVK? Anything Vulkan work yet? I'd like to try it out.Well Splinter Cell: Blacklist for one only works with WindeD3D
GNOME and Rothschild Patent Imaging settle
22 May 2020 at 12:43 pm UTC Likes: 5
And take not just my word for it, here is a direct quote from Bill Gates himself in a 1991 internal Microsoft memo:
22 May 2020 at 12:43 pm UTC Likes: 5
Quoting: STiAT150k for over 100 patents does not sound a lot. It isn't. The walk away settlement speaks of that.Software patents should never have been allowed by the USPTO in the first place. The only thing that saved the US software industry from total collapse was that no one in the industry really understood that there where such a thing as software patents until very late, if this had been found earlier then we would most likely still be left in the pre MS-DOS days still.
Seems this company wanted to make sure their patents are not used by commercial big players, and realized there is little gain not providing it for open source since it helps adoption. Restricting would mean they just do not support it.
I still struggle with patents overall, I still think they prevent innovation. But a kind of deal where they are free to use for free software but not commercial products, well... I understand that very well. If someone wants to make money using your innovations.. though, that's not the OSS paradigm... it's fine for me.
We see all the open source development bringing big business to global players. Not a bad thing if they fund it too, which for some projects is true. For many it isn't.
But I think we live in times where the paradihm shifts. And we'll see more of it. For the better or worse, we can't say yet.
And take not just my word for it, here is a direct quote from Bill Gates himself in a 1991 internal Microsoft memo:
If people had understood how patents would be granted when most of today's ideas were invented, and had taken out patents, the industry would be at a complete standstill today.
I feel certain that some large company will patent some obvious thing related to interface, object orientation, algorithm, application extension or other crucial technique.
If we assume this company has no need of any of our patents then they have a 17-year right to take as much of our profits as they want. The solution to this is patent exchanges with large companies and patenting as much as we can. Amazingly we haven't done any patent exchanges that I am aware of.
Amazingly we haven't found a way to use our licensing position to avoid having our own customers cause patent problems for us. I know these aren't simple problems but they deserve more effort by both Legal and other groups. For example we need to do a patent exchange with HP as part of our new relationship.
In many application categories straighforward thinking ahead allows you to come up with patentable ideas. A recent paper from the League for Programming Freedom (available from the Legal department) explains some problems with the way patents are applied to software.[1][2][3]
A look at the Penumbra Collection on Linux with Mesa in 2020
22 May 2020 at 12:34 pm UTC
22 May 2020 at 12:34 pm UTC
I just tested Overture on my Ubuntu 18.04 and I experienced no crashes when leaving the fishing boat, this was using the Steam version so this is most likely due to the game using the Steam runtime.
A look at the Penumbra Collection on Linux with Mesa in 2020
22 May 2020 at 12:23 pm UTC Likes: 1
There is some external dev activity on their forum: https://www.frictionalgames.com/forum/forum-28.html [External Link]
And according to the first post there:
Overture have it's own forum for source here: https://www.frictionalgames.com/forum/forum-29.html [External Link] and it uses the same engine so I think the code is similar and the only difference between the games are scripts but I have not looked into it so I don't really know.
22 May 2020 at 12:23 pm UTC Likes: 1
Quoting: Guesthttps://github.com/FrictionalGames/HPL1EngineIt should be, they release the source to the game back in the day due to the HumbleBundle (if I'm not mistaken releasing the source was one of the requirements for one of their bundles).
I don't suppose that's the engine and be compiled to work with the game assets? Because maybe the core Mesa issue could be fixed from within the engine itself. If that's the case, I can try peek into the problem on the weekend.
There is some external dev activity on their forum: https://www.frictionalgames.com/forum/forum-28.html [External Link]
And according to the first post there:
There is a LOT of code here. 2 libraries and one game. So don't be afraid to discuss and ask questions on pieces of the code. Lets all collaborate and build some documentation for the HPL1 Engine as well as the OALWrapper library. Ideally I would like to see clean documentation appear on the github wiki pages so there is a good reference this codebase.So the source should not only be for the engine but also for the first game.
Overture have it's own forum for source here: https://www.frictionalgames.com/forum/forum-29.html [External Link] and it uses the same engine so I think the code is similar and the only difference between the games are scripts but I have not looked into it so I don't really know.
Microsoft president admits they were wrong on open source
18 May 2020 at 6:15 pm UTC
PuTTY already existed for the people administrating Linux servers from Windows, if that is all that Microsoft where reaching for then why spend the vast amount of time and resources that they have with WSL?
18 May 2020 at 6:15 pm UTC
Quoting: 14In all the places where I have worked where we used Linux servers all of us Linux devs where running Linux desktops. With WSL I'm quite certain that a huge proportion of them have been forced to work on Windows Desktops by IT/Management.Quoting: F.UltraI don't think so. It's to make it easier to manage Linux services that run on Azure. Now, admins and developers don't have to run a VM. I don't think MS was "losing" anybody to Linux that is now satisfied with WSL.Quoting: LinasAnd I am sure that is why Windows Subsystem for Linux (WSL) exists. Not because they actually want their users to use Linux, but because they know that they lost to Linux in the server market, and cannot pull off a compelling Windows-proper alternative.I'm quite sure that WSL only exists in order to keep Linux Server developers and Administrators using the Windows desktop, and not loosing them to a Linux desktop like they lost on the server side.
PuTTY already existed for the people administrating Linux servers from Windows, if that is all that Microsoft where reaching for then why spend the vast amount of time and resources that they have with WSL?
- CachyOS founder explains why they didn't join the new Open Gaming Collective (OGC)
- The original FINAL FANTASY VII is getting a new refreshed edition
- GPD release their own statement on the confusion with Bazzite Linux support [updated]
- Four FINAL FANTASY games have arrived on GOG in the Preservation Program
- Proton Experimental updated to fix the EA app again on SteamOS / Linux
- > See more over 30 days here
- New Desktop Screenshot Thread
- Hamish - Is it possible to have 2 Steam instances (different accounts) at …
- whizse - Will you buy the new Steam Machine?
- DoctorJunglist - I need help making SWTOR work on Linux without the default Steam …
- whizse - Browsers
- Johnologue - 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