| ▲ | mort96 2 days ago |
| Is the rationale for switching away from GLFW documented anywhere? I'd love to read about it, I have some projects which use GLFW myself and I'm always wondering whether or not SDL would be better |
|
| ▲ | creatonez a day ago | parent | next [-] |
| Not sure, but they were able to get Wayland support working out of the box in this update. Previously it required workarounds, and even with workarounds, new issues would pop up in a game of whack-a-mole, and nobody really cared because running MC in XWayland was good enough for most people. Whereas SDL3 has very solid Wayland support out of the box. Minecraft only really uses GLFW to create the window, set the taskbar icon, go into fullscreen mode, and accept input, with everything else being handled by raw OpenGL, so this was an easy switchover. Now that Minecraft supports Vulkan, it's able to use a fully modern stack on Linux desktops / Steam Decks. |
| |
| ▲ | mort96 a day ago | parent [-] | | GLFW 3.4 has always just worked under Wayland for me. What has been the issue for Minecraft? | | |
| ▲ | creatonez 7 hours ago | parent [-] | | GLFW itself is supposed to work, but there are areas of the API surface that Minecraft touches that have been a problem, so Minecraft hasn't been able to enable it. I believe the two major issues that cause crashes have been the way Minecraft sets the taskbar icon and the way it sets the window geometry. And various quality of life problems with the mouse (like hovering over the window capturing the mouse instantly). |
|
|
|
| ▲ | akazantsev a day ago | parent | prev | next [-] |
| > I'm always wondering whether or not SDL would be better SDL supports mobile; GLFW doesn't. Maybe they're unifying codebases between the platforms. Edit: BTW SDL3 still works even on Android 4.2. I made an app using it and ImGui, without any Java. |
| |
| ▲ | mort96 a day ago | parent | next [-] | | Your suspicion is that they're going to discontinue Bedrock and replace the iOS and Android versions with Java? Even though iOS doesn't even allow Java with JIT? | | |
| ▲ | akazantsev a day ago | parent | next [-] | | Dunno. Apple makes exceptions for big companies and might do so for something as big as Minecraft. Also, SDL3 supports far more platforms
https://wiki.libsdl.org/SDL3/README-platforms Now they can release a Java edition even for PlayStation and Xbox. At least porting to SDL3 opens the door to consoles and mobiles if they want to do so. | | |
| ▲ | HenryMulligan a day ago | parent [-] | | If both sides are willing to do that, why didn't they do that the first time instead of creating Minecraft PE? | | |
| ▲ | small_scombrus 18 hours ago | parent [-] | | PE was created in a time where phones were VERY unimpressive when it came to compute | | |
| ▲ | mghackerlady 12 hours ago | parent [-] | | Also, minecraft wasn't nearly as big as it was today. It was noticeable, but it wasn't headed by microsoft. There's no way it would've gotten an exception |
|
|
| |
| ▲ | papercrane a day ago | parent | prev [-] | | It's possible they could AOT compile for iOS, but I think the idea they are unifying to be unlikely. |
| |
| ▲ | Iron_Ninja5 a day ago | parent | prev [-] | | Highly doubt it. The current mobile version (Minecraft bedrock) is the version that Microsoft wants everyone to use. Java edition only sticks around because they know it's the version most of the community wants. | | |
| ▲ | mghackerlady 12 hours ago | parent [-] | | And the one that Mojang actually uses for development. IIRC any new features are done in Java and ported to bedrock (presumably by a seperate team) |
|
|
|
| ▲ | a day ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | LoganDark a day ago | parent | prev | next [-] |
| For one, input method editor support. |
|
| ▲ | dismalaf 2 days ago | parent | prev | next [-] |
| SDL is more of a "platform" you can use anywhere. It includes literally everything you'd want from the OS layer (windowing, graphics, audio, input, network code, threads) whereas GLFW is just windowing, graphics context and input, you need to bring your own audio, network code and threading library. Not a big deal for some but SDL does do more... Plus it's even more portable than GLFW. |
| |
| ▲ | mort96 2 days ago | parent | next [-] | | I'm aware of those things, but are those the reasons? Are they actually planning on moving away from their existing audio, networking and threading solutions and switch it out for SDL's implementations? Are they planning on porting Minecraft Java to platforms GLFW doesn't support? | | |
| ▲ | dismalaf a day ago | parent [-] | | A little AI assisted digging indicates SDL3 has better support for switching between keyboard layout keys and physical keys depending on context (ie. Game controls can be WASD or whatever letters those physical keys are while it can use international keyboard layouts for chat boxes). | | |
| ▲ | mort96 a day ago | parent [-] | | Is that why they are doing this? Did your little chat bit tell you anything about Mojang's stated rationale, which is what I asked about? Also, GLFW reports both the scan code and the key code, just like SDL, so I'm not sure I really trust those technical details either. Usually, you want to use scan code for some things (e.g key binds) and key code for others (e.g typing), so you can't have a global switch. | | |
| ▲ | dismalaf a day ago | parent [-] | | Well the article doesn't state why so all anyone has is speculation. Here's a bunch of GLFW questions on Microsoft's website, quite a few are Minecraft related errors: https://learn.microsoft.com/en-us/search/?terms=glfw&categor... Also do a search for GLFW here: https://bugs.mojang.com/browse/MC | | |
| ▲ | mort96 a day ago | parent [-] | | In case you missed it, the question was: > Is the rationale for switching away from GLFW documented anywhere? "Not that I know" is a perfectly good answer. Don't spew ChatGPT slop at me. | | |
| ▲ | dismalaf a day ago | parent [-] | | You're pleasant. Should I have just said no, RTFA? Which clearly doesn't state why. That better? Or say you can search yourself? As for ChatGPT slop, I've never used that particular LLM, but some are good for bypassing ads/SEO slop while searching the internet. | | |
| ▲ | mort96 a day ago | parent | next [-] | | I did read the article. As you say, it doesn't state why. That's why I asked if they had written about it elsewhere. You don't have to answer questions you don't know the answer to. Answering with incorrect LLM slop is bad form. | | |
| ▲ | dismalaf a day ago | parent [-] | | So am I wrong? I pulled up pages of various people reporting GLFW bugs in Minecraft Java edition. | | |
| ▲ | LtdJorge a day ago | parent [-] | | Yes, you are. Because those are not actual stated reasons from the developer. | | |
| ▲ | dismalaf 11 hours ago | parent [-] | | There are no stated reasons from the developer. So I could be right or wrong. No one knows. Literally the whole thread is people speculating or making random comments about Minecraft and I'm being shit on for the most plausible theory backed up by bug reports here. |
|
|
| |
| ▲ | nvme0n1p1 a day ago | parent | prev [-] | | If he wanted AI slop, I'm sure he's capable of asking an AI himself. He asked a forum full of people because he wants a real answer from a knowledgeable person. If you didn't have anything to contribute, you could have just left it for someone else to reply. | | |
| ▲ | dismalaf a day ago | parent [-] | | Well, I've used both GLFW and SDL and can say SDL is more robust, covers more edge cases, etc... And he specified he only wanted an answer from someone in the know, so probably no one here anyway. Also it's weird complaining about slop when HN is 99% slop, and has been for a long time. It was only interesting from 2008-2016 or so. | | |
| ▲ | jamilton a day ago | parent | next [-] | | It’s entirely possible that Mojang has a blog somewhere with more detail, or maybe a dev tweeted something, that would be the type of useful info that could exist that someone more familiar with Mojang might know. | |
| ▲ | _bohm 13 hours ago | parent | prev [-] | | Ok so why are you still here? |
|
|
|
|
|
|
|
| |
| ▲ | chlorion 11 hours ago | parent | prev [-] | | SDL3 also includes a "GPU API", that allows low level programming of the GPU, similar to vulkan, though not quite as low level. |
|
|
| ▲ | groundzeros2015 a day ago | parent | prev [-] |
| You could make an entire 2D game using the SDL API without OpenGL/vulkan. |
| |
| ▲ | creatonez a day ago | parent | next [-] | | Minecraft essentially only uses GLFW (and now SDL3) to create the window and accept input. The game itself is essentially coded in raw OpenGL (and now vulkan). | |
| ▲ | mort96 a day ago | parent | prev | next [-] | | Are they going to do that? If not, that's not the reason they're doing this either | |
| ▲ | chlorion 11 hours ago | parent | prev [-] | | You can make an entire 3d game using SDL3 as well, without opengl or vulkan, using the new GPU API! |
|