Commit Graph

1064 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
Thaddeus Crews 688a6d02b2
Merge pull request #107435 from deralmas/wl-proxy
Wayland: Implement game embedding
2025-11-20 11:10:51 +07:00
Dery Almas bbf65ae72f Wayland: Implement game embedding
This patch introduces a new protocol proxy, which multiplxes Wayland
clients into a single connection, allowing us to redirect calls (e.g.
create toplevel -> create subsurface). Mixed with some state tracking
and emulation, we can embed a full-featured client into the editor.
2025-11-19 21:24:18 +07:00
Thaddeus Crews 2135cb1707
Merge pull request #103749 from Rindbee/fix-cannot-input-after-restarting-the-input-method-on-x11
Fix cannot input Chinese after restarting the input method on X11
2025-11-19 11:03:58 +07:00
Thaddeus Crews e46c2ea3fa
Merge pull request #112379 from bruvzg/tts64id
Make `utterance_id` 64-bit.
2025-11-14 14:23:17 +07:00
Thaddeus Crews 04bc282ae7
Merge pull request #104851 from Ivorforce/tracy
Add `profiler` option to `SCons` builds, with support for `tracy` and `perfetto`.
2025-11-12 11:24:15 +07:00
风青山 5cb5eb59f9
Fix Chinese characters were not displayed correctly in DBusMessage
On OS with Chinese locale, you might receive the following message
when running an editor using the `--verbose` option:

```
ERROR: Error on D-Bus communication: æªæ	¾å°è¯·æ±ç
                                                         设置
   at: read_setting (platform/linuxbsd/freedesktop_portal_desktop.cpp:144)
```
2025-11-11 08:18:07 +07:00
Lukas Tenbrink c3747884da Add some important profiling hooks. 2025-11-08 00:08:48 +07:00
Lukas Tenbrink e80194e31f Add `profiler` option to `SCons` builds.
Add `tracy` option to `profiler`. If set, a tracy profiling client will be injected into the Godot binary.

# Conflicts:
#	platform/linuxbsd/godot_linuxbsd.cpp
2025-11-08 00:08:45 +07:00
Pāvels Nadtočajevs 281c74550a
Make `utterance_id` 64-bit. 2025-11-07 10:21:20 +07:00
Thaddeus Crews 2d7380c3ff
Merge pull request #111493 from deralmas/racing-the-thread
Wayland: Defer event thread initialization to late initialization
2025-11-06 08:13:13 +07:00
Thaddeus Crews 90cab74af9
Merge pull request #110248 from KoBeWi/unexpected_include_hell
Misc cleanup in EditorExportPlatform
2025-11-04 16:32:39 +07:00
Thaddeus Crews c5e6fde0c7
Merge pull request #112142 from timothyqiu/motif-wm-hints
X11: Fix minimize/maximize buttons can't be hidden
2025-11-04 16:32:24 +07:00
Pāvels Nadtočajevs 286e578b02
[Linux] Add SSE4.2 support runtime check. 2025-11-01 12:48:10 +07:00
kobewi 1c1c3200e4 Misc cleanup in EditorExportPlatform 2025-10-29 22:25:37 +07:00
Haoyu Qiu 48575336e8 X11: Fix minimize/maximize buttons can't be hidden 2025-10-29 19:37:23 +07:00
Thaddeus Crews af77ae8137
Merge pull request #111874 from deralmas/not-so-fast
Wayland: Set window parent before commit
2025-10-28 10:15:29 +07:00
Riteo Siuga 4df96fc7ab Wayland: Set window parent before commit
Fixes a timing issue where dialogs got configured right before having
their parent set. This gave compositors the time to resize/rearrange the
dialog as if it were a normal window, only to be marked as "floating"
right away. On niri, this manifested as huge dialog windows.

This is achieved with the addition of a `p_parent_id` parameter to
`window_create`, akin to its popup counterpart.

`window_create` now also accepts a single `Size2i` parameter instead of
two integers, in line with the rest of the `WaylandThread` API. The
original idea was to have a very "barebones" API, akin to the `drivers/`
directory, but that didn't pan out.
2025-10-28 04:10:28 +07:00
Thaddeus Crews 685fa3281c
Merge pull request #111580 from timothyqiu/x11-fullscreen
X11: Fix fullscreen exit behavior
2025-10-27 10:01:52 +07:00
Travis Wrightsman 1e8ead50dc Use pkg-config for recast flags
Now that recastnavigation upstream ships a pkg-config file, Godot can
rely on it for getting the build-time configuration.
2025-10-25 15:52:41 +07:00
Thaddeus Crews 0caf8057a7
Merge pull request #108412 from wjt/push-qmklovyxnnom
linux/bsd/mac: Use pkill to stop remote instance over SSH
2025-10-23 11:03:57 +07:00
Pāvels Nadtočajevs cf21565c77
[X11] Fix `keyboard_get_label_from_physical` errors when used on key without label. 2025-10-18 19:25:55 +07:00
Thaddeus Crews f3ebee1f79
Merge pull request #111211 from superherointj/enet-warning
System-provided ENet warning
2025-10-16 12:48:07 +07:00
Haoyu Qiu 66e5bce653 X11: Fix memory leak in `screen_get_refresh_rate` 2025-10-14 20:30:05 +07:00
Haoyu Qiu 0f81e8c7fe X11: Fix fullscreen exit behavior 2025-10-13 15:03:13 +07:00
Haoyu Qiu 7680190768 Revert "Fix the sliding window problem in linux occur due to reparenting of the window during the decoration via tracking the parent of the window"
This reverts commit 932afc3bf5.
2025-10-13 15:03:13 +07:00
Dery Almas ab205a78ce Wayland: defer event thread initialization to late initialization
This race condition made me pull my hair. `wl_display_roundtrip` has its
own little event loop, which apparently conflicts hard with the
always-running event loop thread.

I kinda assumed that it would be thread-safe thanks to its internal
`wl_display_prepare_read` call that the docs talk about but that's
clearly not enough.

Luckily this method is called very few times and the only dangerous
instances are in the initialization routine, which first starts the
thread and then does various roundtrips. Libdecor has also some internal
roundtrips of its own which would often fail. Starting the thread after
all initialization fixes the issue.

Tested this by spamming *lots* of `wl_display_roundtrip` in
`WaylandThread::init()` with and without this fix.
2025-10-10 23:25:00 +07:00
Thaddeus Crews 4ea49aecaf
Merge pull request #110990 from timothyqiu/x11-min-max
X11: Fix minimization of maximized windows
2025-10-10 10:26:02 +07:00
Ben Rog-Wilhelm 0a584250ae Fix: Libgodot build on Linux. 2025-10-10 04:31:14 +07:00
Thaddeus Crews 7c033002b0
Merge pull request #110863 from kisg/libgodot_migeran_core
LibGodot: Core - Build Godot Engine as a Library
2025-10-08 13:56:34 +07:00
superherointj 24f23c5cdb System-provided ENet warning
Warning from documentation: https://github.com/godotengine/godot/tree/master/thirdparty#enet
2025-10-08 08:51:09 +07:00
Rémi Verschelde 9052d31c68
Merge pull request #111331 from Repiteo/scons/revert-cppextpath
Revert "SCons: Add `CPPEXTPATH` for external includes"
2025-10-07 13:07:19 +07:00
Rémi Verschelde a6e44be2dc
Merge pull request #105587 from deralmas/framing-this-moment
Wayland: Emulate frame event for old `wl_seat` versions
2025-10-07 13:06:47 +07:00
Gergely Kis 6c44c80c62 LibGodot: Core - Build Godot Engine as a Library
* Add a new GodotInstance GDCLASS that provides startup and iteration commands to control a Godot instance.
* Adds a libgodot_create_godot_instance entry point that creates a new Godot instance and returns a GodotInstance object.
* Adds a libgodot_destroy_godot_instance entry point that destroys the Godot instance.

Sample Apps: https://github.com/migeran/libgodot_project

Developed by [Migeran](https://migeran.com)

Sponsors & Acknowledgements:

* Initial development sponsored by [Smirk Software](https://www.smirk.gg/)
* Rebasing to Godot 4.3 and further development sponsored by [Xibbon Inc.](https://xibbon.com)
* The GDExtension registration of the host process & build system changes were based
  on @Faolan-Rad's LibGodot PR: https://github.com/godotengine/godot/pull/72883
* Thanks to Ben Rog-Wilhelm (Zorbathut) for creating a smaller, minimal version for easier review.
* Thanks to Ernest Lee (iFire) for his support

Co-Authored-By: Gabor Koncz <gabor.koncz@migeran.com>
Co-Authored-By: Ben Rog-Wilhelm <zorba-github@pavlovian.net>
2025-10-07 02:15:41 +07:00
Thaddeus Crews b17aa3343a
Revert "SCons: Add `CPPEXTPATH` for external includes" 2025-10-06 13:09:22 +07:00
Thaddeus Crews 5935a32e32
Core: Cleanup headers in `core/config`
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 +07:00
Thaddeus Crews d1d28c0bcf
Merge pull request #111223 from Ivorforce/remove-iterator-include
Replace `std::size` usage with `std_size` to avoid `<iterator>` include.
2025-10-06 09:06:49 +07:00
chocola-mint ead282ff13 Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`. 2025-10-05 17:49:23 +07:00
Lukas Tenbrink 1db0a60dc0 Replace `std::size` usage with `std_size` to avoid `<iterator>` include. 2025-10-05 00:26:11 +07:00
Aaron Franke 3d1c9fd5de
Move server files into their subfolders 2025-09-30 19:39:39 +07:00
Thaddeus Crews 5240f1c283
Merge pull request #108658 from bruvzg/ed_pl_init
[EditorExportPlatform] Move initialization to a dedicated method.
2025-09-30 18:35:25 +07:00
Thaddeus Crews 373ff727f0
Merge pull request #110875 from vmedea/2025-wayland-inhibit-idle
wayland: Inhibit idle in DisplayServerWayland::screen_set_keep_on
2025-09-30 18:35:02 +07:00
Thaddeus Crews 21fd4faf1b
Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 +07:00
Haoyu Qiu 12f8c78231 X11: Fix minimization of maximized windows 2025-09-28 12:19:54 +07:00
Mara Huldra c64ff4b069 wayland: Inhibit idle in DisplayServerWayland::screen_set_keep_on
Without this, the screen does go into idle after a few minutes on a RPi5 with default install (wayland w/ labwc), even
though `screen_keep_on` is set. DBUS is enabled but apparently, the screensaver call is not enough.
2025-09-24 22:17:38 +07:00
Thaddeus Crews d069699940
Merge pull request #110752 from wheatear-dev/expand-110693
Add `GDSOFTCLASS` to six inheritors of `Object`
2025-09-22 13:28:41 +07:00
Thaddeus Crews ce157a446f
Merge pull request #107096 from ArchercatNEO/xdg-toplevel-icon
Wayland: Implement the xdg-toplevel-icon-v1 protocol
2025-09-22 08:50:10 +07:00
Thaddeus Crews 9b7a723aac
Merge pull request #107721 from YYF233333/ps_include
Remove dependency of `variant.h` in `print_string.h`
2025-09-22 08:50:04 +07:00
Edward Moulsdale 12e97610a8 Add GDSOFTCLASS to six inheritors of Object 2025-09-21 16:22:29 +07:00
kobewi d61a337a70 Improve usage of String.split() vs get_slice() 2025-09-19 16:31:55 +07:00
Yufeng Ying 05dae23f18 Remove dependency of variant.h in print_string.h
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-09-19 14:57:36 +07:00