Commit graph

1008 commits

Author SHA1 Message Date
Mara Huldra
b0a2063d8f
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.

(cherry picked from commit c64ff4b069)
2025-10-08 02:14:12 +02:00
Thaddeus Crews
3ac14dfe01
Revert "SCons: Add CPPEXTPATH for external includes"
(cherry picked from commit b17aa3343a)
2025-10-08 02:04:05 +02:00
Rémi Verschelde
42ef49fa99
Linux: Allow unbundling libjpeg-turbo to use system package
(cherry picked from commit 6d8aa8582f)
2025-10-08 01:56:58 +02:00
Riteo
c4a375ca55
Wayland: Emulate frame event for old wl_seat versions
Multiwindow support simplified input handling by processing all data
only during a `wl_seat::frame` event, which got introduced in wl_seat
version 5. If the compositor reports an older version, we manually call
the frame event handler.

(cherry picked from commit 2e41412ee4)
2025-10-08 01:47:54 +02:00
Yufeng Ying
a156af98c3
Remove dependency of variant.h in print_string.h
(cherry picked from commit 05dae23f18)
Co-Authored-By: Lukas Tenbrink <lukas.tenbrink@gmail.com>
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-10-06 12:17:32 -05:00
Mounir Tohami
cb878d90a2
X11 input: prevent non-printable keys from producing empty Strings
(cherry picked from commit 1b697aff38)
2025-09-22 08:31:02 -05:00
Patrick Gelvin
35833f8dbf
Workaround X11 crash issue
(cherry picked from commit 6842a5861b)
2025-09-16 09:57:11 -05:00
Lukas Tenbrink
4c0026b053 Update links to the contributing section of the docs to the appropriate new sections. 2025-09-12 01:04:14 +02:00
Pāvels Nadtočajevs
76433b0ede
Fix Wayland build with OpenGL disabled. 2025-09-06 18:37:49 +03:00
Pāvels Nadtočajevs
0edb6bd4a0
[Linux/BSD] Initialize DBus only once. 2025-08-22 09:26:11 +03:00
Pāvels Nadtočajevs
98bef37f55
Use org.a11y.Status/ScreenReaderEnabled on Linux. 2025-08-18 17:36:49 +03:00
Nintorch
0e19ad507e Fix the usage of libudev and dbus with SDL
Previously, libudev was ignored if SOWRAP_ENABLED was defined (it is defined by default) because otherwise it would crash CI builds due to a missing header, and dbus was always linked dynamically. This commit should fix this issue and make libudev usable again
2025-07-31 15:05:06 +05:00
Thaddeus Crews
9471a4ace7
Merge pull request #108659 from jdavasligil/x11-unicode-keysym-fix
Add keypad codes to the keysym unicode map.
2025-07-23 13:27:09 -05:00
Pāvels Nadtočajevs
e407f55fbf
Fix editor one-click icons not showing. 2025-07-21 12:18:44 +03:00
jdavasligil
93cd0a136f Add keypad codes to the keysym unicode map #74578 2025-07-18 14:30:28 -07:00
Dery Almas
98537b2e0c Wayland: Fix error condition in window_get_current_screen
Leftover from when the Wayland backend was single-window only.
2025-07-14 15:56:43 +02:00
A Thousand Ships
f11aff3841
Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Haoyu Qiu
9051b546c6 X11: Fix memory leak when using window embedding 2025-06-28 22:50:51 +08:00
Pāvels Nadtočajevs
71dd7b5712
Fix SDL threading on macOS/Linux.
And fixup pkg-config check for SDL on Linux.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 10:36:39 +02:00
Nintorch
0b3496fb4f
Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00
Riteo Siuga
b60b68055f Wayland: Fix division by zero when scale is less than 1
The `Vector2i` division operator casts doubles down to `int32_t`. It
would thus truncate the fractional scale factor to 0 if less than 1,
resulting in a FPE on x86_64.
2025-06-21 03:09:51 +02:00
Thaddeus Crews
856d7108e0
Merge pull request #106414 from Riteo/unexpected-frame
Wayland: Fix stuck pointer buttons on window leave
2025-06-18 18:13:45 -05:00
Thaddeus Crews
fda6faeebf
Merge pull request #107356 from ArchercatNEO/wayland-protocols-scsub
Wayland: Simplify including protocols
2025-06-10 19:22:42 -05:00
Rémi Verschelde
cc9761c3f0
Merge pull request #107188 from berarma/moviewriter-add-theora
Add Ogg Theora support to MovieWriter
2025-06-10 16:22:57 +02:00
Bernat Arlandis
a16b04fe07 Add Ogg Theora support to MovieWriter
Movie Maker mode can now record files in `.ogv` format, which can be
directly viewed in Godot's VideoStreamPlayer node along with most
video players. This is a lossy format with inter-frame compression,
unlike AVI + MJPEG which only performs intra-frame compression.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: Leo de Penning <leo.depenning@illuminoo.com>
2025-06-10 15:52:24 +02:00
ArchercatNEO
367cabf692 Wayland: Simplify including protocols 2025-06-10 08:39:20 +01:00
Rémi Verschelde
c596d93478
Merge pull request #106175 from akien-mga/linux-build-no-dbus
Linux: Fix build with `dbus=no` or `threads=no`
2025-06-09 00:44:12 +02:00
Pāvels Nadtočajevs
1484771f26
Fix native file dialog crash with invalid filter. 2025-06-06 09:24:42 +03:00
Thaddeus Crews
57bf364f36
Merge pull request #107058 from mihe/script-backtrace-deadlock
Fix various race conditions with capturing of script backtraces
2025-06-03 15:30:16 -05:00
Thaddeus Crews
12b97c250d
Merge pull request #104907 from bruvzg/scr_ids
Cleanup and unify `DisplayServer` screen methods and documentation.
2025-06-02 18:51:45 -05:00
Mikael Hermansson
6929823838 Fix various race conditions with capturing of script backtraces 2025-06-02 19:46:19 +02:00
kobewi
b41d6ecf8c Allow to override editor settings per project 2025-06-02 17:51:26 +02:00
Pāvels Nadtočajevs
2d93e004b9
Cleanup and unify DisplayServer screen methods and documentation. 2025-06-02 08:03:48 +03:00
Thaddeus Crews
de37627404
Merge pull request #102552 from DarioSamo/shader-baker
Add shader baker to project exporter.
2025-05-28 17:09:38 -05:00
Thaddeus Crews
6228c7c762
Merge pull request #105451 from bruvzg/x11_splash
Fix X11 boot splash scaling.
2025-05-28 09:47:42 -05:00
Thaddeus Crews
bb47f01481
Merge pull request #106390 from akien-mga/linux-drop-ppc32
Linux: Drop `ppc32` (32-bit PowerPC) architecture support
2025-05-28 09:47:34 -05:00
Dario
5a30a7e7cd Add shader baker to project exporter.
Metal Support contributed by Migeran (https://migeran.com) and Stuart Carnie.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
Co-authored-by: Gergely Kis <gergely.kis@migeran.com>
2025-05-27 12:45:27 -03:00
Riteo
67c317c58d Wayland: Add missing return in selection logic
Fixup to "Wayland: Check selection devices before using them"

This slipped under the radar... until for some reason optimized builds
started crashing, perhaps due to timing-related shenanigans, no idea.
2025-05-26 20:36:15 +02:00
Thaddeus Crews
202b1176a4
Merge pull request #106251 from ArchercatNEO/wayland-cursor-shape
[Wayland] Implement the cursor-shape-v1 protocol
2025-05-16 10:29:02 -05:00
Thaddeus Crews
902d2b45bb
Merge pull request #106400 from RandomShaper/win_compat
Improve platform compatibility of Windows and Direct3D 12
2025-05-15 10:22:16 -05:00
ArchercatNEO
3cd7b5b9a8 [Wayland] Implement the cursor-shape-v1 protocol
Related #106229. The cursor-shape protocol allows us to not have to deal with cursor theming and instead depend on the
compositor for it.
This still does not quite solve the issue when the compositor doesn't implement the protocol
(or running under the x11 backend) but for gnome/kde and a few more this should resolve things.
2025-05-15 15:42:48 +01:00
Pedro J. Estébanez
820380817a Exclude RD creation test functions from templates 2025-05-15 10:12:38 +02:00
Riteo
a3913b045d Wayland: Fix stuck pointer buttons on window leave
This issue came from the frame-based refactoring done in the multiwin
PR.

It looks like some (all?) compositors group certain events alongside
`wl_pointer::leave`, which I absolutely did not expect. The docs don't
seem to mention it either from what I can tell.

We now fall-back on the old pointed window if and only if the current
window is invalid and the old one isn't. Each state fetch is guarded
with an `ERR_FAIL_NULL` so this should still catch any potentially
corrupted window with missing data but a valid ID.

I also added the usual big comment so that this "quirk" does not get
lost to time.
2025-05-14 23:30:16 +02:00
mara
d213e72866 wayland: Unbreak build with libdecor=no
In #101774, some libdecor-specific code was added, but without adding the guards. This broke the build with
`libdecor=no`.

Add `#ifdef` guard as necessary.
2025-05-14 13:36:45 +00:00
Rémi Verschelde
1de9789806
Linux: Drop ppc32 (32-bit PowerPC) architecture support
This was added together with `ppc64le` in #54490, but seemingly only for the
purpose of getting it to compile on a Linux distro that aims at maximizing
support for all CPU architectures.

I don't think anyone has ever _run_ Godot on a `ppc32` system (do those even
support OpenGL ES 3.0?) and so I don't think we should aim to support it.

Debian dropped support for its PowerPC (`ppc32`) arch in Debian 9, released
in 2017.
2025-05-14 10:22:12 +02:00
Pāvels Nadtočajevs
a12503b88c
[X11] Fix GL init memory leak when transparency is enabled. 2025-05-13 13:20:02 +03:00
Rémi Verschelde
8b93b67e14
Merge pull request #106315 from Riteo/popping-up-everywhere
Wayland: Fix error spam when closing popup
2025-05-13 01:05:49 +02:00
Riteo
c3b04e6e1e Wayland: fix error spam when closing popup
Previously we did not check whether the value actually changed or not
and thus would get constant errors for no reason.
2025-05-12 05:11:24 +02:00
Pāvels Nadtočajevs
5441a82cfb
Do not call accessibility_set_window_rect on Wayland, fix main windows accessibility context creation. 2025-05-11 12:51:46 +03:00
Rémi Verschelde
e9e8ddc5be
Linux: Fix build with dbus=no or threads=no 2025-05-09 15:26:13 +02:00