Live data from Hacker News

Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

phoronix.com

111–120 of 308 posts

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#111

I've fascinated with what Steam is doing for gaming on Linux. We'd been moving at a slow pace for years, and suddenly, we're jumping in strides. I'm likewise fascinated about how terrible Steam's CLIENT works on Linux. Like, no hidpi support, (it's just blurry), notifications don't work, and lots of other stuff is broken. Sometimes closing a popup closes the main window, but only for _some_ kinds of popups. It also o…

Honestly I can tolerate those things if it means I can game on Linux and have no need to keep a copy of Windows installed.

It's been 5 years or so since I moved all my computers over to Linux (was not a cortana fan) and proton definitely made the transition easier.

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#112

This is nice and all but they need to fix things like alt-tabbing in an out of a game. Many games just crash. I know it sounds dumb but sometimes when organising a game or using discord you need to alt-tab from the game to the chat app. This almost never happens with Windows unless the games are old. Also performance when streaming via discord or OBS significantly drops the framerate even on games my rig can play at…

From my experience most games work fine when switching away. However I know that Don't Starve Together and some other games really freak out. (I've been lucky enough not to see any crashes though)

What I have found is that running games under Wayland (via XWayland) makes a lot of games behave better. I don't know exactly why this is but I suspect they are trying to manipulate a bunch of settings like fullscreen/input grabbing/display resolution which just get ignored by Wayland. So basically the extra restrictions of Wayland stop them from shooting themselves in the foot.

On the downside my NVIDIA GPU can't be used on Wayland...

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#113

Earlier quoted context omitted.

OpenGL/Vulkan are open source, multi-platform abstraction layers. Of course, the graphics API isn't the only thing you have to get to work on multiple platforms. There's also the sound stack, networking, window management, and so forth. I think what you're getting at is some kind of all-in-one platform that abstracts away all of those lower level interfaces. In that case, that's basically what Unity is. Unity (and ot…

Right now that cross platform abstraction layer is the Web. - https://get.webgl.org/webgl2/ - https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_... - https://webrtc.org/

This is true and works for a lot of things (I love the web and publish a lot of web apps). However there is currently a very significant performance penalty both due to the available graphics APIs and due to WASM or JS vs native CPU performance. So for games with demanding graphics the web isn't that attractive of a target.

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#114
post #92

Earlier quoted context omitted.

> This is nice and all but they need to fix things like alt-tabbing in an out of a game. This is super hard to get right. It's somewhat wonky on Windows to begin with (we have found plenty of games where it's broken on Windows), and then you have to factor in that X doesn't work the same way, and there are a hundred different window managers, which all work different ways. It should be significantly improved in 5.13,…

> This is super hard to get right. Not _really_. The issue is that games are trying to do god-knows-what when they lose focus. In reality, they just need to ignore this happening. Regular applications handle losing focus just fine, and games would too -- unless you try to do magic funky stuff when you lose focus (my guess is that they do this to work around funky WM issues on window that don't exist on Linux).

First, sure, if games didn't do complex things, it would be easier to support. But they do. So it is hard.

Also, it's much more complicated than that. When running in exclusive fullscreen mode (which almost all fullscreen games did before about 5 years ago), they have to do stuff like restore the original display resolution, tear down their graphics stack, and restore all of that when bringing the window back up. Many games depend on a very particular sequence of window messages during that process, including D3D handling some of those messages on their behalf in certain ways. In the case of non-exclusive or windowed mode games, they may choose to stop reading controller input, stop rendering, stop sending audio, etc. All of that requires correct window notifications in the correct order, and support in Wine for correctly tearing down and restoring all of those things.

And all that is just on the Windows side of the equation, you also need to tear down the Linux graphics stack and manage how X thinks about the windows in a way that the window manager will do the right thing for the user, without doing the /wrong/ thing for the app from the Windows perspective. For example if the WM chooses to resize the window when it requests fullscreen mode, at a time when Windows does not, then we have to ignore those messages, or the game will suddenly be rendering at the wrong size (or worse, infinite loop as the WM and the game fight over the window sizes... yeah, that happened[1]).

It's a nightmare. I've spent months and months on this stuff, and other devs have spent even more. If it was easy to fix, it would be fixed, I promise you :)

[1] https://github.com/ValveSoftware/wine/commit/4f590327ab2028a...

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#115

I've fascinated with what Steam is doing for gaming on Linux. We'd been moving at a slow pace for years, and suddenly, we're jumping in strides. I'm likewise fascinated about how terrible Steam's CLIENT works on Linux. Like, no hidpi support, (it's just blurry), notifications don't work, and lots of other stuff is broken. Sometimes closing a popup closes the main window, but only for _some_ kinds of popups. It also o…

It also still requires 32-bit drivers, which were initially missing from the last nvidia update, forcing a rollback.

I'm incredibly grateful for the work they've done on Proton, but it's definitely odd they don't seem to have anyone prioritizing updating the Steam platform itself.

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#116

I've fascinated with what Steam is doing for gaming on Linux. We'd been moving at a slow pace for years, and suddenly, we're jumping in strides. I'm likewise fascinated about how terrible Steam's CLIENT works on Linux. Like, no hidpi support, (it's just blurry), notifications don't work, and lots of other stuff is broken. Sometimes closing a popup closes the main window, but only for _some_ kinds of popups. It also o…

Is it perhaps because Steam Client is being "worked on" by Valve employees (do whatever you want, no bosses, but if you work on something we wont like you will be fired immediately, ask Jeri Ellsworth) while DirecX compatibility is all volunteers with maybe some funding? I googled Hans-Kristian Arntzen (VKD3D-Proton maintainer?) and he doesnt appear to be employed by Valve.

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#117
post #46

Most game engines work with some kind of abstraction to unify access to the underlying graphics APIs such as D3D, DX12, OpenGL, Vulkan and Metal (for example in Unity there's GraphicsDevice). Does anyone know if there's any work being done to create an open source abstraction like that? It would be neat if it were possible for open source games and game engines to share the work being done to ease cross-platform deve…

I believe bfgx[0] is similar to what you're describing. It's been around since before the Vulkan/DX12/Metal era so the abstractions are more similar to OpenGL/DX11 where you don't have concepts like command buffers and command queues etc, which might be a turn off. Big open source projects still seem to roll their own solution for this, which I imagine is both for historical reasons but also because there might be a…

After searching some more, I came across this: https://github.com/ConfettiFX/The-Forge

It sounds a bit more heavyweight than what I was getting at, but it still makes me hopeful that there's a future for something like this.

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#118

Valve is doing god’s work when it comes to Linux gaming. I have played over 40 hours of GTA V without many troubles. The game looks great and performs great. So glad I could get rid of my windows install.

I think that the only gaming company that actively improve Linux gaming is only Valve. Compare this to Stadia, where I never see any news on them contributing to the Linux gaming stack

Another big catalyst IMO was Unity's seamless build for many platforms, including Linux.

It came in parallel with the Kickstarter boom, where a lot Kickstarter campaigns would offer Linux support as a way to entice a new audience. The time around 2010-12 was pivotal for Linux gaming and indie gaming alike.

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#119
post #33

Earlier quoted context omitted.

> How do we deserve Valve? Simple, private ownership structure stemming from bootstrapping. Any presence of external equity or (worse) publicly traded shares would make it impossible to ever consider the money printing machine that the steam store is "good enough" for now and focus on long term strategy instead. Perhaps even allowing certain forms of "benevolence". Companies with private, noninstitutional owners can…

There are plenty of public companies, such as intel and google, that manage to pursue a long term strategy, to commodotize their complement: https://www.gwern.net/Complement

Google's habit of killing any product that isn't search or Gmail suggests otherwise

Re: Valve Is Working on Another Extension to Help in Direct3D-over-Vulkan

#120

I've fascinated with what Steam is doing for gaming on Linux. We'd been moving at a slow pace for years, and suddenly, we're jumping in strides. I'm likewise fascinated about how terrible Steam's CLIENT works on Linux. Like, no hidpi support, (it's just blurry), notifications don't work, and lots of other stuff is broken. Sometimes closing a popup closes the main window, but only for _some_ kinds of popups. It also o…

I hate to be that person but I've had no issues with the Steam client on Linux, and I've used it full time for years. Including more "advanced" features like in home streaming.
Post reply on HN