summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd
Commit message (Collapse)AuthorAgeFilesLines
* Fix popup closing immediately after showing on some Linux WMsPouleyKetchoupp2021-07-211-3/+7
| | | | | | | | | When a popup is going to be closed, switch focus to the parent only if the popup is still being focused. Fixes some cases with specific WMs where due to the order of events, a new popup could be immediately unfocused because a previously opened and closed popup is switching focus to the parent.
* Modernize Display server to use override keywordHendrik Brucker2021-07-161-71/+71
|
* Fix for ambiguous variant error during build on Debian 10(Buster) using clang v7joe2021-07-131-1/+1
|
* Merge pull request #48622 from Geometror/reimplement-disableable-vsyncHugo Locurcio2021-07-104-15/+34
|\
| * Restructure and reimplement vsync optionsHendrik Brucker2021-07-064-15/+34
| | | | | | | | | | -Add a v-sync mode setting which allows to choose between DISABLED, ON, ADAPTIVE and MAILBOX -Removed the V-Sync via Compositor option
* | Fix linux use after freelikeich2021-07-081-1/+2
|/ | | | Fixes #50032
* Add "Keep screen on" feature to `DisplayServerX11`Niklas Higi2021-06-206-0/+227
|
* Use mouse and joypad enums instead of plain integersAaron Franke2021-06-203-23/+21
| | | | Also MIDIMessage
* Move many input enums to their own fileAaron Franke2021-06-201-6/+6
|
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-192-9/+9
|
* Merge pull request #49123 from aaronfranke/it-is-timeRémi Verschelde2021-06-121-2/+2
|\ | | | | Add a Time singleton
| * Add Time singletonAaron Franke2021-06-111-2/+2
| |
* | Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde2021-06-112-2/+2
|\ \ | | | | | | Core: Move DirAccess and FileAccess to `core/io`
| * | Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-112-2/+2
| |/ | | | | | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* | Merge pull request #49279 from Calinou/rename-string-is-abs-path-methodRémi Verschelde2021-06-111-3/+3
|\ \ | |/ |/| Rename `String.is_abs_path()` to `String.is_absolute_path()`
| * Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio2021-06-031-3/+3
| | | | | | | | This is more consistent with `NodePath.is_absolute()`.
* | Add MOUSE_MODE_CONFINED_HIDDENAaron Franke2021-06-031-4/+4
|/ | | | Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
* LinuxBSD now compiles without vulkan/x11.Fabio Alessandrelli2021-06-012-17/+32
|
* add OpenBSD to OS_LinuxBSD::get_name()Omar Polo2021-05-211-0/+2
|
* Only allow absolute paths in XDG environment variablesHugo Locurcio2021-05-201-3/+18
| | | | | | The XDG Base Directory specification does not allow using relative paths (which broke things in Godot anyway). If a relative path is detected, it should be ignored.
* Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde2021-05-172-15/+15
|\
| * Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A2021-05-072-15/+15
| | | | | | | | InputEventWithModifiers properties/methods
* | Make all file access 64-bit (uint64_t)Pedro J. Estébanez2021-05-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* | Remove debugging prints in the Linux DisplayServerHugo Locurcio2021-05-081-3/+0
|/ | | | | Some Vulkan debugging prints were also changed to be printed only in verbose mode.
* Merge pull request #48453 from JFonS/improve_raycast_module_scsubRémi Verschelde2021-05-041-0/+4
|\ | | | | Port changes to the "raycast" module build files from 3.x
| * Port changes to the "raycast" module build files from 3.xjfons2021-05-041-0/+4
| |
* | Rename `doubleclick` to `double_click`Aaron Franke2021-05-041-2/+2
|/
* Linux: Remove use_static_cpp override on x86_32Rémi Verschelde2021-04-261-4/+1
| | | | | | | After further testing it seems to work fine now when building binaries with GCC 5 on Ubuntu 16.04 (previously we were using GCC 9 on Ubuntu 14.04). Follow-up to #45629.
* Fix macOS build with all sanitizers enabled.bruvzg2021-04-161-1/+1
|
* Add more sanitizer flags to shows more bugsRafał Mikrut2021-04-151-7/+21
|
* Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde2021-04-051-2/+3
|
* Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde2021-04-052-6/+6
|
* Rename Texture.get_data() to get_image()Marcel Admiraal2021-03-281-2/+2
|
* Rename some more global enums (Key, Joy, MIDI)Aaron Franke2021-03-232-6/+6
|
* Rename ButtonList enum and members to MouseButtonAaron Franke2021-03-231-1/+1
|
* Allow to not optimize release buildRafał Mikrut2021-03-141-2/+2
|
* Linux: Fix PRIME detection on SteamRémi Verschelde2021-03-081-1/+4
| | | | | | | | | | | To avoid trying to do PRIME detection on fake `libGL.so` as used by e.g. Renderdoc or Primus, we skip detection if there's a `libGL.so` in `LD_LIBRARY_PATH`... and our luck is that Steam defines it and includes system paths too, thus the actual system `libGL`... 🤦 So if we detect Steam, we skip this check. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
* add msan sanitizer option for linus/bsd, lsan option for osxJordan Schidlowsky2021-03-021-1/+6
|
* Fix out of bounds array access on DisplayServerX11 codePedro Rodrigues2021-02-281-9/+11
| | | | | | | | | | | The problem happened on methods `screen_get_position`, `screen_get_usable_rect` and `window_set_current_screen` when they were passed a negative screen value. Fixes: - #46184 - #46185 - #46186
* Allow static linking with libatomic using clangHein-Pieter van Braam-Stewart2021-02-231-1/+6
| | | | | | | When using use_static_cpp we want to statically link with atomic as well to make sure we don't incur any new runtime dependencies. Scons doesn't quite support this so we do this little trick.
* Merge pull request #46256 from hpvb/dri-prime-amd-masterHein-Pieter van Braam2021-02-201-1/+2
|\ | | | | Add 'AMD' GPU vendor name to PRIME detector
| * Add 'AMD' GPU vendor name to PRIME detectorHein-Pieter van Braam-Stewart2021-02-201-1/+2
| | | | | | | | | | Apparently some recent Mesa version also changed AMD's vendor string. In addition I found a small uninitialized variable that's corrected now.
* | Use -latomic when linking whe using clang on LinuxHein-Pieter van Braam-Stewart2021-02-201-0/+1
|/ | | | | | | | According to the LLVM documentation when using GNU's libstdc++ clang will not automatically link with -latomic. This is necessary since we merged c++11 atomics support. This fixes linking using Clang on Linux
* An update to the dylibloader for older inttypesHein-Pieter van Braam-Stewart2021-02-203-276/+467
| | | | | | | | This #define's older inttypes to their newer versions and #includes <stdint.h> in the generated files. This will help with older glibc/compiler versions using headers generated on newer systems. This closes #46223
* Modernize atomicsPedro J. Estébanez2021-02-184-7/+7
| | | | | | | | | | - Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
* Linux: Fix fallback logic when udev fails creating a contextRémi Verschelde2021-02-181-4/+6
| | | | Thanks to Noshyaar for pointing out the bug.
* Don't clobber original library symbolsHein-Pieter van Braam-Stewart2021-02-182-459/+551
| | | | | | | | | | | It appears that we can get a fun circle dependency on a shared object on some system configurations causing issues with our 'fake' function pointer names. This can lead to a crash. The new wrapper generator renames all the symbols so this can't happen anymore. See https://github.com/hpvb/dynload-wrapper/commit/704135e This closes #46140
* Dynamically load libudev.so.1 on Linux if `udev=yes`Rémi Verschelde2021-02-176-14/+1149
| | | | | | | | | | | | | | | | | | | 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 ```
* Dynamically load libpulse.so.0 and libasound.so.1 on LinuxHein-Pieter van Braam-Stewart2021-02-161-3/+2
| | | | | | | | | | | | By generating stubs using https://github.com/hpvb/dynload-wrapper we can dynamically load libpulse and libasound on systems where it is available. Both are still a build-time requirement but no longer a run-time dependency. For maintenance purposes the wrappers should not need to be re-generated unless we want to bump pulse or asound to an incompatible version. It is unlikely we will want to do this any time soon. This closes #20978
* SCons: Fix debug_symbols tests after switch to BoolVariableRémi Verschelde2021-02-082-3/+3
| | | | | | Bug introduced in #45679. Fixes part of #45816.