lwjgl
lwjgl copied to clipboard
some minecraft installs not working under windows 10
http://www.minecraftforge.net/forum/index.php/topic,32656.0.html
There's nowhere near enough information to debug this...
Case 1
https://www.reddit.com/r/feedthebeast/comments/3hh80d/windows_10_nvidia_35560_forge_1013414921710_crash/
Summary: newest: nvidia driver set installed DVR which makes MC crash. Should be solved by downgrading/uograding driver is by disabling that DVR service.
Case 2
I suspect there is another problem with windows 10 + java 8u60 which can be fixed by downgrading java.
- http://support.feed-the-beast.com/t/pixel-format-not-accelerated/18085
* version info N/A - http://forum.feed-the-beast.com/threads/launcher-crashing-before-game-can-launch.108927/ * 9.17.10.4229, Card name: Intel(R) HD Graphics 3000
- http://support.feed-the-beast.com/t/the-launcher-wont-load-any-of-the-packs/18449/3?u=jikuja * GL info: ' Vendor: 'Intel' Version: '3.1.0 - Build 9.17.10.4229' Renderer: 'Intel(R) HD Graphics 3000'
I'll update this thread if getting more reports.
I can confirm Case 2. Specs:
- Windows 10 Pro release, most recent (10.0.10240)
- JRE 1.8.60 x64
- Intel HD Graphics 3000
- Intel drivers from May 2015, obtained trough Windows Update (9.17.10.4229)
Log: http://paste.ee/p/QUtXa
I don't see how these are LWJGL issues. The first Case describes a java runtime crash, which would suggest other software is conflicting with the java runtime. The second case uses WDM drivers provided by Microsoft, since Intel has dropped support for Intel HD 2000/3000 series chipsets at Windows 8. I'm actually surprised the game runs at all with them, since Microsoft is notorious for it's limited OpenGL support. That being said, it is strange that different java versions affects whether the game can run. This however sounds like a bug with java, rather than LWJGL.
The second case is actually split. There are two issues.
- quite often what you say is true. Some old intel GPUs are not supported on Windows 10 by Intel anymore.
- however, there is a second issue, where if you use LWJGL with the Intel GPU together with java 8u60, it won't work, while older versions of java work - like 8u25, which Minecraft normally ships with.
The difference is the JRE version used.
I have seen several cases in tech support where users with 2000 and 3000 series (on Windows 10) suddenly can't play the game any more. While we figured the Microsoft driver updates were the cause, this may a more plausible explanation.
Oh yea, should have mentioned that. I'll experiment and see from which version of java on it stops working.
Updating to 1.8.65 or .66 (a hotfix) didn't fix the problem. Downgrading to the previous version, 1.8.51, and it works. So yea, 1.8.60 is the first version that gives the error.
Confirmed with many individuals in the tech support chat. Downgrading java or using native launcher works, for all Sandy Bridge chipset processors.
Does mojang track this? This might be problem as soon as they want to update bundled JRE.
Every inquiry I've seen in regards to updating the bundled JRE version has suggested that, unless there's really a need to do so, it's not going to happen. That isn't to say it won't ever be updated, but there would have to be sufficient grounds for that to occur. I will bring this up on the bug tracker, and perhaps elsewhere, should an update be in the works, or occur. That being said, it isn't overly complicated to change the executable path to use an older installed version of java either.
I've just confirmed this for Arrandale (1st gen) HD graphics too. The user though was also having graphical issues once changing java versions was done. It is unclear whether this is solely an issue for that user though.
I guess we'll have to do the same thing in MultiMC. Bundle a known good version...
On Mon, Nov 9, 2015 at 7:19 PM, CubeTheThird [email protected] wrote:
I've just confirmed this for Arrandale (1st gen) HD graphics too. The user though was also having graphical issues once changing java versions was done. It is unclear whether this is solely an issue for that user though.
— Reply to this email directly or view it on GitHub https://github.com/LWJGL/lwjgl/issues/119#issuecomment-155145425.
Still an issue with 8u71: https://paste.ee/p/0t7Qb
Your graphics card doesn't support Windows 10. This is a well known fact you can find it anywhere. (And this isn't lwjgl's fault)
Solution: Get a new graphics card or find new drivers that support Windows 10
20 jan. 2016 kl. 08:36 skrev Petr Mrázek [email protected]:
Still an issue with 8u71: https://paste.ee/p/0t7Qb
— Reply to this email directly or view it on GitHub.
Why those intallatons work with java versions older than 8u60?
@Subtleoliver That is not MY issue. I run linux exclusively and have a 980ti.
You might want to tell the possibly thousands of users of MultiMC affected by this. Tell them that their laptop/graphics card is obsolete and that they should drop hundreds of dollars on one that doesn't suck. Send them the money while at it :)
Now you might see the issue. It only started happening with a JAVA update. It is a purely software problem. The same drivers, OS and hardware combination works just fine with 8u25.
So, I blame Java, but see LWJGL as the place to fix this, because getting Oracle to fix anything seems like a huge uphill battle.
I'll dig into this once I don't have to quell other raging flames...
It works fine with Java 8u25 cause that's the version it's supposed to run. (It's packaged with h the launcher). If that's the problem then just run it with the version it's supposed to.
21 jan. 2016 kl. 02:38 skrev Petr Mrázek [email protected]:
@Subtleoliver That is not MY issue. I run linux exclusively and have a 980ti.
You might want to tell the possibly thousands of users of MultiMC affected by this. Tell them that their laptop/graphics card is obsolete and that they should drop hundreds of dollars on one that doesn't suck. Send them the money while at it :)
Now you might see the issue. It only started happening with a JAVA update. It is a purely software problem. The same drivers, OS and hardware combination works just fine with 8u25.
— Reply to this email directly or view it on GitHub.
This logic is all backwards. I am not a user. This is a LWJGL or Java bug. I am not interested in a workaround, I already know them. And walking users through these takes away from other things.
Is lwjgl designed for java 8u25 or what is logic here? Please read support tickets before commenting and giving unsourced opinions about well known facts.
Here is one fact: https://bugs.mojang.com/browse/MC-297 the bug is known by mojang. Someone with hardware access should test this, write SSCCE and send it to intel/MS(theird driver) and oracle(their code caused regression, why?).
No minecraft is.
21 jan 2016 kl. 13:03 skrev jikuja [email protected]:
Is lwjgl designed for java 8u25 or what is logic here? Please read support tickets before commenting and giving unsourced opinions about well known facts.
Here is one fact: https://bugs.mojang.com/browse/MC-297 the bug is known by mojang. Someone with hardware access should test this, write SSCCE and send it to intel/MS(theird driver) and oracle(their code caused regression, why?).
— Reply to this email directly or view it on GitHub.
@Subtleoliver So what you want to tell us is to use a way outdated version of Java? There have been quite a few critical Java-updates released since then and Mojang still ships with a version from 2014, because obviously the newer versions would prevent many people from playing. This matter should be high priority, and a fix must involve not to "update your graphics card", but to fix the underlying problem in java trough whatever means.
That is the version minecraft "want" to use. It is packaged with the launchers for mac and windows. https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail Det här e-brevet skickades från en virusfri dator som skyddas av Avast. www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail <#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
2016-01-21 14:58 GMT+01:00 4rz0 [email protected]:
@Subtleoliver https://github.com/Subtleoliver So what you want to tell us is to use a way outdated version of Java? There have been quite a few critical Java-updates released since then and Mojang still ships with a version from 2014, because obviously the newer versions would prevent many people from playing. This matter should be high priority, and a fix must involve not to "update your graphics card", but to fix the underlying problem in java trough whatever means.
— Reply to this email directly or view it on GitHub https://github.com/LWJGL/lwjgl/issues/119#issuecomment-173576884.
oliver
Stating that Mojang does not fix the problem and employs a workaround adds nothing to the discussion. I think everyone already knows that. The workaround is IMHO not acceptable.
The way I see it, no actual investigation of the issue has been done. We have workarounds like replace your hardware or use outdated java versions.
The hardware in question has perfectly well working drivers on Windows 10 and supports OpenGL 2.1. It even works with Minecraft as long as you do not update java.
Someone with that hardware, a Java and/or native debugger and the required skill should replicate the issue and find out what the root cause is. Then it should be fixed or worked around in a way that does not compromise user security.
I do not have the hardware. Otherwise, I'd already have done it.
I've been able to reproduce this on Windows 10, HD 2000 on a Sandy Bridge i5, driver version 9.17.10.4229. OpenGL (version 3.1) works on all JVMs up to 8u51. Starting from 8u60, the Intel OpenGL driver refuses to load. Specifically:
- The OpenGL ICD works just fine.
- If the Intel iGPU drives the main display, the OpenGL ICD will try to load the Intel OpenGL driver. This fails on 8u60+.
- The OpenGL ICD will then try the software OpenGL 1.1 driver that comes with Windows. That driver works, but of course LWJGL fails with the infamous "Pixel format not accelerated" error.
The machine I'm testing on also has a discrete Nvidia GPU which I had disabled for the above. Interestingly, when enabled with a secondary monitor attached to it, the ICD will again first try the Intel driver and when that fails it will load the Nvidia one successfully. This works even with no monitor attached to the Nvidia GPU.
I'm certain that this is not an LWJGL bug. The latest LWJGL 2.9.4 nightly build behaves the same and so does LWJGL 3 (which uses GLFW for window/context creation). So, there's something in Java 8u60 that the Intel driver doesn't like. I went through the release notes and all changes that made it into the u60 release, but couldn't find anything relevant.
In order to debug this, I changed the LoadLibrary("opengl32.dll")
call (the ICD) to LoadLibrary("ig4icd64.dll")
(the Intel driver). This failed with ERROR_DLL_INIT_FAILED
: A dynamic link library (DLL) initialization routine failed. I then used Dependency Walker to profile the same LWJGL program running under Java8u51 and Javau60. The logs, up to loading ig4icd64.dll and after removing all hex values for easier comparison:
The 8u60 log ends with the DLL_PROCESS_ATTACH
error. It looks like that the Intel OpenGL driver tries to call D3DKMTOpenAdapterFromHdc
, which probably fails, then it returns 0 to the OpenGL ICD. As for JVM differences, what's interesting is the function Java_java_lang_ProcessEnvironment_environmentBlock
which is only called in 8u60. I'll investigate more tomorrow and keep you updated.
Java 8u60 seems to update sun.usagetracker.UsageTrackerClient class to call System.getEnv() which will call Java_java_lang_ProcessEnvironment_environmentBlock: https://gist.github.com/anonymous/100ec231a734cd97eca1
I wonder if calling System.getEnv() with < java 8u60 before opening display triggers same behaviour. Sadly can't test (yet) because I have not installed windows 10.
Tried different JVMs:
- Azul Zulu 8u51, works.
- Azul Zulu 8u60, fails. Zulu is based on OpenJDK and there's no Java_java_lang_ProcessEnvironment_environmentBlock, so it must be something else.
- IBM J9 based on 8u51, fails. This complicates things.
I wonder if calling System.getEnv() with < java 8u60 before opening display triggers same behaviour.
Tried with 8u51, it doesn't.