OpenGL deprecated


(Leto Atal) #1

So OpenGL has finally been deprecated on macOS. Assuming CCP are not going to cancel Mac support it means that they will have to support the Metal framework and we should all get substantially improved frame rates.

Presumably Khronos’ Molten tools will help here. Can we get some confirmation from CCP of what is happening?


(Ravow) #2

They won’t make a new API support for 3% or less of it’s user base. They could use Vulkan and so it will work on all platform (MacOS can run Vulkan using MoltenVK, new title are beginning to use that route). But they are actually working on DX12 so I’m not sure they will ever touch this superior API.

Else you could use DXVK to run DX11 EVE on Vulkan then MoltenVK. It’s double wrapping but it’s probably already better than the current “OpenGL” EVE on the crappy and deprecated OpenGL support from MacOS.


(Qjuu) #3

@3% or less of it’s user base:

I could imagine the Mac user base in games will grow now since Macs officially support eGPUs. Macs used to be bad for gaming mostly because of weak inbuilt GPUs. Remember what the Oculus founder said about Macs and GPU performance two years ago. This isn’t the case now anymore.

I know ppl who use Macs for work&stuff who would like to play games but are not interested in buying a dedicated gaming PC for this. It’s not (only) because of money, it’s because of the hassle fiddling with two setups.


(Scipio Artelius) #4

The graphics engine isn’t written in OpenGL. It’s DirectX.


(Ravow) #5

They do support eGpu but no 3D API except Metal. Don’t think dev will learn to use Metal just for the small amount of user, they will continue to wrap (and will mostly use MoltenVK)


(Ravow) #6

look at the “” I did put…

EVE “OpenGL”… EVE use Direct3D9 and Direct3D11 for his 3D Engine (DirectX is a subset of tool and API by microsoft and that include Direct3D but no the graphic engine is technicaly not writen in DirectX ;)), everyone know that, that’s why I did use the “”. EVE run in OpenGL on your Mac using wrappers, that’s what I ment by “OpenGL”


(Scipio Artelius) #7

Oh wow, quotes. Totally meaningful…not.

DirectX is a common language term covering all Direct APIs, including Direct3D. So no, not a subset.


(Qjuu) #8

I was talking about the general trend regarding Macs and games. General purpose gaming engines like Unity and Unreal already support Metal. This means we’ll see alot of games running on Macs with very good performance.

Add the impact coming from thousands of iOS games available on macOS next year. All this will increase the Mac user base for games (in general) drastically imho. Which again makes the Mac more interesting for game developers.

I know EVE is written in/for DirectX and the Mac client is using Wine as wrapper which translates DX to OpenGL. Maybe we can hope the Wine community will support Metal some day, apart from Linux there is no reason for OpenGL anymore, isn’t it?

Tho a native EVE client would be much better ofc :slight_smile:


(Ravow) #9

Native unfortunately is not a “to forget” thing.

Yes Engine that have a true multiplatform support exist and that’s good but only a number of games are using these. Then you have older games in OpenGL that wou will not be able to run anymore (most of the steam catalog).

As for Unreal, Using different API still require quite a lot of work. and a lot of games are released with just one or two API even if the engine support more. For exemple, you can download the game Everspace on Linux (it probably exist on Mac too), you can run the game with the -vulkan parameter and yeah… you see “brick wall” everywhere and the game does not work beside the bricks wall that was probably bundled with Unreal engine for sample.

I don’t know if Unity can unlike Unreal, release on all API without much effort. It would be great because a lot of dev still dev for Windows and for the other support, it depend if they have time, money…

For the iOS games on PC, i’m not sure you will get the same experience you will get from a native games, I think you can do that with droids games too but it’s still phone games your running on PC.

Games developper could and did always have the option to code in ansii C++ and use OpenGL to target MacOS, Linux and Windows with the same exact code. The hope of real multiplatform game without extra shenanigans is now gone.

Saying they will release phone games and better eGpu support after dumping OpenGL is just like removing the knive after twinsting it in.


(Amarisen Gream) #10

I would like to know what CCP is thinking on the changes,
As well as WineHQ,
.

Me I am a Mac user, if I can find games that work and run then awesome, if not guess I will buy a shuffle board and make IRL friends :scream:.

Though I love EVE - even when it’s being a PITA - if CCP isn’t willing to do the magic make game work for Mac it will only be a small lose to me.
I will have Feral Entertainment, which has been porting games to metal for a few years now and my blizzard games.

Edit: also, with these changes, my bones tell me Apple is going to dump some awesome hardware on us soon™. Specially seeing as both major GPU makers have said it will be a few years for any major GPU upgrades.


(Ravow) #11

Feral could be a solution. They have really good wrapper to Vulkan and Metal (they are still not native but I think they made the best wrapper as they do actually work with the games dev and do proper Q&A before releasing)

CCP was working with microsoft if I remember. It could have changed but that’s the info I have. And if I remember they where working on D3D12. They want to dump D3D9 support because they don’t have to work on more than two API. so the plan seam to be D3D11 and D3D12. If CCP was actually caring for real, they would have made a vulkan version and probably used MoltenVK for Apple (One API to rule them all), but as you see it’s not the case. Or at lease they would be working with a company that made a wrapper that actually work, like Feral, instead of working with a company that technicaly use stolen code (Transgaming).

Apple will not release new hardware with these change. They just don’t want to update the opengl code because it compete with there customer lock-in solution (metal) and so after 6-7 years that there using the same code without improving it or fixing it, it start to rot then they start to think about stopping supporting it.

As Qjuu mentionned, you already have the option to use eGpu and they do run about the same as if you stuff them in a PCIe slot so your technicaly not limited for the video hardware but your limited for the drivers as Apple control the drivers code instead of the video card vendor (it’s why the video card support (choice) is still extremely limited and it’s why it will not support other than Metal)

Future EVE support probably lie into DXVK and MoltenVK, if I was you I will be looking in that intensively. not only it will be the only solution for most DX11 games that don’t get wrapped by feral but it might actually work better than the solution you currently have.


(Amarisen Gream) #12

Thanks.
You might have missed the memo about Apple opening up/expanding an office in Portland and are hiring more people with chip experience.
From stuff I have read - Apples A-series chips are ether on par or better than anything intel makes. Who knows, maybe Apple will beef up some of their mobile chips and GPUs for desktop. There are rumors. Apple will be Apple.
I just hope CCP gets a head/onboard of the fruit barge before it passes them by.


(Ravow) #13

Yeah, that’s unfortunate. That will make it totally impossible to run EVE on these new Mac. I heard about there custom chips but there Arm based. I personally have nothing again a different architecture but x86 code does not run on Arm and vice versa. Currently with wine you get almost native speed (If you use thing like Nine for native D3D9 on Linux or if you use DXVK to Vulkanize EVE). With there new chip, think about the speed you get if you run a VM Without the VM acceleration stuff. 100% Emulation.

CCP can’t even port eve to a different 3D API like so you can already forget a port to a different architecture all togeter, they do use too much Windows x86 libs. This is a thing to port to a different 3D API and a different architecture.

CCP could in theorie have EVE compatible with Windows, Linux, OSX with current X86 mac and the new Arm Mac, all with native code. But that will require a complete rewrite of the engine and they might also need to rewrite the shaders too as there as some difference with Vulkan and Metal. You can already forget EVE and all the current games and your steam library if you have one. Some of them who did make there game in ansii C/C++ without using any proprietary API might be able to levrage a Arm Mac version and Engine like Trinity might release an Arm version that is code compatible with the current stuff but that’s the only stuff you can hope for.

Cross platform transcoding a la Wine don’t exist (most games on steam including Feral do that). Only Emulation Exist. You lose between 40 and 90% of your CPU power just emulating the Other CPU and that is without having 3D stuff on top of that.

When Apple did switch from PowerPC to Intel, they did release a compatibility layer, Roseta, and old Applications where running on the new Intel CPU, between 40% to 65% of what they where running on the old PowerPC platform. that’s like 1/2 the speed. And that was for application that don’t really need the GPU.

I don’t think CCP have the ressources to do a complete rewrite of the game, i’m sorry, but you will have to get a PC with your new Mac to be able to properly run EVE. An engine rewrite like the EVE engine can take years if they extensively use microsoft libs. They have to redo there gfx Engine too and debug all that after that. They might have to rewrite the python code too, as Python is not compatible between major and EVE use 2.7 with is deprecated and forgotten. So you might need to add extra time if CCP have to work on eater Python to make it compatible and compilable for a new target or they will have to use Python 3.6+ and redo there Python code.

New architecture = New Application (if the’re proprietary). Old applications => Trash, you can’t run them.
They will have a kind of compatibility layer but that’s too slow for games especially if they use 1 or 2 threads just to do 3D API transcoding.

That worst that I was thinking. Even DXVK+MoltenVK will not save EVE on Mac (except if you just play the market and are fine with slideshow EVE).


(Amarisen Gream) #14

Lol. I won’t buy a PC (windows) so if I loose my steam library :cry:.
Apple could pull off an intel CPU with a custom Apple GPU (seeing as it only needs to run Metal) Which is what I was trying to say before. Only time will tell.


(Chidorin Takamori) #15

it’s too soon to talk about mac on arm cpu though it is inevitable, also there rumors/news about windows on arm so it is just the start: in 2-3 years first mass ultra laptops with increased lifespan and similar performance as current U laptops(macbook 2017 is like 2010 mbp i7 now), after everyday apps switching to arm, more higher demanded apps will start switching to arm as there will be larger market of high performance computer on different platforms (and first iMacs on arm will be the sign)

p.s. who knows, may be eve mobile is first step into arm environment


(Ravow) #16

Apple can make even more powerfull cpu, but CPU emulation is bloody slow. that is the problem. Apple do plan to do Arm, not x86 so that tell you that x86 & x86_64 will run slow because they will be emulated (and it make an extremely high registers pressure).

If you ment making an x86 arch by “pulling off an Intel CPU”. They can’t legaly. I think that the only thing they can copy is the old 8086 instruction set because it went public domain thanks to it’s age but the rest is patented. The reason AMD can still make these come from something that append a loooooong time ago and is a long story. Nvidia also tried to release a X86 CPU but got sued and I think that this project is dead.

The fact that it can only run metal don’t relate to the GPU as hardware but only as a mean of vendor lock in. Proper drivers can be made… Even Nvidia tried to push a proper OpenGL driver but apple blocked them. As for the hardware, you can see that Vulkan run on a hell of a lot of cards that wes released even before Khronos was talking about Vulkan. Vulkan was released in 2016… I do have a Radeon 7970 from 2011 somewhere and it does support Vulkan just fine. Hardware just need proper driver but Apple just don’t want a cross platform API.

They want an Apple only API so it work only on the Apple OS as a way to try to gain exclusive software, thinking that dev will use metal only and that will not work (a company with way bigger market share than Apple did it in the past, it was 3DFX with the Glide API. it was even better than the early version of OpenGL that came after but devs mostly switched to OpenGL and D3D7 because it was working will the less effort on more cards.)

It’s always the less effort for more hardware that win. It’s why games are mostly released in D3D11 (D3D12 is harder to master). Then games are wrapped so they can work in other platforms.

Also, a PC does not mean Windows. Apple are PC’s (If you look inside, you see a dumb down Intel PC). And mine do have MacOS as a secondary OS… Apple like lock in so when I dev stuff, I can compile from Linux to all target then for the MacOS version I have to reboooooot to make the fruit happy and compile the MacOS version, with is a massive loss of time as I have to stop everything.


(Ravow) #17

I did heard about these new Arm windows machine but these are advertised as low power / long battery life laptops. It’s not product actual gamers will buy to game on and I don’t think that we will see that much premium games on them. We will probably see less working games on these new low power windows laptop that what Apple PC can actually run.

For what they will actually run and be used for, only time will tell.


(Ravow) #18

I came there to help you guys to run EVE on Metal using DXVK and MoltenVK because in theorie it should run way better than the current solutions and will fix the “no openGL” issue until Apple ditch X86. I did not come here to talk about how switching architecture will hurt there already poor gaming ecosystem.


(Amarisen Gream) #19

I think people miss took me again.
Apple could use Intels CPUs and build their own GPU vs using Intel Integrated Graphics or AMD or Nvidia.

What ever Apple comes up with, will rock the boat for a few years.


(Ravow) #20

Will see. If Apple make a new metal only GPU, and Stay on Intel CPU, EVE will probably be workable with DXVK+MoltenVK.

But they did not anounce anything of that. They did anounce an architecture switch to there one brew of Arm CPU.

Your guys should work on wine to get EVE to work with DXVK+MoltenVK asap. So it’s ready and documented before OpenGL support is trashed for real.