Hacker News new | past | comments | ask | show | jobs | submit login
Wine 3.3 has Vulkan support (wine-reviews.net)
177 points by twickline on March 2, 2018 | hide | past | favorite | 47 comments



It seems like Vulkan is being pushed really hard lately. Is it possible it might become THE cross-platform graphics interface and we start seeing truly platform agnostic games?


Graphics API is not the only, or even primary bottleneck for portability. You see this in every hackernews thread about Vulkan, but most developers are using portable engines where the graphics api (among many other things) is entirely abstracted and they still don't do day one ports because porting to a new platform is rarely free, even when all technical challenges are solved.


Case in point: Id Software are heavily pushing Vulkan with their IdTech6 engine, yet every IT6 game to date only runs on Windows.

Evidently they've decided that supporting Linux isn't worth the trouble even though their renderer is already portable to it.


> every IT6 game to date only runs on Windows

The new Doom runs on all the major console platforms as well, including the Nintendo Switch.


No. Companies that matter are MS (they are still pushing DirectX), Apple (Metal or bust), Sony and Nintendo (each console has its API). Without full platform owner support Vulcan will be a second class citizen with all kinds of performance and compatibility issues.


>> Without full platform owner support Vulcan (sic) will be a second class citizen with all kinds of performance and compatibility issues.

Vulkan is owned by Khronos. Every single company you mention is a member of the Khronos group: https://www.khronos.org/members/list

Aside from the strong contingency Khronos Group carries, Vulkan's cross-platform support is in part due to its very good codebase, which enables easier integration.


Sure. Microsoft was also a member of Khronos 15–20 years ago, when (according to an acquaintance who used to work for a GPU vendor) they did every underhanded thing they could to disrupt the OpenGL spec / committee, while simultaneously working on their end to make sure it wouldn’t be a competitive way to develop Windows software.

Being a member (by itself) doesn’t mean anything. Without talking to anyone involved or knowing additional context, it’s impossible to know whether the companies on the committee are productive collaborators, passive onlookers, or active opponents of Vulkan.


>Sure. Microsoft was also a member of Khronos 15–20 years ago, when (according to an acquaintance who used to work for a GPU vendor) they did every underhanded thing they could to disrupt the OpenGL spec / committee, while simultaneously working on their end to make sure it wouldn’t be a competitive way to develop Windows software.

You're talking about the pre-Khronos OpenGL Fahrenheit deal, which is largely public knowledge. Microsoft announced a joint project with SGI to support OpenGL on Windows, then put all their resources into DirectX while SGI spent two years building their section. The only unprovable part is that this was their goal all along, but the leaked combat plan against free software at the same time leaves little doubt.


You’re right this was mostly pre-Khronos. Apologies, I’m not an expert in the history of OpenGL. But I believe he was also talking about the period after the Fahrenheit deal, in maybe 2000–2005. He talked about MS sending people to OpenGL committee meetings and intentionally trying to gum up the process and prevent interoperability. I don’t really know the details, and this is all second-hand and poorly remembered from a conversation a decade ago. So take it with some salt.


They quit the OpenGL board in 2003, and though I don't doubt they continued to be antagonistic between 99 and then I can't see their voice pulling that much weight after Fahrenheit.

Not trying to be rude, I'm sure your friend knew far more at the time than I ever have. Just seems better to base this on provable events so people don't see "my connected friend said..." and write it off as a conspiracy. Microsoft is trying to act as an ally to free software again, and people seem far too trusting of their motives.


I’m sure you know much more about it than I do. Cheers!


Being a member does not mean anything, many companies just want a seat at the table.


MoltenVK implements the Vulkan API on Metal: https://arstechnica.com/gadgets/2018/02/vulkan-is-coming-to-...

And as stated in that article, work is also being made to implement Vulkan on DirectX, allowing Vulkan apps to be distributed through the Windows Store (which requires DirectX).

Nintendo Switch supports Vulkan. I expect we'll see Vulkan support quite strongly in the next generation of consoles (besides maybe Microsoft's)


Nintendo Switch supports Vulkan as much as the PS 3 supported OpenGL ES.

It is there, but it isn't the main 3D graphics API.


A cross-platform API will never be first-class on a console. The GPU in the Switch is a generic Tegra Maxwell with full OpenGL and DirectX (unusable, obviously) support, yet Nintendo still pushes NVN as the first class.

PS4 has GNX, etc. Only Xbox has that chance since it has DirectX, but fat chance seeing that on OS X or Linux/*BSD


If you want good performance on xbox you still have to use console specific APIs, in every engine I've worked with xbox is a special platform. I haven't done xbox development post dx12, but afaik xbox one still has console specific apis with dx12. Most PC games are not uwp (steam can't host uwp games), so extra work needs to be done to support both uwp and win32 as well as console specific direct3d.


>No. Companies that matter are MS (they are still pushing DirectX), Apple (Metal or bust), Sony and Nintendo (each console has its API).

Did you forget about Android? Vulkan was introduced in Android 7.


Yeah, 20% of market share and it isn't a required API.

Only OpenGL ES 2.0 support is required.

https://source.android.com/compatibility/android-cdd#7_1_dis...

Section 7.1.4.2,

"If device implementations support OpenGL ES 3.0 or 3.1, they:

    [SR] Are STRONGLY RECOMMENDED to include support for Vulkan 1.0 .
If device implementations include a screen or video output, they:

    SHOULD include support for Vulkan 1.0.
"

Regarding specification language SHOULD is not the same as MUST, just nice to have.


I believe it's more like 30%. In a few years Vulkan should be on the majority of Android devices.


30% of Android N + O, yes I got it wrong.

It doesn't change the fact that Vulkan is optional and still not worthy to be listed on Android dashboards.

Not everyone is using S8 and Pixel phones.

https://developer.android.com/about/dashboards/index.html


The Metal and Vulkan APIs are pretty similar. I can imagine a wrapper around the two that doesn't degrade the perf much.

MS does support Vulkan AFAIK.


UWP and Xbox One apps must use DX. Microsoft appears to be gearing up to deprecate Win32 in the coming years.


How many gamers do you think are going to give up Steam and go to the Windows Store?

Similarly, how many Xbox One developers are going to bother with UWP, either?

Given UWP allows the use of Win32 because nobody would use it if it didn't, it seems pretty likely that if games start using Vulkan then UWP will end up with Vulkan, too. Microsoft Store needs games more than games need UWP.


UWP makes use of Win32 as implementation detail, all the Win32 APIs considered legacy are not supported.

"This subset of APIs was chosen to support key scenarios for Windows Runtime apps that were not already covered by the Windows Runtime, HTML/CSS, or other supported languages or standards. The Windows App Certification Kit ensures that your app uses only this subset of the Win32 and COM API."

https://msdn.microsoft.com/en-us/library/windows/apps/br2057...

> Similarly, how many Xbox One developers are going to bother with UWP, either?

Probably zero, but they won't bother with Vulkan also.

If they are targeting something else besides the XBox, they already have a portable game engine in place, or as typical in the games industry, contracts in place with companies specialized in doing game ports.

Win32 is legacy, the Desktop Bridge sessions on channel 9 always show how easy it is to import apps into the store and slowly convert them into UWP ones.

The next release of Windows will even add support for command line UWP apps, and Office 2016 is only available via the store on Windows 10.

As for Steam vs Windows Store, not everyone is on Steam and the Store also allows for XBox games, which has a much bigger portfolio.

Plus you are forgetting the scenario where Apple or Microsoft, might eventually just buy Valve.


Don't forget Valve is privately owned so it's not a simple acquisition target.


I know that, there are many ways of buying a company.


> How many gamers do you think are going to give up Steam and go to the Windows Store?

If Microsoft buys Valve -- a move they're already rumored to be considering -- and shutters Steam, all of them.


Doesn't really matter what Microsoft wants. Valve's an extremely profitable private company. They need to be for sale for Microsoft to buy them, and Gabe doesn't seem to be the selling type.


I doubt they will ever truely deprecate win32. Too many old applications that will never get updated to UWP but that people are still using, there will be too much backlash.


You cannot use Win16 any longer on 64bit systems.

It might take yet another decade, but it will eventually happen.


But 32-bit was an improvement, and something that developers actually desired.


Many Windows developers that prefer .NET and C++ to crusty Win32, and the improved security thanks sandbox, also see UWP as an improvement.


UWP is a massive improvement, as it puts applications in secure sandboxes, a strategy that basically every other platform is already doing.

Sure, Microsoft faces an uphill battle since backwards compatibility is the name of their game, and few consumer-facing OSes today have a continuous platform going back over two decades.

But UWP is definitely better.


Apparently Apple doesn't really want anything to do with it[1]. I don't know that I'd hold my breath on the major game consoles picking it as the defacto way of doing things, over their close-to-the-metal graphics APIs, either. I'd be shocked if Microsoft bagged DirectX. And ultimately, Unreal and Unity are going to have whatever backends they need for whatever systems they are on, and most developers are going to be working through whatever the engine exposes, so they won't really care.

Besides, there are many other dimensions of platform-dependentness. You've either got to go lowest-common denominator, or you've got to special case for the platforms that are more capable.

[1] https://news.ycombinator.com/item?id=16475385


There are two elements in your question: 1. Vulkan becoming "THE" cross-platform graphics API and 2. This leading to games being truly platform agnostic.

For 1, we already have OpenGL which theoretically is the true cross-platform graphics API. Vulkan adds another option for when you want more low level control (i've heard - i think from some Nvidia presentation - that a better way to think of Vulkan is as a GPU abstraction API that you use to build your own graphics API). For many years already, anyone who cared about writing a cross platform renderer with a single API, at least on desktop systems, would use OpenGL.

For 2, generally speaking game engines tend to be platform agnostic and they were platform since the days of PS2 and original XBox and while there used to be engines that only supported a single playtform at the time, over the years this became less and less common and instead the engines are designed with portability in mind - especially since the last 10 years or so all games tend to be ported to Windows, XBox360 (or One for the latest gen) and PS3 (or PS4 for the latest gen) and each of those systems has their own specific APIs. Note that to do 2, all engines had to also support multiple graphics APIs by introducing their own abstraction layer for the native graphics API. Also note that an engine being platform agnostic doesn't necessarily mean that a game using this engine will be platform agnostic (e.g. UE4 does support Linux but you do not see all UE4 games supporting Linux).

So basically, 1 cannot lead to 2 because 2 was already a thing for a long time.

Now i will make an assumption here that what you really wanted to ask is that if Vulkan would make it more likely for Windows games to also be ported to Linux and OS X. Personally i wouldn't expect this to be any more likely than it would be without Vulkan (that is, the only cross platform option would be OpenGL), mainly because of Direct3D which allows a developer to support both Windows and XBox, where as Vulkan (and OpenGL) only supports desktop systems. The extra systems that Vulkan and OpenGL enable (Linux and OS X) have a very tiny market share that may not be worth the effort (not only in terms of programmer time). So i expect the situation to be exactly the same as with OpenGL: used mainly by those who focus on desktop systems and by those who use middleware and do not have much of a cost overhead to support Linux and OS X. And by those who prefer it for philosophical reasons, of course.


That would be really nice. Having to have a windows pc solely for gaming is so wasteful.


It is really amazing what the hackers behind Wine have been doing for the last 20+ years. There's not a foundation or some commercial backing behind the project if I remember right.


I thought CrossOver contributed to Wine development significantly?

https://www.codeweavers.com/crossover-windows-on-mac


oh right, i forgot about them. My bad.



Can we have Overwatch on macOS (i.e. DirectX on Vulkan on Metal) with this?


Anybody knows if wine can run onenote? Probably my last full time windows software as a heavy note-taker


Probably not [0]. Most MS Office programs end up with the "Garbage" rating.

However, if you manage to get OneNote 2010 it should work for the most part. [1]

[0] https://appdb.winehq.org/objectManager.php?sClass=applicatio...

[1] https://appdb.winehq.org/objectManager.php?sClass=version&iI...


There is, of course, the web interface.


Wait, but there is one note on mac


Not sure if you meant this as a joke but, you know, Windows and OSX are not the only operating systems people use.


Is Vulcan a locale? Is this so I can use Vulcan text in Windows apps under Wine? Oh, sorry, wrong Vulcan...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: