Documentation update

This commit is contained in:
Leon Styhre 2024-08-09 22:14:00 +02:00
parent 544abf1e81
commit 2d84fa78db
5 changed files with 14 additions and 41 deletions

View file

@ -10,9 +10,11 @@
* Added localization support
* Added text shaping support using the HarfBuzz library
* Replaced all built-in Unicode case conversion logic and lookup tables with facilities from the ICU library
* Added translations for English (United Kingdom) (en_US)
* Added translations for French (fr_FR)
* Added translations for Japanese (ja_JP)
* Added translations for Polish (pl_PL)
* Added translations for Portuguese (Brazil) (pt_BR)
* Added translations for Romanian (ro_RO)
* Added translations for Russian (ru_RU)
@ -47,7 +49,7 @@
* Added the libintl library as a dependency
* Added the HarfBuzz library as a dependency
* Added the ICU library as a dependency
* Replaced all built-in Unicode case conversion logic and lookup tables with facilities from the ICU library
* Removed support for NetBSD and OpenBSD
* Updated SDL to 2.30.5 on Android, Windows, macOS and the Linux AppImage builds
* Added some extra compiler checking options when building with AddressSanitizer or UndefinedBehaviorSanitizer

View file

@ -25,7 +25,7 @@ There are some dependencies that need to be fulfilled in order to build ES-DE. T
All of the required packages can be installed with apt-get:
```
sudo apt-get install build-essential clang-format git cmake gettext libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev libpoppler-cpp-dev
sudo apt-get install build-essential clang-format git cmake gettext libharfbuzz-dev libicu-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev libpoppler-cpp-dev
```
**Fedora**
@ -40,7 +40,7 @@ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -
Then you can use dnf to install all the required packages:
```
sudo dnf install gcc-c++ clang-tools-extra cmake gettext libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel libgit2-devel curl-devel pugixml-devel alsa-lib-devel mesa-libGL-devel poppler-cpp-devel
sudo dnf install gcc-c++ clang-tools-extra cmake gettext harfbuzz-devel libicu-devel libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel libgit2-devel curl-devel pugixml-devel alsa-lib-devel mesa-libGL-devel poppler-cpp-devel
```
**Manjaro**
@ -48,14 +48,14 @@ sudo dnf install gcc-c++ clang-tools-extra cmake gettext libasan rpm-build SDL2-
Use pacman to install all the required packages:
```
sudo pacman -S gcc clang make cmake gettext pkgconf sdl2 ffmpeg freeimage freetype2 libgit2 pugixml poppler
sudo pacman -S gcc clang make cmake gettext harfbuzz icu pkgconf sdl2 ffmpeg freeimage freetype2 libgit2 pugixml poppler
```
**Raspberry Pi OS**
All of the required packages can be installed with apt-get:
```
sudo apt-get install clang-format cmake gettext libraspberrypi-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-gnutls-dev libpugixml-dev libpoppler-cpp-dev
sudo apt-get install clang-format cmake gettext libharfbuzz-dev libicu-dev libraspberrypi-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-gnutls-dev libpugixml-dev libpoppler-cpp-dev
```
For a 64-bit build it's very important that you include libraspberrypi-dev because if this package is not installed then the file /usr/include/bcm_host.h is not present on the filesystem. This leads to CMake not detecting that it's indeed a Raspberry Pi and it will attempt to make a regular Linux build instead.
@ -75,40 +75,11 @@ Only the OpenGL ES 3.0 renderer works on Raspberry Pi and it's enabled by defaul
Use pkg to install the dependencies:
```
pkg install llvm-devel git pkgconf cmake gettext sdl2 ffmpeg freeimage libgit2 pugixml poppler
pkg install llvm-devel git pkgconf cmake gettext harfbuzz icu sdl2 ffmpeg freeimage libgit2 pugixml poppler
```
Clang/LLVM and curl should already be included in the base OS installation.
**NetBSD**
Use pkgin to install the dependencies:
```
pkgin install clang git cmake gettext pkgconf SDL2 ffmpeg4 freeimage libgit2 pugixml poppler-cpp
```
NetBSD ships with GCC by default, and although you should be able to use Clang/LLVM, it's probably easier to just stick to the default compiler environment. The reason why the clang package needs to be installed is to get clang-format onto the system.
**OpenBSD**
Use pkg_add to install the dependencies:
```
pkg_add clang-tools-extra cmake gettext pkgconf sdl2 ffmpeg freeimage libgit2 poppler
```
In the same manner as for FreeBSD, Clang/LLVM and curl should already be installed by default.
The pugixml library does exist in the package collection but somehow this version is not properly detected by CMake, so you need to compile this manually as well:
```
git clone https://github.com/zeux/pugixml.git
cd pugixml
git checkout v1.10
cmake .
make
make install
```
**Cloning and compiling ES-DE**
To clone the source repository, run the following:
@ -133,7 +104,7 @@ cmake -DAPPLICATION_UPDATER=off .
make
```
Note that the application updater is always disabled when building for the AUR, RetroDECK, Raspberry Pi or BSD Unix.
Note that the application updater is always disabled when building for the AUR, RetroDECK, Raspberry Pi or FreeBSD.
On Linux specifically you can build with the DEINIT_ON_LAUNCH option which will deinit the renderer, application window and audio when an emulator is launched. This makes it possible to use ES-DE with KMS/direct framebuffer access to for example make ES-DE a drop-in replacement for RetroPie EmulationStation:
```
@ -269,7 +240,7 @@ make -j8
This renderer is generally only needed on the Raspberry Pi and the desktop OpenGL renderer should otherwise be used.
By default ES-DE will install under /usr on Linux, /usr/pkg on NetBSD and /usr/local on FreeBSD and OpenBSD although this can be changed by setting the `CMAKE_INSTALL_PREFIX` variable.
By default ES-DE will install under /usr on Linux and /usr/local on FreeBSD although this can be changed by setting the `CMAKE_INSTALL_PREFIX` variable.
The following example will build the application for installtion under /opt:

View file

@ -2,7 +2,7 @@
ES-DE (EmulationStation Desktop Edition) is a frontend for browsing and launching games from your multi-platform collection.
It's officially supported on Linux, macOS, Windows and Android but can also be used on BSD Unix and the Raspberry Pi if you build it yourself from source code.
It's officially supported on Linux, macOS, Windows and Android but can also be used on FreeBSD and the Raspberry Pi if you build it yourself from source code.
Website:\
https://es-de.org
@ -31,7 +31,7 @@ Visit https://es-de.org to download the latest ES-DE release or go to the [packa
The Android port of ES-DE is a paid app, which you can get on [Patreon](https://www.patreon.com/es_de) or on the [Samsung Galaxy Store](https://galaxystore.samsung.com/detail/org.es_de.frontend.galaxy).
If you're using a Raspberry Pi or if you run FreeBSD, NetBSD or OpenBSD then you need to compile from source code as no prebuilt packages are provided for these platforms. A detailed build guide is available in [INSTALL.md](INSTALL.md).
If you're using a Raspberry Pi or if you run FreeBSD, then you need to compile from source code as no prebuilt packages are provided for these platforms. A detailed build guide is available in [INSTALL.md](INSTALL.md).
## Additional information

View file

@ -1434,7 +1434,7 @@ For any given step, the configuration is parsed in the exact order that it's def
## Property data types
* NORMALIZED_PAIR - two decimal values delimited by a space, for example `0.25 0.5`
* PATH - path to a resource. If the first character is a tilde (`~`) then it will be expanded to the user's home directory (`$HOME` for Linux, BSD Unix and macOS and `%HOMEPATH%` for Windows) unless overridden using the --home command line option. If the first character is a dot (`.`) then the resource will be searched for relative to the location of the theme file, for example `./myfont.ttf` or `./../core/fonts/myfont.ttf`
* PATH - path to a resource. If the first character is a tilde (`~`) then it will be expanded to the user's home directory (`$HOME` for Linux and macOS and `%HOMEPATH%` for Windows) unless overridden using the --home command line option. If the first character is a dot (`.`) then the resource will be searched for relative to the location of the theme file, for example `./myfont.ttf` or `./../core/fonts/myfont.ttf`
* BOOLEAN - `true`/`1` or `false`/`0`
* COLOR - a hexadecimal RGB or RGBA color value consisting of 6 or 8 digits. If a 6 digit value is used then the alpha channel will be set to `FF` (completely opaque)
* UNSIGNED_INTEGER - an unsigned integer value

View file

@ -3594,7 +3594,7 @@ The metadata for a game is updated by scraping or by manual editing it using the
**Check for application updates** _Not available for some builds_
By default a check for new ES-DE versions will be done on every application startup and a notification will be displayed if there is a new release available for download. Using this option the frequency of these checks can be set to _Always_, _Daily_, _Weekly_, _Monthly_ or _Never_. This setting is not available on some platforms and package formats such as the Linux AUR release and the semi-official BSD Unix and Raspberry Pi releases where pre-built packages are not provided.
By default a check for new ES-DE versions will be done on every application startup and a notification will be displayed if there is a new release available for download. Using this option the frequency of these checks can be set to _Always_, _Daily_, _Weekly_, _Monthly_ or _Never_. This setting is not available on some platforms and package formats such as the Linux AUR release and the semi-official FreeBSD and Raspberry Pi releases where pre-built packages are not provided.
**Include prereleases in update checks** _Always enabled for prereleases_