对于旧版Intel HD Graphics无法启动Minecraft Forge的解决方案是什么?
MinecraftのModを作ってみようと環境構築していた際、EclipseでForgeのClientを起動するとエラーが発生して起動しない問題に遭遇。ググってもなかなか情報が得られず、解決するのに苦労したので同じ現象で悩んだ人のためにメモを残しておく。
出现错误的环境
-
- Windows 10 Home
-
- Java 1.8.0_211
-
- Eclipse 2019-03 (4.11.0)
- Minecraft Forge 1.12.2
进行的构建步骤和发生的错误
参考了「(WIP) 使用Forge创建(导入)Minecraft模组」在Eclipse中创建了一个项目。当启动MDKExample的客户端时,出现了以下错误,导致Minecraft无法启动。
[22:19:31] [main/ERROR] [minecraft/Minecraft]: Couldn't set pixel format
org.lwjgl.LWJGLException: Pixel format not accelerated
at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:247) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
at org.lwjgl.opengl.Display.createWindow(Display.java:306) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
at org.lwjgl.opengl.Display.create(Display.java:848) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
at org.lwjgl.opengl.Display.create(Display.java:757) ~[lwjgl-2.9.4-nightly-20150209.jar:?]
at net.minecraft.client.Minecraft.createDisplay(Minecraft.java:674) [Minecraft.class:?]
at net.minecraft.client.Minecraft.init(Minecraft.java:504) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_202]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_202]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_202]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_202]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:25) [start/:?]
调查原因
当我查找「org.lwjgl.LWJGLException: Pixel format not accelerated」时,只能找到一种解决方案,那就是更新显卡驱动程序。但是我确认已经是最新的驱动程序了,感到束手无策。
在另一台电脑上建立相同的环境
在另一台电脑上成功地建立了完全相同的环境,顺利启动。
至少可以确认,Java、Eclipse和Forge的组合没有问题。
我考虑了出现错误的计算机和没有出现错误的计算机之间的区别,但操作系统和各个软件版本都是相同的,只有硬件方面有一些差异。
因此,當我搜索顯卡名稱作為關鍵詞時,我注意到以下網站的注釋:
「『Minecraft Crash Help / Pixel Format Not Accelerated』」
如果您使用的是”Intel HD Graphics”或”Intel HD Graphics 3000″芯片组,请参阅本页面顶部的说明。
如果你使用的是”Intel HD Graphics”或”Intel HD Graphics 3000″,则请查看页面顶部的说明。
順便提一下,出错的那台电脑是一台稍旧的Core i7-2600K处理器,显卡是Intel HD Graphics 2000。而出错的那台较新的Core i5-8250U处理器,显卡是Intel UHD Graphics 620,并未在注释中包含2000,但考虑到它位于无编号和3000之间,我认为有很高的可能性是指的是它,所以我进行了确认。
然后,那里有
在 Windows 10 上,第一代和第二代 Intel HD 图形芯片组需要低于 8u60 版本的 Java。
という記載が。
どうやら、第一世代と第二世代のIntel HD GraphicsとWindows 10の組み合わせではJavaのバージョンを8u60未満(※)にしなければならないらしい。
Intel HD Graphics 2000は確か第二世代なので、この注釈に当てはまる可能性が高い。
※谷歌翻译将”below”翻译为”以下”,但正确的翻译应该是”未满”(不包含该值)。
解决方案
从Oracle的Java SE 8存档下载网站上下载并安装”JDK 8u51″。
通过在Eclipse的运行配置中将Java版本指定为8u51,成功地解决了启动Client时的问题。