summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/SCsub
Commit message (Collapse)AuthorAgeFilesLines
* Rebrand Godot 4.3 to RedotTrashguy2024-10-131-1/+1
|
* SCons: Convert remaining `run_in_subprocess` to `env.Run`Thaddeus Crews2024-03-101-2/+1
|
* Add Wayland supportRiteo2024-01-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not everything is yet implemented, either for Godot or personal limitations (I don't have all hardware in the world). A brief list of the most important issues follows: - Single-window only: the `DisplayServer` API doesn't expose enough information for properly creating XDG shell windows. - Very dumb rendering loop: this is very complicated, just know that the low consumption mode is forced to 2000 Hz and some clever hacks are in place to overcome a specific Wayland limitation. This will be improved to the extent possible both downstream and upstream. - Features to implement yet: IME, touch input, native file dialog, drawing tablet (commented out due to a refactor), screen recording. - Mouse passthrough can't be implement through a poly API, we need a rect-based one. - The cursor doesn't yet support fractional scaling. - Auto scale is rounded up when using fractional scaling as we don't have a per-window scale query API (basically we need `DisplayServer::window_get_scale`). - Building with `x11=no wayland=yes opengl=yes openxr=yes` fails. This also adds a new project property and editor setting for selecting the default DisplayServer to start, to allow this backend to start first in exported projects (X11 is still the default for now). The editor setting always overrides the project setting. Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
* [Linux] Make SO wrapper usage optional.bruvzg2023-02-161-5/+12
|
* Move xkbcommon dynamic loading code into generic linuxbsd folderRiteo2023-01-251-0/+1
| | | | | Since Wayland uses it too, it only makes sense to have it in the parent directory of both.
* linuxbsd: move all X11 stuff in its own directoryRiteo2022-11-021-9/+1
| | | | | This allows implementing `DisplayServer`s like Wayland without making a mess in the source tree.
* Add support for system dark mode (Linux)Raul Santos2022-09-021-0/+1
| | | | - Use `org.freedesktop.appearance color-scheme` to support system dark mode.
* [Linux] Load dbus libraries dynamically.bruvzg2022-07-291-0/+3
|
* Load fontconfig libraries dynamically.bruvzg2022-07-271-0/+3
|
* Improve `linuxbsd` headless building, cleanup build scriptsRiteo2022-07-201-6/+6
| | | | | | | | Now the `linuxbsd` platform can be built headlessly (e.g. without X11 development libraries). I also cleaned up some weird (old?) usages of the `env` variable which seem to make no difference and are used nowhere else.
* Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and ↵bruvzg2022-04-281-0/+3
| | | | | | Windows. Implement TextServer word break method.
* Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio2021-10-301-2/+0
| | | | | - Use lowercase driver names for the `--rendering-driver` command line argument.
* Add GLES2 2D renderer + Linux display managerlawnjelly2021-10-301-1/+3
| | | | | | | | | First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
* Add "Keep screen on" feature to `DisplayServerX11`Niklas Higi2021-06-201-0/+1
|
* LinuxBSD now compiles without vulkan/x11.Fabio Alessandrelli2021-06-011-8/+14
|
* Dynamically load libudev.so.1 on Linux if `udev=yes`Rémi Verschelde2021-02-171-0/+3
| | | | | | | | | | | | | | | | | | | This makes it possibly to run Linux binaries compiled with udev support on Linux systems which do not provide udev (typically systemd-less distros). If udev is missing, we fall back to parsing `/dev/input` like when compiled without udev support (`udev=no`). Also adding some verbose debug statements to know which method we're using when debugging Linux joypad issues. The libudev so wrappers were generated on Mageia 8 with libudev 246.9 using https://github.com/hpvb/dynload-wrapper: ``` ./generate-wrapper.py --include /usr/include/libudev.h --sys-include '<libudev.h>' \ --soname libudev.so.1 --init-name libudev --omit-prefix gnu_ \ --output-header libudev-so_wrap.h --output-implementation libudev-so_wrap.c ```
* SCons: Fix debug_symbols tests after switch to BoolVariableRémi Verschelde2021-02-081-1/+1
| | | | | | Bug introduced in #45679. Fixes part of #45816.
* Remove `debug_symbols=full` in favor of `debug_symbols=yes`Hugo Locurcio2020-11-091-1/+1
| | | | | | | | `debug_symbols=yes` will now behave like `debug_symbols=full` did before. The difference in compressed file sizes is not that large, which means there isn't much point in having two different values. This helps make the buildsystem easier to understand.
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-301-3/+2
| | | | | | | | | | | | | | | | | | | | | Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
* Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky2020-03-261-0/+23