5.9.0 - community input needed to decide for sacrifices

Locked

Which option to pick?

Poll ended at Thu Aug 15, 2024 20:43

Ignore the disadvantages and release like in rc1.
15
56%
Disable SDL2, use Irrlicht like in <= 5.8.0
10
37%
Delay 5.9.0 by a few years to give the SDL team time to release a better version
2
7%
 
Total votes: 27

User avatar
Krock
Developer
Posts: 4683
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

5.9.0 - community input needed to decide for sacrifices

by Krock » Post

The goal of this post is to see which solution the community would like for the input caveats (see News post) present in the 5.9.0-rc1 build (and also master branch for that matter).

5.9.0-rc1 news post, including downloads: viewtopic.php?t=30853

Minetest 5.9.0 was originally planned to use SDL2 support on desktop builds, as a replacement for the previous Irrlicht implementation. Whether to use SDL2 or Irrlicht's input handling must be defined at build time. Android builds also use SDL2 but are generally not affected by its disadvantages.

Benefits of SDL2 for 5.9.0:
  • Touch screen controls support for Windows, MacOS and Linux
  • Linux: native Wayland support
  • F11 to toggle fullscreen at runtime
  • IME support (makes it possible to write text with extended alphabets)
Current disadvantages of SDL2 for 5.9.0:
  • If +, - or / can only be composed by Shift+[Key], any assigned hotkey will never trigger. ( https://github.com/libsdl-org/SDL/issues/3559 fixed in SDL3, which is still out of reach). Text input fields are unaffected by this issue.
How should the disadvantages be addressed in 5.9.0? Please vote.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
Zughy
Member
Posts: 308
Joined: Thu Mar 26, 2020 18:23
GitHub: belongs_to_microsoft
In-game: Zughy
Location: Italy
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Zughy » Post

QWERTY Italian keyboard: to do "/" I need to press Shift+7, which doesn't really come spontaneous if I think about "opening chat", so I always go Enter -> Shift+7. For me personally it's not a big thing, considering the benefits; I'm just renouncing to a shortcut I don't even use (and even if I did use it, it's just one additional key to press). Regarding + and -, I guess most PC users have a numpad. Yes, some don't and I guess it won't be fun for them to renounce to tweak fog, but considering they can remap such keys maybe the benefits outweigh the disadvantages..? Also, SDL2 devs might provide a solution to rubenwardy in the linked issue (different than "switch to SDL3"), so fingers crossed

User avatar
rubenwardy
Moderator
Posts: 7026
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: London, United Kingdom
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by rubenwardy » Post

Zughy wrote:
Thu Aug 08, 2024 23:40
Regarding + and -, I guess most PC users have a numpad.
I doubt this statistic, I think Ten Keyless keyboards are more popular especially given the popularity of laptops over desktops
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Blockhead
Moderator
Posts: 2238
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Blockhead » Post

rubenwardy wrote:
Thu Aug 08, 2024 23:52
Zughy wrote:
Thu Aug 08, 2024 23:40
Regarding + and -, I guess most PC users have a numpad.
I doubt this statistic, I think Ten Keyless keyboards are more popular especially given the popularity of laptops over desktops
Going to +1 this even though I use a full size K120. We can't underestimate the amount of people who don't have the numpad keys. Also, it really feels like a bug when - works to decrease range but + doesn't.

Another conundrum lies in this: if we bound increase range to =, that would preclude the use of the numpad. I figure that sacrifice is worth making. It's less distance away from the home row anyway.

The / shortcut presents a bigger challenge. It's not found in any consistent place. If you compare any 3 world keyboards at random, they may all have the / at a different place:
  • US, GB: left of right shift
  • DE, NO: Shift+6
  • FR: Shift+key 2 keys right of right shift; > on the US layout
Hardcoding Shift+6 or > therefore is not a scalable solution. Even if we added all the major layouts, we'd still also be comparing to a potentially long list of different keys.

Yet removing the shortcut doesn't seem good either. I use it all the time on my US layout keyboard and I figure most users do too, even on different layouts. This is why I mentioned my idea of showing where the keys are on a depiction of a keyboard previously. The key still works across layouts, it's just that the correct character is not displayed in the controls menu.

I figure we either work out what the correct character is on the user's keyboard and display that in the controls menu, or use a depiction of a keyboard. The first solution is kind of hard to work out, and the hope with SDL was hopefully not to do that sort of thing; also it could be quite confusing for users who switch layouts dynamically, which is a lot of multilingual people (or basically-monolingual-but-curious people). The second solution requires a rework to the formspec and a graphic, but I figure that is easier to do.

To conclude, I don't think SDL needs to be ditched as the default build, we can work something out.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

yw05
Member
Posts: 409
Joined: Tue May 07, 2019 12:59
GitHub: y5nw
IRC: y5nw
Location: Germany

Re: 5.9.0 - community input needed to decide for sacrifices

by yw05 » Post

Krock wrote:
Thu Aug 08, 2024 20:43
Benefits of SDL2 for 5.9.0:
  • Touch screen controls support for Windows, MacOS and Linux
  • Linux: native Wayland support
  • F11 to toggle fullscreen at runtime
Another benefit: This adds IME support to e.g. Windows.

Astrobe
Member
Posts: 643
Joined: Sun Apr 01, 2018 10:46

Re: 5.9.0 - community input needed to decide for sacrifices

by Astrobe » Post

1 and 3. Take the time to figure out a way to inform users that they might need to redo their keybindings after the update. "Sorry for the inconvenience, etc.". You can do it. Create a setting which is true by default that triggers this message. Add the key with the "false" value when the user acknowledges the message.
My game? It's Minefall.

User avatar
Hume2
Member
Posts: 715
Joined: Tue Jun 19, 2018 08:24
GitHub: Hume2
In-game: Hume2
Location: Czech Republic

Re: 5.9.0 - community input needed to decide for sacrifices

by Hume2 » Post

Did you consider changing the default keys to some other keys, which work reliably?
If you lack the reality, go on a trip or find a job.

Kazooo
Member
Posts: 34
Joined: Sat Apr 13, 2024 23:06
GitHub: Kazooo100
In-game: Kazooo

Re: 5.9.0 - community input needed to decide for sacrifices

by Kazooo » Post

Maybe sdl2 will be fixed for 5.10?

farribeiro
New member
Posts: 2
Joined: Sat Aug 10, 2024 00:11
GitHub: farribeiro
IRC: farribeiro
In-game: farribeiro

Re: 5.9.0 - community input needed to decide for sacrifices

by farribeiro » Post

Kazooo wrote:
Sat Aug 10, 2024 20:06
Maybe sdl2 will be fixed for 5.10?
Most likely not. The SDL team seems to have no move to backport to the current version, at moment

farribeiro
New member
Posts: 2
Joined: Sat Aug 10, 2024 00:11
GitHub: farribeiro
IRC: farribeiro
In-game: farribeiro

Re: 5.9.0 - community input needed to decide for sacrifices

by farribeiro » Post

Done provisionally. https://github.com/minetest/minetest/pull/14944

quoting a comment in the link
Should we agree on what the primary goal is now? I propose the primary goal is to get the release out ASAP, and my opinion is that this PR is the way to do that.

User avatar
Linuxdirk
Member
Posts: 3250
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Linuxdirk » Post

No SDL means no Wayland support, right?

If so: Please, for the sake of making some progress: Release with SDL support! X11 is dead meat no-one maintains.

Some weird edge cases with keys can be addressed later (plus: there were always weird edge cases with keyboard inputs in Minetest since the early 0.x days.)

User avatar
Krock
Developer
Posts: 4683
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Krock » Post

Linuxdirk wrote:
Wed Aug 14, 2024 19:32
No SDL means no Wayland support, right?
Key is the difference between native wayland and xwayland.
Regardless, you're a two days late. Minetest 5.9.0 is already out and this topic is obsolete.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

Astrobe
Member
Posts: 643
Joined: Sun Apr 01, 2018 10:46

Re: 5.9.0 - community input needed to decide for sacrifices

by Astrobe » Post

Krock wrote:
Wed Aug 14, 2024 20:00
Linuxdirk wrote:
Wed Aug 14, 2024 19:32
No SDL means no Wayland support, right?
Key is the difference between native wayland and xwayland.
Regardless, you're a two days late. Minetest 5.9.0 is already out and this topic is obsolete.
To be fair, that was pretty quick. This poll was set up on 8th, the 10th C55 expresses his wish on Github to get the version out "ASAP", release came out on 11th. Out of curiosity, why the rush ?
My game? It's Minefall.

User avatar
Mantar
Member
Posts: 652
Joined: Thu Oct 05, 2017 18:46
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Mantar » Post

The release was intended to be out much sooner, and this was the last major blocker holding everything up. Many PRs were sitting in limbo waiting for the release so the feature freeze would be over, and more were coming.
And all this was down to this one thing, which only had two things going for it*, ie: "you can use native wayland instead of xwayland" and "you can use touchscreens on a PC", while also carrying several bugs that would affect a lot of people.

* This is leaving Android aside, 5.9.0 ships with SDL still enabled by default there. And if you compile your own MT you can enable SDL on desktop if you want, too
Lead dev of Exile, git repo: https://codeberg.org/Mantar/Exile

User avatar
Linuxdirk
Member
Posts: 3250
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Linuxdirk » Post

Can we compile Minetest with SDL enabled?

User avatar
Krock
Developer
Posts: 4683
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Krock » Post

Linuxdirk wrote:
Sat Aug 17, 2024 06:16
Can we compile Minetest with SDL enabled?
5.10.0-dev will again build with SDL2 by default and bring back the mentioned input issue. For 5.9.0, do run CMake with USE_SDL2=1 before compiling. It was simply changed to "disabled by default".
Last edited by Krock on Sat Aug 17, 2024 07:32, edited 1 time in total.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
Blockhead
Moderator
Posts: 2238
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Blockhead » Post

Linuxdirk wrote:
Sat Aug 17, 2024 06:16
Can we compile Minetest with SDL enabled?
Yes, compile irrlichtMt in irr/ with USE_SDL2=true e.g. cmake -DUSE_SDL2=true .. Be sure to install SDL through your package manager or specify SDL2_DIR as an additional CMake variable. For me on Debian the package was libsdl2-dev.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

User avatar
Wuzzy
Member
Posts: 4930
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: 5.9.0 - community input needed to decide for sacrifices

by Wuzzy » Post

Oops, I found this thread too late but I think it was the right decision to NOT ship with SDL2 to keep it safe.
It would have been really annoying if this version would have randomly broken player's keyboard setups for no apparent reason.

I don't understand why the + key is a problem tho. I thought other SDL games can work with it just fine. But then, my experience with SDL is limited/dated. Does Minetest *really* have to wait for SDL3? This seems very odd.

But if I remember correctly, the whole scancode vs keycode thing in SDL can be pretty confusing to work with, but it's possible to make it work, if you know how. But I might be mistaken, it's been a long time since I've touched SDL-related code. I once fixed the broken keyboard binds in Hedgewars.

Locked