summaryrefslogtreecommitdiff
path: root/platform/linuxbsd
AgeCommit message (Collapse)Author
2022-11-11Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-changeMarkus Sauermann
coauthor: @bruvzg On linuxbsd and macOS the WINDOW_EVENT_MOUSE_ENTER was not sent, when the mouse became visible again after a mouse_mode-change.
2022-11-09Merge pull request #68345 from Abdul-AZ/masterRémi Verschelde
Fix static object destructors being called on gpu selection with X11
2022-11-08Add support for OpenGL to OpenXRDavid Snopek
2022-11-07Fix static object destructors being called on gpu selection with X11Abdulrahman Al Zeidi
2022-11-03Merge pull request #67695 from Sauermann/fix-filedrop-spaceRémi Verschelde
Do not strip spaces at the end of file names of dropped files
2022-11-03Do not strip spaces at the end of file names of dropped files on linuxbsdMarkus Sauermann
2022-11-03Fix unwanted popup closing by mouse-move while holding mouse-buttonMarkus Sauermann
2022-11-03Merge pull request #68182 from Riteo/x11-folderRémi Verschelde
linuxbsd: move all X11 stuff in its own directory
2022-11-02linuxbsd: move all X11 stuff in its own directoryRiteo
This allows implementing `DisplayServer`s like Wayland without making a mess in the source tree.
2022-11-01Load and use system emoji font in the editor.bruvzg
2022-10-31Merge pull request #67879 from bruvzg/fix_no_vlkRémi Verschelde
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-28Merge pull request #67790 from kdada/fix-flash-windowClay John
Make creating window do not flicker when specify custom position
2022-10-28Merge pull request #67914 from Calinou/displayserverx11-no-native-iconMax Hilbrunner
Fix `DisplayServer.has_feature()` claiming X11 has native icon support
2022-10-27Fix OS.get_video_adapter_driver_info crashzCubed3
2022-10-27Merge pull request #67421 from Sauermann/fix-failure-exit-codeClay John
Fix Godot exiting with unexpected failure code
2022-10-26Fix `DisplayServer.has_feature()` claiming X11 has native icon supportHugo Locurcio
Native icons are not supported by the X11 DisplayServer, unlike Windows and macOS.
2022-10-26Fix build with Vulkan disabled and no Vulkan headers installed.bruvzg
2022-10-24Make window creation with custom position do not flashWei Guo
2022-10-18Update the DisplayServer video driver error messageclayjohn
to be more accurate and friendly
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-15Fix Godot exiting with unexpected failure codeMarkus Sauermann
The exit code is initialized as EXIT_FAILURE to indicate failures during startup. Closing the Game window via the window manager does not change the exit code, so the program exists with EXIT_FAILURE. This PR set the exit code to EXIT_SUCCESS when initialization was successful just before starting the main loop.
2022-10-12Merge pull request #67281 from Nidjo123/x11-window-resizeRémi Verschelde
Keep rendering context window size in sync when resizing
2022-10-11Keep rendering context window size in sync when resizingNikola Bunjevac
On X11 we rely on ConfigureNotify event to update rendering context window size, but we don't get such event when resizing programmatically, only when done "manually" by resizing the window etc.
2022-10-11Actually set the execinfo flag on non-glibc systemsRiteo
2022-10-11Merge pull request #66102 from MJacred/feature/getvideoadapterdriverinfoRémi Verschelde
Fetch video adapter driver name and version from OS
2022-10-11Fetch video adapter driver name and version from OS on Linux/*BSD and WindowsMJacred
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-05Merge pull request #66720 from qarmin/unintialized_memoryRémi Verschelde
Remove usage of unitialized variables
2022-10-05Merge pull request #63983 from Calinou/scons-linux-execinfo-muslRémi Verschelde
Automatically use execinfo for crash handler on *BSD and musl-based Linux
2022-10-04Automatically use execinfo for crash handler on *BSD and musl-based LinuxHugo Locurcio
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-10-04Merge pull request #66773 from MladoniSzabi/numpad-no-numlock-bug-linuxRémi Verschelde
Remapped the numpad keys on linux when numlock is off
2022-10-03Remapped the numpad keys on linux when numlock is offMladoniSzabi
On Linux, when using the numpad while numlock is off doesn't do anything. Made the numpad keys map to the correct control keys. Resolves: #54814.
2022-10-03Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_. - `NO_NETWORK` is also never defined. It probably isn't enough anyway to disable network APIs in the current codebase. - `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some other platforms, clarify that. - `NO_STATVFS` can be removed as Android supports it since API level 19, which is our current min SDK level. It's also only used for `DirAccessUnix::get_space_left()` which is anyway overridden by `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference. * Fixed documentation for `DirAccess.get_space_left()`. - `NO_FCNTL` is likely also a remnant of early Android days, in current NDK r23 it seems to be available. Also cleaned up unused `fcntl.h` includes. - `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-10-01Fix inconsistent window state on X11.Matthew Munro (mam552)
Fixes #66413. DisplayServerX11 tracks some internal state about whether the window is fullscreen, minimized, maximized or none. This commit queries the display server when the window changes, so that this internal state can be correctly updated.
2022-10-01Remove usage of unitialized variablesRafał Mikrut
2022-09-30Merge pull request #64784 from yedpodtrzitko/yed/ci-add-mypyRémi Verschelde
ci: add Python static analysis check via mypy
2022-09-30Fix typos with codespellRémi Verschelde
Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
2022-09-30ci: add Python static analysis check via mypyJiri Suchan
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-26Style: Cleanup header guards for consistencyRémi Verschelde
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-19SCons: Refactor handling of `production` flag and per-platform LTO defaultsRémi Verschelde
Fixup to #63288. See #65583 for the bug report. Co-authored-by: Cyberrebell <chainsaw75@web.de>
2022-09-16Add get_distribution_name() and get_version() to OSMJacred
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Co-authored-by: bruvzg
2022-09-16Merge pull request #65496 from MinusKube/popup-capture-mouse-bugRémi Verschelde
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-13Merge pull request #65509 from gotnospirit/master-os-get_datetimeRémi Verschelde
get_datetime_* functions can return wrong values
2022-09-12Fix multiwindow support in GLES3 for X11, Windows, and MacOS.clayjohn
Instead of updating all viewports, then blitting all viewports to the backbuffer, then swapping all buffers, we run through all viewports and render, blit, and swap backbuffer before going to the next viewport.
2022-09-10Fixes #65377: get_datetime_* functions can return wrong valuesJames
2022-09-08SCons: Refactor LTO options with `lto=<none|thin|full>`Rémi Verschelde
Adds support for LTO on macOS and Android. We don't have much experience with LTO on these platforms so for now we keep it disabled by default even when `production=yes` is set. Similarly for iOS where we ship object files for the user to link in Xcode so LTO makes builds extremely slow to link. `production=yes` defaults to full LTO. ThinLTO is much faster for LLVM-based compilers but seems to produce bigger binaries (at least for the Web platform).
2022-09-07Fix MOUSE_MODE_CAPTURED not working correctly with popupsMinusKube
2022-09-06Merge pull request #64417 from aaronfranke/has-spaceRémi Verschelde
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods