Jump to content
You are about to reply to a thread that has been inactive for 1183 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Aloha. Noob builder question:

I'm curious about the potential impacts of Apple's move away from OpenGL. Will the impacts be felt primarily behind the scenes at LL, or will changes also be necessary for residents and builders?

I enjoy digital art and would like to take a stab at creating 3D content too. I use Linux, Mac, and Windows for SL as a resident, but use Mac exclusively as an artist. Most of my experience is with Photoshop, so before I try out tools like Blender, Avastar, Maya, or 3D Max I'm wondering if items created with these would be successful in a post-OpenGL world.

Thanks in advance for your thoughts.

Link to comment
Share on other sites

5 minutes ago, Waiomao said:

I'm wondering if items created with these would be successful in a post-OpenGL world.

The items you create will continue to work, the 3D formats SL use are long established and are supported by all mainstream 3d rendering engines, I can't imagine LL would ever drop support for them as that would mean breaking 100% of all mesh creations to this date in-world.

  • Like 1
Link to comment
Share on other sites

28 minutes ago, Fritigern Gothly said:

Unfortunately, all viewers (with the exception of text-based viewers) require OpenGL, so the moment an operating system does not support OpenGL, the viewer will simply refuse to work.

 

Thanks Fritgern. Any idea if LL, Firestorm, Kokua, etc are creating an alt viewer that will be compatible with Apple's "Metal?" It would be a shame for SL to lose all their Mac residents. 

Link to comment
Share on other sites

29 minutes ago, Extrude Ragu said:

The items you create will continue to work, the 3D formats SL use are long established and are supported by all mainstream 3d rendering engines, I can't imagine LL would ever drop support for them as that would mean breaking 100% of all mesh creations to this date in-world.

Thanks Extrude. Thinking long term, because when Apple drops some big change, within a year or two Windows and Linux do the same. I can see LL, viewer makers, and content makers grumbling loudly but eventually shifting over.

Link to comment
Share on other sites

OpenGL has been around for a long time: it's a standard way of communicating between the user software and the hardware drivers. And it is starting to look rather tired. Apple are replacing OpenGL with Metal, Windows uses DirectX12, but neither has the cross-platform advantages of OpenGL. A lot of Game and other graphics development is moving to Vulkan: cross-platform.

All of these new systems are allowing features that OpenGL doesn't, doing things better. OpenGL doesn't manage GPU/CPU sharing very well, and if I am reading things right, that's currently a weakness for EEP.

Worst case, you might need to run the right graphics driver on your system, which isn't so different from the early days of OpenGL.

Vulkan looks a good bet for OpenGL replacement. It is a widely-backed cross-platform fix. That doesn't mean it's the only answer, I've seen other new tools with big-name support fail, but it's the right pattern. And, not a perfect answer, there are toolsets to sit between OpenGL and Vulkan.

 

  • Like 1
Link to comment
Share on other sites

12 minutes ago, arabellajones said:

Vulkan looks a good bet for OpenGL replacement. It is a widely-backed cross-platform fix. That doesn't mean it's the only answer, I've seen other new tools with big-name support fail, but it's the right pattern. And, not a perfect answer, there are toolsets to sit between OpenGL and Vulkan.

Vulkan is probably the future. There are Vulkan to Metal and OpenGL to Vulkan interface libraries. They may be inefficient, but it's helpful when porting old code to have such things available. There's much interest in the industry in finding out what UE5 is doing under the hood. (If you haven't seen the Unreal Engine 5 graphics demo, find it on Youtube.) That does level of detail in the GPU, which is a big win when you have the hardware to support it.

Vulkan is intended to do as much as possible in the GPU, which, with newer GPUs, is a lot. But many SL users have rather weak GPUs. On Steam, entry level is probably an NVidia 1060, which has 6GB of VRAM and came out in 2016. That's above what most SL users have. The recommended (not minimum) graphics card for Second Life is an Nvidia 9800, which came out in 2008. There are SL users still struggling to keep SL going on Windows XP.

SL needs a rework of the graphics pipeline for modern hardware. There are two new graphics Lindens working on something in that area.

  • Like 3
Link to comment
Share on other sites

1 hour ago, Waiomao said:

Thanks Fritgern. Any idea if LL, Firestorm, Kokua, etc are creating an alt viewer that will be compatible with Apple's "Metal?" It would be a shame for SL to lose all their Mac residents. 

I think that someone will come up with one or more ways to add back OpenGL support to your Mac.
I am a Linux user now, but a long time ago I still used Windows. Windows was hell bent on using DirectX, but it was possible to visit Intel and get and installer for OpenGL libraries.
Because of that I don't think it would be too far-fetched to believe that it will be possible to add OpenGL/OpenCL back to MacOSX.

  • Like 1
Link to comment
Share on other sites

11 hours ago, animats said:

Vulkan is intended to do as much as possible in the GPU, which, with newer GPUs, is a lot. But many SL users have rather weak GPUs. On Steam, entry level is probably an NVidia 1060, which has 6GB of VRAM and came out in 2016. That's above what most SL users have. The recommended (not minimum) graphics card for Second Life is an Nvidia 9800, which came out in 2008. There are SL users still struggling to keep SL going on Windows XP.

There's a lot in that paragraph which makes me wonder what Linden Lab are really playing at. I wouldn't, myself, recommend using graphics below the nVidia xx50 level (and there are way too many fake nVidia chipsets which have come out of China, things like 450 chipsets reporting they are a 950 (and still using a VGA connector)). EEP just isn't going to work with that old hardware, it depends on CPU elements which just aren't there.

At least the Sansar distraction is out of the way, but we need something better than a drip, drip, drip of near-rumour from a few privileged third-party viewer developers. Apple have been deprecating OpenGL for years. It would have been reckless to jump straight on the Vulkan bandwagon in 2015, but Apple's deadline is the end of this year. They're telling everyone.

Other companies have some sort of roadmap, a timetable for the change. They want their customers to feel able to trust them. Linden Lab? They struggle to get timetables out for the end of this week!

It's still possible that they have competent programmers...

 

  • Like 2
Link to comment
Share on other sites

Apple is only deprecating OpenGL because they haven't been able to get a proper implementation for ages and been stuck at OpenGL 2.0 or something like that, now using the "old-tech" argument to distract from their own incompetence. Apart from that, forcing developers to use Metal comes with some nice lock-in effects and we all know how Apple likes to lock in their users.

The only positive effect of switching away from OpenGL to Vulkan (if they do, since they just even are about to start evaluating how many users are actually capable of using it) would be, that we finally might get away from 2004 rendering methods - at the most likely cost of (un)expected borkage of existing content.

  • Like 1
  • Thanks 2
  • Haha 1
Link to comment
Share on other sites

Whoa there.  If Apple uses Arm cores in next generation iMac and Macbook, what does that do to SL and Apple computer users?  “Think different” gets even more painful for them?

Link to comment
Share on other sites

  • 5 months later...

Well this is looking promising with Microsoft releasing a OpenGL to Directx wrapper thing, this is a winner if utilised in SL with the graphics card taking some of the work off the CPU, will and should make SL a lot smoother and less laggy.

Microsoft has released the app OpenCL and OpenGL Compatibility Pack to the company's Microsoft Store this week designed to allow applications to run on Windows 10 devices that don't have OpenCL or OpenGL hardware drivers installed. If DirectX 12 drivers are installed,  apps that are supported will run with hardware acceleration to improve performance.

https://www.ghacks.net/2020/11/15/windows-10-opencl-and-opengl-compatibility-pack-released-by-microsoft/

 

Link to comment
Share on other sites

On 6/22/2020 at 8:45 AM, Ardy Lay said:

Whoa there.  If Apple uses Arm cores in next generation iMac and Macbook, what does that do to SL and Apple computer users?  “Think different” gets even more painful for them?

Calm down there, Ardy.  Apple M1 works great.

  • Like 3
Link to comment
Share on other sites

4 hours ago, Lyssa Greymoon said:

I can’t think of a single graphics card that has DirectX drivers but not OpenGL drivers.

It is aimed at ARM based equipment and future devices like imagine hand-held and wearable devices etc.

 

  • Thanks 1
Link to comment
Share on other sites

I use a Linux based operating system. I also play games on Steam. While many of those games run on Linux natively, quite a few I've bought over the years only came with Windows versions. Valve, the owner of the Steam platform, has been a huge supporter of open source software. In the last few years, they've packaged WINE with the Linux Steam Client in the form of SteamPlay/Proton. It makes a large percentage of Windows-only games run on Linux with no additional effort. If a game needs a few extra tweaks, the community often shares information on what is required to get that game running. Most Windows game use Microsoft's Direct X, so in recent years a translation layer called DXVK was developed to convert D3D calls to Vulkan, the replacement for OpenGL. DXVK works so well for my AMD Radeon RX 580, that I've installed Windows versions of some games instead of their native Linux versions that use OpenGL. How much better is the Direct X to Vulkan translation than OpenGL? I often have twice the framerate with DXVK over OpenGL. Yeah, part of that is simply because AMD doesn't optimize their consumer level GPUs for OpenGL, but it would not surprise me to find Nvidia users doing the same thing for the same reasons.

So how would this apply to Second Life? Would there be any benefit to running a translation layer for OpenGL to Vulkan? I was curious about this, and it just so happens that current open source Mesa drivers on Linux (for AMD and Intel graphics only) can use a relatively new feature called Zink to do just this. Zink is still experimental and in active development. I was able to run a Second Life viewer using Zink, but it's very sluggish and has artifacts. Perhaps this will change, but I'm hoping for a native Vulkan renderer in the viewer some day. Vulkan works on Windows the same way it does on Linux. As for Mac, the MoltenVK API should work with hardly any loss of performance.

Image: Second Life viewer running OpenGL to Vulkan at the driver level. Notice the odd looking eyes. Also, the mesh on the avatar will go to lower LODs very quickly for some reason, disintegrating at a much shorter distance than expected.

SL-OpenGL_to_Vulkan.png

  • Like 2
Link to comment
Share on other sites

52 minutes ago, KjartanEno said:

 *snip*

Yeah, part of that is simply because AMD doesn't optimize their consumer level GPUs for OpenGL, but it would not surprise me to find Nvidia users doing the same thing for the same reasons.

 

 

Well it's a bit more complicated than that. AMD follows the OpenGL standards strictly, and since its so old they don't do all the hackey stuff that Nvidia still does to make it function properly. This is why Nvidia performs better for SL all around, even on Linux (Which I use also.)  Nvidia's drivers contain miles of kludge to make them 'just work' with OpenGL and it does. AMD just does not see a point in taking that road for whatever reason.

If at some point in the future Vulkan becomes a thing with SL, AMD gpus will probably perform exceptionally well , on par or surpassing Nvidia in my opinion.

Edited by Gage Wirefly
  • Like 3
Link to comment
Share on other sites

  • 5 weeks later...
On 6/17/2020 at 2:18 PM, Ansariel Hiller said:

Apple is only deprecating OpenGL because they haven't been able to get a proper implementation for ages and been stuck at OpenGL 2.0 or something like that, now using the "old-tech" argument to distract from their own incompetence. Apart from that, forcing developers to use Metal comes with some nice lock-in effects and we all know how Apple likes to lock in their users.

The only positive effect of switching away from OpenGL to Vulkan (if they do, since they just even are about to start evaluating how many users are actually capable of using it) would be, that we finally might get away from 2004 rendering methods - at the most likely cost of (un)expected borkage of existing content.

This. I didn't even know what to think when I saw them doing shiny fragment calculation in their vertex shaders.

Additionally, the Lindens also seem insistent on supporting 16 year old hardware and are still doing opengl checks for below 3.0 in llgl.cpp. Even their hardware query for vram, opengl version, and device driver stuff is still handled like its 2002. Plus there are snippets of code for ATI compatibility floating around, its ludicrous their gpus haven't existed for 15 years. Frankly, if people are running 15 year old gpus, they likely are not the ones spending money on the game. Linden Labs needs to get a grip and up the min opengl spec to at least to 3.3 or 4.

 

As a side note, I've seen your work in firestorm. Nice.

Edited by Biggay Koray
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1183 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...