That post seems to be missing.
SuperIce 95 points 3 years ago

I don't think there would be any real benefit to this over DXVK and VKD3D

path: 0 6198884, hotness: undefined, score: 95, children: 13
520 77 points 3 years ago

The main use case of this is in porting. So if someone wanted to make a native port of their game, this library would make it potentially much easier.

path: 0 6198884 6199733, hotness: undefined, score: 77, children: 12
SuperIce 27 points 3 years ago

But why this instead of DXVK or VKD3D? Those can just as easily be integrated.

path: 0 6198884 6199733 6200028, hotness: undefined, score: 27, children: 11
angrymouse 15 points 3 years ago

Both use wine iirc, Op is talking about applications written directly for Linux.

Edit: im wrong

path: 0 6198884 6199733 6200028 6201371, hotness: undefined, score: 15, children: 10
SuperIce 55 points 3 years ago

Wine uses VKD3D and DXVK, not the other way around. People have even used DXVK on Windows to improve performance in certain situations.

path: 0 6198884 6199733 6200028 6201371 6201496, hotness: undefined, score: 55, children: 9
odc 70 points 3 years ago

The README does not say which DirectX version they are targeting. The screenshot show "DirectX 0". Looking at the code, I see a directory called "d3d9", but those files are mostly empty.

So yeah... nothing to see here. Maybe in 5 or 10 years.

path: 0 6204480, hotness: undefined, score: 70, children: 2
A_Porcupine 24 points 3 years ago

Here's the roadmap: https://github.com/...

TL;DR: they're targeting DX9 initially, later expanding to include DX12.

path: 0 6204480 6207553, hotness: undefined, score: 24, children: 0
hare_ware 17 points 3 years ago

And the bit saying DxDiag opens faster feels really strange...

path: 0 6204480 6207498, hotness: undefined, score: 17, children: 0
AlmightySnoo 47 points 3 years ago

That repo is just pure trolling, read the "Improved performance" section and open some source files and you'll understand why.

path: 0 6207842, hotness: undefined, score: 47, children: 1
djtech 46 points 3 years ago

mhhhhhhhhhh

The project is trolling fs

path: 0 6207842 6210208, hotness: undefined, score: 46, children: 0
Atemu 30 points 3 years ago

Why is this not being developed inside Mesa? There's even precedent for it; gallium9.

path: 0 6199176, hotness: undefined, score: 30, children: 2
themoonisacheese 46 points 3 years ago

Because DirectX apps typically do not only call into DirectX but also the win32 API, since DirectX has historically been a windows-only API. Merging this into mesa would only bloat mesa while not really offering support for many applications at all.

This is a great project in general, but it's quite overshadowed by DXVK which does the same except it translates DX calls to vulkan ones and has excellent success rates in proton and derivatives. I guess this is mildly useful for systems that don't support vulkan but want to run DX apps in raw wine or simply for people who wish not to use DXVK - competition is good for the ecosystem.

path: 0 6199176 6199657, hotness: undefined, score: 46, children: 1
Atemu 11 points 3 years ago

Merging this into mesa would only bloat mesa while not really offering support for many applications at all.

But there already is a d3d9 driver inside mesa?

path: 0 6199176 6199657 6199841, hotness: undefined, score: 11, children: 0
chitak166 28 points 3 years ago

Imagine all the work we wouldn't have to re-do if we had just done it right the first time.

Stallman was right, as usual.

path: 0 6220727, hotness: undefined, score: 28, children: 0
azvasKvklenko 22 points 3 years ago

This is barely explained and the readme gave me more questions than answers.

I immediately thought it’s going to be a library for Wine to use instead of DXVK/VKD3D.

If that’s only for developers to build Linux ports, very little to no real-world use is expected, unless it’s somehow can offer effortless conversions. Even then developers are likely to prefer relying on Proton/Wine to simply have single binary for both platforms, rather than maintaining them separately.

I wonder how much work it will take for drivers to support the API… Or maybe it won’t need anything in Mesa and will somehow work directly on DRM with strictly platform-agnostic code if that’s possible?

Offering better performance than the likes of DXVK is brave to put it mildly. In many scenarios it can already match or surpass native Windows performance even when running Windows binaries.

path: 0 6215826, hotness: undefined, score: 22, children: 1
jackpot 0 points 3 years ago

This is barely explained and the readme gave me more questions than answers.

make a pull request to change the readme then

path: 0 6215826 6224248, hotness: undefined, score: 0, children: 0
filister 18 points 3 years ago

Noob here, but can someone explain to me what's the advantage of DirectX vs Vulkan, apart from being around for longer? And why do more developers embrace Vulkan for better portability?

path: 0 6203873, hotness: undefined, score: 18, children: 15
AMDIsOurLord 29 points 3 years ago

OpenGL is actually older. Microsoft just spent a lot of time and money on DX adoption.

Overall, it's the native API of Windows and that has the largest user base. On the other hand, many non-game professional apps use OpenGL/Vulkan

path: 0 6203873 6204715, hotness: undefined, score: 29, children: 0
velox_vulnus 8 points 3 years ago
path: 0 6203873 6204095, hotness: undefined, score: 8, children: 12
LemmyHead 9 points 3 years ago

Also a noob, but I think Microsoft improved low-level access in recent DX versions

path: 0 6203873 6204095 6204329, hotness: undefined, score: 9, children: 1
Treeniks 14 points 3 years ago

This is correct, while OpenGL and DirectX 11 and before are considered high level APIs, Vulkan and DirectX 12 are both considered low level APIs.

path: 0 6203873 6204095 6204329 6204864, hotness: undefined, score: 14, children: 0
filister 1 point 3 years ago

Does this make it harder to implement?

path: 0 6203873 6204095 6204102, hotness: undefined, score: 1, children: 9
velox_vulnus 10 points 3 years ago
path: 0 6203873 6204095 6204102 6206434, hotness: undefined, score: 10, children: 1
KingThrillgore 5 points 3 years ago

It takes 75 lines to draw a blank window. It takes like three in CoreAnimation in macOS. We really need an OSS take on CoreAnimation but I'm also fine leaving the graphics work to a game engine.

path: 0 6203873 6204095 6204102 6206434 6209146, hotness: undefined, score: 5, children: 0
Ansis 8 points 3 years ago

Lower level means you have more control over the small details. However, that also means that you have to reimplement some things from scratch, while higher level frameworks do those things for you.

path: 0 6203873 6204095 6204102 6204813, hotness: undefined, score: 8, children: 6
heartsofwar 1 point 3 years ago
path: 0 6203873 6204095 6204102 6204813 6208263, hotness: undefined, score: 1, children: 5
LemmyHead 3 points 3 years ago

I think it's more about portability and making it easier for windows devs to support Linux for their games

path: 0 6203873 6204334, hotness: undefined, score: 3, children: 0
GustavoM 17 points 3 years ago

Asides from "ew installing Winblows stuff in my distro ewwww" that will be a gamechanger if they do it right.

path: 0 6205600, hotness: undefined, score: 17, children: 0
Squid 13 points 3 years ago

Could be big. Love wine but even games with native release for Linux have wine reliance

path: 0 6202310, hotness: undefined, score: 13, children: 16
sekhat 7 points 3 years ago

This seems incorrect, if it's running natively, it doesn't need to rely on wine...

path: 0 6202310 6206015, hotness: undefined, score: 7, children: 13
Chobbes 4 points 3 years ago

There’s a few Linux “native” releases on steam that use compatibility layers based on wine behind the scenes, which I think is probably what they mean.

Also, this feels wrong, but… Is wine native? It’s mostly just the windows api implemented as Linux libraries. What’s the distinction that makes it “non-native” compared to other libraries? Is SDL non-native too?

path: 0 6202310 6206015 6208280, hotness: undefined, score: 4, children: 12
Squid 2 points 3 years ago

Yes this is what I meant, thank you.

Cities skylines is one example.

path: 0 6202310 6206015 6208280 6216452, hotness: undefined, score: 2, children: 0
teawrecks 1 point 3 years ago

"Native" means "no platform specific runtime translation layers". An app built on SDL does the translation to the final rendering API calls at compile time. But a DX app running on Linux has to do jit translation to ogl/vk when running through wine, which is just overhead.

path: 0 6202310 6206015 6208280 6208684, hotness: undefined, score: 1, children: 10
Chobbes 1 point 3 years ago

My understanding is that DXVK implements the Direct3D API using vulkan behind the scenes. So, sure, there might be a bit of overhead versus a more direct implementation. Frankly this doesn’t feel all that different from something like SDL to me. Shaders will have to be compiled into shaders that Vulcan understands, but you could just think of this as part of the front end for shader compilation.

I do agree that it feels less native to me too (particularly over the rest of wine), but it’s sort of an arbitrary distinction.

path: 0 6202310 6206015 6208280 6208684 6209705, hotness: undefined, score: 1, children: 9
Dremor 4 points 3 years ago

I didn't see any wine binaries in my Linux native game. Care to give a few examples?

path: 0 6202310 6205794, hotness: undefined, score: 4, children: 1
Chobbes 2 points 3 years ago

I think anything that CodeWeavers helped port. I think Bioshock Infinite is one such game. I’m not sure if you’d see wine binaries, though, could all be statically linked in.

path: 0 6202310 6205794 6208334, hotness: undefined, score: 2, children: 0
manito_manopla 11 points 3 years ago

How is this different from DXVK?

path: 0 6216947, hotness: undefined, score: 11, children: 1
FehrIsFair 24 points 3 years ago

It's made to interact directly with the GPU instead of translating it to the equivalent GPU call in Vulkan.

path: 0 6216947 6217586, hotness: undefined, score: 24, children: 0
hare_ware 11 points 3 years ago

How would a native implementation be better than DXVK? Wouldn't develops still need to port the rest of their app to Linux to use it? At that point, you could still just include DXVK, would the performance really be that much worse?

path: 0 6207531, hotness: undefined, score: 11, children: 2
ziggurat 8 points 3 years ago

Native vulkan or opengl games doesn't need to translate thees calls, if directx could run. Natively on Linux, it wouldn't have to be translated

path: 0 6207531 6210648, hotness: undefined, score: 8, children: 1
leopold 3 points 3 years ago

Afaik the only way to avoid translating into OpenGL and Vulkan would be to write native drivers. Stuff like gallium-nine, for instance. Is that what this project is doing? Though obviously that's just for the Direct3D side of things and there's a lot more to DirectX than just that. Still, it's hard not to question how much of this is just duplicating work already done for Wine.

path: 0 6207531 6210648 6217153, hotness: undefined, score: 3, children: 0
uis 10 points 3 years ago

Doesn't DirectX require a lot of stuff from winapi?

path: 0 6215441, hotness: undefined, score: 10, children: 1
Urist 5 points 3 years ago

Thought so as well. In which case I do not really see much difference between this and other translation layers.

path: 0 6215441 6221100, hotness: undefined, score: 5, children: 0
carl_the_grackle 9 points 3 years ago

Excited to see how this plays out. Looks like there's basically nothing implemented yet though.

path: 0 6199676, hotness: undefined, score: 9, children: 0
WeLoveCastingSpellz 6 points 3 years ago

Holly Fuck!

path: 0 6204484, hotness: undefined, score: 6, children: 2
troyunrau 2 points 3 years ago

Poor Holly

path: 0 6204484 6210880, hotness: undefined, score: 2, children: 1
drasticpotatoes 2 points 3 years ago
path: 0 6204484 6210880 6211252, hotness: undefined, score: 2, children: 0
library_napper 6 points 3 years ago

One of these days I'll be able to play quake in QubesOS

path: 0 6215311, hotness: undefined, score: 6, children: 7
uis 5 points 3 years ago

Play Xonotic in Linux. Or Quake.

path: 0 6215311 6215451, hotness: undefined, score: 5, children: 5
viking 3 points 3 years ago

Is anyone still playing Xonotic? I used to play Nexuiz back before they sold the name, and tried Xonotic recently, only to find servers with maximum one other player idling around. I genuinely thought it's dead.

path: 0 6215311 6215451 6220632, hotness: undefined, score: 3, children: 2
Chewy7324 3 points 3 years ago

I haven't played for a year or two, but Xonotic doesn't have many concurrent player for most of the day. I believe lobbies filled around evening/night UTC±0, iirc.

path: 0 6215311 6215451 6220632 6223039, hotness: undefined, score: 3, children: 0
uis 1 point 3 years ago

I know 4 major servers: Feris and 3 Jeff's. Feris is most populated one during European night. And there are pickup servers that usually play 4v4. Also smaller servers exist that occasionally get players like xonotic-relax.ru.

path: 0 6215311 6215451 6220632 6232207, hotness: undefined, score: 1, children: 0
library_napper 1 point 3 years ago

Doesn't work in Qubes

path: 0 6215311 6215451 6215991, hotness: undefined, score: 1, children: 1
uis 1 point 3 years ago

Xonotic or Quake?

path: 0 6215311 6215451 6215991 6232219, hotness: undefined, score: 1, children: 0
CabbageColonialist 1 point 3 years ago

I use Qubes btw. But you wouldnt even know.

path: 0 6215311 6220438, hotness: undefined, score: 1, children: 0
vexikron 5 points 3 years ago

Oooo shit that is right up my ally!

path: 0 6199078, hotness: undefined, score: 5, children: 3
johan 7 points 3 years ago

*alley

path: 0 6199078 6203988, hotness: undefined, score: 7, children: 2
Atemu 5 points 3 years ago

(Unless they have installed it onto their ASUS ROG Ally of course.)

path: 0 6199078 6203988 6205854, hotness: undefined, score: 5, children: 1
vexikron 3 points 3 years ago

Aha, oops!

Midnight posting on mobile makes one prone to spelling errors.

For what its worth my preference with hand held devices remains as the Steam Deck =P

I guess you could say I am an ally of the Ally?

path: 0 6199078 6203988 6205854 6206270, hotness: undefined, score: 3, children: 0
UnfortunateShort 5 points 3 years ago

So... What's the advantage compared to Wine? It's hard to imagine people will start developing for DX on Linux instead of going for Vulkan, and that DX alone is enough to run a lot of games for Windows. Or am I completely off here?

path: 0 6198865, hotness: undefined, score: 5, children: 7
warmaster 8 points 3 years ago

Now that Proton is mature, devs generally benefit of getting two platforms while targeting only one.

I don't see many devs going for Vulkan and native ports, so a DirectX on Linux port has even less chances. On top of that, Khronos has the backing of several tech giants, this DX on Linux project is built by 2 random guys with no support whatsoever.

path: 0 6198865 6198993, hotness: undefined, score: 8, children: 0
MajorHavoc 4 points 3 years ago

I'm guessing, but I bet old games built for DirectX (almost every game made between 1995 and 2005) will run a lot better on Linux with 1:1 DirectX support.

Probably more exciting to retrogamers then anyone else.

path: 0 6198865 6199292, hotness: undefined, score: 4, children: 2
cyberpunk007 1 point 3 years ago

Do games no longer use directx?

path: 0 6198865 6199292 6202485, hotness: undefined, score: 1, children: 1
MajorHavoc 1 point 3 years ago

I'm pretty sure DirectX is still in use, but it used to be 95% of all games needed it and also crashed with a "you need to configure DirectX exactly and only the way this game demands". That seems to have calmed down, at least.

path: 0 6198865 6199292 6202485 6207133, hotness: undefined, score: 1, children: 0
ifGoingToCrashDont 3 points 3 years ago

It's right in the description

This is a Open Source DirectX implementation for Linux, providing native support for DirectX-based applications and games, without relying on Wine's Windows compatibility layer.

path: 0 6198865 6199017, hotness: undefined, score: 3, children: 1
UnfortunateShort 1 point 3 years ago

Yeah, but in some cases you already achieve better-than-native performance in wine and you don't need Wine just for DX. You would most likely need to explicitly support Linux in addition to Windows, even if Linux could handle DX.

I assume you can expect some performance benefit if you were to integrate this into Wine, but I kinda doubt it will gain too much traction outside of that. Vulkan already exists as a well supported, cross-platform solution and engines are already using it.

path: 0 6198865 6199017 6207156, hotness: undefined, score: 1, children: 0
neatchee 1 point 3 years ago

This appears to be about reducing complexity and surface area for failure in running DirectX games

Any time you are translating function calls from one interface to another there is more opportunity for mistakes and incompatibilities. If you are implementing the DX functions directly to make the expected hardware calls directly, just as they're implemented in Windows, you are less likely to have unexpected behavior when combining everything.

Think of it like a language translator. It's the difference between translating between two languages or between three. If you write something that is intended to be translated from English to Mandarin by Mitch Microsoft, but Mitch isn't available, so you need to have Larry Linux translate it, which would you rather: translate it from English to Greek, then Greek to Mandarin, or directly from English to Mandarin?

path: 0 6198865 6199268, hotness: undefined, score: 1, children: 0
Mereo -1 points 3 years ago
path: 0 6198919, hotness: undefined, score: -1, children: 0

thanks for using Leebra!

go to feed...