summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/os_linuxbsd.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix Linux `move_to_trash` wrongly reporting files as not foundRémi Verschelde2023-07-111-23/+11
| | | | | | | | We can't rely on the error code from `gio` or `kioclient5`, in my rudimentary testing they return `1` for both missing files and other situations like not having a Trash can on the mounted volume. Fixes #79108.
* Merge pull request #67158 from amoriqbal/fix_error_messageRémi Verschelde2023-06-191-13/+22
|\ | | | | | | Fix the conditions for firing 'No such file or directory' error on Linux `move_to_trash`
| * Changed the conditions for firing 'No such file or directory' errorAmor Iqbal2022-10-101-13/+22
| |
* | Fix `bsd` feature tag includes only "other BSDs"Danil Alexeev2023-06-151-1/+9
| |
* | Style: Harmonize header includes in platform portsRémi Verschelde2023-06-081-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This applies our existing style guide, and adds a new rule to that style guide for modular components such as platform ports and modules: Includes from the platform port or module should be included with relative paths (relative to the root folder of the modular component, e.g. `platform/linuxbsd/`), in their own section before Godot's "core" includes. The `api` and `export` subfolders also need to be handled as self-contained (and thus use relative paths for their "local" includes) as they are all compiled for each editor platform, without necessarily having the api/export matching platform folder in the include path. E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp` and those need to use relative includes for it to work.
* | Replace get_rendering_device() call to prevent crashes on OpenGL.MJacred2023-06-061-3/+3
| | | | | | | | And make OpenGL video adapter info align with Vulkan.
* | Copy system info to clipboard + Update bug_report.ymlMJacred2023-05-271-21/+26
| | | | | | | | | | | | | | | | plus minor static-related fixes * linuxbsd: get_systemd_os_release_info_value() -> static breaks usage if used multiple times * windows/linuxbsd: get_video_adapter_driver_info() writes info into static * linuxbsd: get_distribution_name() + get_version() -> write bsd fallback into static variable * windows/uwp/android: remove unnecessary use of static
* | Merge pull request #76836 from Faless/tls/system_certsRémi Verschelde2023-05-121-0/+35
|\ \ | | | | | | | | | [TLS] Add support for platform-specific CA bundles.
| * | [TLS] Add support for platform-specific CA bundles.Fabio Alessandrelli2023-05-121-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a new OS::get_system_ca_certs method which can be implemented by platforms to retrieve the list of trusted CA certificates using OS specific APIs. The function should return the certificates in PEM format, and is currently implemented for Windows/macOS/LinuxBSD(*)/Android. mbedTLS will fall back to bundled certificates when the OS returns no certificates. (*) LinuxBSD does not have a standardized certificates store location. The current implementation will test for common locations and may return an empty string on some distributions (falling back to the bundled certificates).
* | | Fix 'linux' and specific BSD feature tagsDavid Snopek2023-05-111-0/+5
|/ /
* | Redo how the remote filesystem worksJuan Linietsky2023-05-081-0/+4
| | | | | | | | | | | | | | | | | | Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes. The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage. Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device. Co-authored-by: m4gr3d
* | [Linux/BSD] Add dynamically loaded library version checks.bruvzg2023-03-201-0/+10
| |
* | [TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts ↵bruvzg2023-03-101-64/+73
| | | | | | | | lookup to TrueType/CFF only.
* | [Linux] Make SO wrapper usage optional.bruvzg2023-02-161-0/+4
| |
* | Use a "warning" icon in `OS.alert()` on Linux/*BSDHugo Locurcio2023-02-021-2/+4
| | | | | | | | This is the same icon as used on Windows.
* | One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* | [Linux/BSD] Fix build without fontconfig.bruvzg2022-12-051-0/+2
| |
* | Use system fonts as fallback and improve system font handling.bruvzg2022-12-041-26/+124
| | | | | | | | | | | | | | Add support for font weight and stretch selection when using system fonts. Add function to get system fallback font from a font name, style, text, and language code. Implement system font support for Android. Use system fonts as a last resort fallback.
* | [fontconfig] Reject font substitutes if non-alias name was used.bruvzg2022-11-151-0/+15
| |
* | Cache OS_LinuxBSD::get_system_dir(SYSTEM_DIR_DESKTOP)dzil1232022-11-121-7/+6
| |
* | Merge pull request #68182 from Riteo/x11-folderRémi Verschelde2022-11-031-1/+1
|\ \ | | | | | | | | | linuxbsd: move all X11 stuff in its own directory
| * | linuxbsd: move all X11 stuff in its own directoryRiteo2022-11-021-1/+1
| | | | | | | | | | | | | | | This allows implementing `DisplayServer`s like Wayland without making a mess in the source tree.
* | | Load and use system emoji font in the editor.bruvzg2022-11-011-1/+10
|/ /
* | Fix OS.get_video_adapter_driver_info crashzCubed32022-10-271-0/+4
| |
* | Merge pull request #66102 from MJacred/feature/getvideoadapterdriverinfoRémi Verschelde2022-10-111-0/+199
|\ \ | |/ |/| | | Fetch video adapter driver name and version from OS
| * Fetch video adapter driver name and version from OS on Linux/*BSD and WindowsMJacred2022-10-111-0/+199
| |
* | Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde2022-10-031-3/+1
|/ | | | | | | | | | | | | | | | - `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.
* Add get_distribution_name() and get_version() to OSMJacred2022-09-161-0/+37
| | | | | | supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Co-authored-by: bruvzg
* Fixes #65377: get_datetime_* functions can return wrong valuesJames2022-09-101-4/+3
|
* Rename String `plus_file` to `path_join`Aaron Franke2022-08-291-7/+7
|
* Remove unused force_quit variable from many OS abstractionsPedro J. Estébanez2022-08-271-4/+1
|
* Fix memory leak when accessing/listing system fonts.bruvzg2022-08-091-0/+3
|
* Load fontconfig libraries dynamically.bruvzg2022-07-271-1/+17
|
* Fix Linux build without fontconfig.bruvzg2022-07-271-3/+3
|
* Implement support for loading system fonts on Linux, macOS / iOS and Windows.bruvzg2022-07-261-0/+89
|
* Improve embedded PCK loading and exporting.bruvzg2022-04-201-0/+85
| | | | | | | | | | Windows export process: Limit size of executable with embedded PCK to 4 GB. Use "rcedit" before embedding PCK. Capture and process "rcedit" errors. Windows, Linux: Add support for PCK loading from executable "pck" section.
* Narrow FileAccess scope to prevent deadlocks.bruvzg2022-04-121-3/+5
|
* Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-10/+8
|
* Convert uses of `DirAccess *` to `DirAccessRef` to prevent memleaksRémi Verschelde2022-03-111-2/+1
| | | | | | | | `DirAccess *` needs to be deleted manually, and this is often forgotten especially when doing early returns with `ERR_FAIL_COND`. `DirAccessRef` is deleted automatically when it goes out of scope. Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* Merge pull request #58335 from maiself/fix-directory-delete-linuxRémi Verschelde2022-03-101-19/+20
|\
| * Fix deleting of directories on LinuxMai Lavelle2022-02-201-19/+20
| | | | | | | | | | Trailing slash of directories was mishandled, and incorrect derived paths were formed. Stripping the slash fixes this.
* | Add missing header for headless buildsMmAaXx5002022-03-091-0/+1
|/
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-1/+1
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Add an `OS.get_processor_name()` methodHugo Locurcio2022-02-151-0/+14
| | | | | | | | This method can be used to get the CPU model name. It can be used in conjunction with `RenderingServer.get_video_adapter_name()` and `RenderingServer.get_video_adapter_vendor()` for annotating benchmarks and automatic graphics quality configuration.
* Fix memory leak when move to trash fails on LinuxHaoyu Qiu2022-01-251-5/+3
|
* Fix multiple missing UTF-8 decoding.bruvzg2022-01-061-2/+2
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-4/+4
| | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* Merge pull request #51429 from omar-polo/fix-basenameRémi Verschelde2021-10-091-1/+4
|\
| * use .get_file() instead of basename(3)Omar Polo2021-10-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On OpenBSD the compiler complains that calling basename(3) would lose const qualifier. basename(3) is defined as char *basename(char *); and can, accorgindly to the POSIX.1, modify the passed string. This uses the .get_file() method. The check is necessary because file_name could be a directory, in which case .get_file() would return an empty string. The .get_base_dir().get_file() idiom is already used. The usage of get_file() and the check were suggested by theraot, thanks!