Since the only machine I have right now doesn't do OpenGL higher than 1.1, I've been forced to stick with the old version. If I don't even use shaders or any of that other fancy crap, why can't I disable them? And before anyone says that supporting lower than 2.1 is pointless and/or impossible, I would like to point out that Unity happily does so, even for games with heavy shaders and everything (it automagically removes them when the same content is run on a less-capable system).
Using an obsolete version of Love2D for the indefinite future is foolish, to say the least, especially if I want to actually release anything. Am I really going to have to maintain my own fork of Love2D just so I can get updates?
Removing OpenGL 2.1 requirement from Love 0.10.0+
Forum rules
Before you make a thread asking for help, read this.
Before you make a thread asking for help, read this.
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Removing OpenGL 2.1 requirement from Love 0.10.0+
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
- slime
- Solid Snayke
- Posts: 3162
- Joined: Mon Aug 23, 2010 6:45 am
- Location: Nova Scotia, Canada
- Contact:
Re: Removing OpenGL 2.1 requirement from Love 0.10.0+
There are no GPUs (integrated or otherwise) produced in the last 20+ years which have such limited capabilities. However, the Microsoft OpenGL software renderer on Windows can only do OpenGL 1.1. It sounds like your actual graphics card isn't telling LÖVE that it exists, make sure you have the absolute latest graphics drivers!Taehl wrote:Since the only machine I have right now doesn't do OpenGL higher than 1.1
(EDIT: That said, the Intel GMA 950 – which is based on 12 year old technology that was even outdated 12 years ago, doesn't have the necessary hardware capabilities either. Its Windows drivers only expose support for ~OpenGL 1.4. On Linux it has a driver which does partial software emulation in order to provide OpenGL 2.1 support, so it should work if you use that. Its Direct3D driver on Windows does a similar partial software emulation thing as well.)
Shaders aren't fancy, they are actually the only way GPU hardware renders anything (and have been, for more than a decade). Even with "no shader active", either LÖVE or the graphics driver is supplying its own shaders, depending on which version of LÖVE you use.Taehl wrote:If I don't even use shaders or any of that other fancy crap, why can't I disable them?
viewtopic.php?f=3&t=81781&start=20#p195878
Unity has similar hardware requirements to LÖVE at this point. However they use Direct3D on Windows, which has more consistent driver support compared to OpenGL on Windows (which is related to my first paragraph).Taehl wrote:I would like to point out that Unity happily does so, even for games with heavy shaders and everything (it automagically removes them when the same content is run on a less-capable system).
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Re: Removing OpenGL 2.1 requirement from Love 0.10.0+
I have a Thinkpad X60 Tablet. Produced exactly 10 years ago. Its GPU is a Mobile Intel Express 945 chip. Its spec claims it goes up to OpenGL 1.4 max, but things over 1.1, in my experience, aren't a guarantee. I had far worse luck on each and every flavor of Linux I cared to try, so it's not Windows 7's fault.slime wrote:There are no GPUs (integrated or otherwise) produced in the last 20+ years which have such limited capabilities. [...] It sounds like your actual graphics card isn't telling LÖVE that it existsTaehl wrote:Since the only machine I have right now doesn't do OpenGL higher than 1.1
Can't I disable PIXEL shaders? I'm aware the vertex shaders have been a thing for a very long time, and I just want Love2D to be able to use them again.slime wrote:Shaders aren't fancy, they are actually the only way GPU hardware renders anything (and have been, for more than a decade). Even with "no shader active", either LÖVE or the graphics driver is supplying its own shaders, depending on which version of LÖVE you use.Taehl wrote:If I don't even use shaders or any of that other fancy crap, why can't I disable them?
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
- slime
- Solid Snayke
- Posts: 3162
- Joined: Mon Aug 23, 2010 6:45 am
- Location: Nova Scotia, Canada
- Contact:
Re: Removing OpenGL 2.1 requirement from Love 0.10.0+
Check out my edit to my previous post.Taehl wrote:I have a Thinkpad X60 Tablet. Produced exactly 10 years ago. Its GPU is a Mobile Intel Express 945 chip. Its spec claims it goes up to OpenGL 1.4 max, but things over 1.1, in my experience, aren't a guarantee. I had far worse luck on each and every flavor of Linux I cared to try, so it's not Windows 7's fault.
You cannot, they are very integrated into love.graphics' code now. Your GPU also doesn't support GLSL vertex shaders anyway (which are very integrated into love.graphics' code as well).slime wrote:Can't I disable PIXEL shaders? I'm aware the vertex shaders have been a thing for a very long time, and I just want Love2D to be able to use them again.
Even phones from 7+ years ago have GPUs that can run shaders (and nvidia and ATI GPUs from ~14 years ago can do it too), for what it's worth.
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Re: Removing OpenGL 2.1 requirement from Love 0.10.0+
I saw you previous post. Linux was an unbroken chain of fail. Are you suggesting I can force Love2D to use DirectX?
I know all about the technology. I've been following it since about '96. Geometry shaders FTW. I'm excited about Vulkan and everything. It's wonderful that technology is getting better, and even old phones can do impressive graphics tricks. That doesn't make the slightest difference to the machine in front of me. It's happily capable of running games like Half-Life and Unreal Tournament, and even a few modern ones like Freedom Planet, at 60 FPS. The only issue is that it doesn't support modern graphics tricks I'm not using anyway. Why are programmable pixel shaders required for even the basic Hello World?
I know all about the technology. I've been following it since about '96. Geometry shaders FTW. I'm excited about Vulkan and everything. It's wonderful that technology is getting better, and even old phones can do impressive graphics tricks. That doesn't make the slightest difference to the machine in front of me. It's happily capable of running games like Half-Life and Unreal Tournament, and even a few modern ones like Freedom Planet, at 60 FPS. The only issue is that it doesn't support modern graphics tricks I'm not using anyway. Why are programmable pixel shaders required for even the basic Hello World?
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
- slime
- Solid Snayke
- Posts: 3162
- Joined: Mon Aug 23, 2010 6:45 am
- Location: Nova Scotia, Canada
- Contact:
Re: Removing OpenGL 2.1 requirement from Love 0.10.0+
There is https://github.com/google/angle , but it doesn't support your GPU I believe. BobbyJones is one LÖVE user who was able to run 0.10 on a computer he was using by running it in a Linux distro instead of Windows.Taehl wrote:I saw you previous post. Linux was an unbroken chain of fail. Are you suggesting I can force Love2D to use DirectX?
Geometry shaders are unfortunately mostly useless – they heavily impact performance, and almost all of the things they can do are possible through other better-performing means. A lot of phone GPUs even skipped geometry shaders entirely and just support vertex shaders, pixel shaders, and compute shaders.Taehl wrote:Geometry shaders
Because shaders aren't tricks, they're code that determines the position of everything you draw, and the colors of all the pixels on the screen.Taehl wrote:The only issue is that it doesn't support modern graphics tricks I'm not using anyway. Why are programmable pixel shaders required for even the basic Hello World?
Supporting pre-shader OpenGL, shader-capable OpenGL, and OpenGL ES 2 at the same time would require two fairly different codepaths inside love.graphics, which means more chance of bugs, less ability to add to or change love.graphics in the future, less reliable features for LÖVE users (even 0.10's videos require and use shaders), and a much larger time and effort commitment than I can give for something that's just a hobby for me separate from my full-time job – all to support decade-old hardware that less and less people use each day, and of those people practically none expect to run new games on such hardware.
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Re: Removing OpenGL 2.1 requirement from Love 0.10.0+
I like geometry shaders for how they can add more detail and generate entirely new geometry, not merely subdivide. Wonderful for procedural content. It's also a better solution than most implementations of parallax mapping with occlusion, IMHO. Not really seen much in current games, I know, but Nvidia has some nice demos with it.
I understand your reasons for dropping legacy support. I don't disagree with them either. Sadly, from my perspective this is a major, deal-breaking kind of thing. I've been a proud and vocal proponent of Love2D for years. Now I can't even run it? I'm going to have to switch to giant, corporate Unity because it'll actually run on my machine instead of the lightweight open-source framework I favor?
I understand your reasons for dropping legacy support. I don't disagree with them either. Sadly, from my perspective this is a major, deal-breaking kind of thing. I've been a proud and vocal proponent of Love2D for years. Now I can't even run it? I'm going to have to switch to giant, corporate Unity because it'll actually run on my machine instead of the lightweight open-source framework I favor?
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Re: Removing OpenGL 2.1 requirement from Love 0.10.0+
Or you could buy a new gpu. Something like a Nvidia GT9600 for around 20,- will run Love fine.
Who is online
Users browsing this forum: No registered users and 2 guests