Commit graph

86 commits

Author SHA1 Message Date
cmitu
b99e8c21ba RPI support: add a separate omxplayer build option
Modified the build options and source files to enable `omxplayer` for video previews only when the `OMX` option is used.
Updated the build instructions on RPI accordingly and added some notes about the deprecation of the BRCM GPU drivers in RasPI OS 'Bullseye'.

Previously, the `RPI` build option would be used to add both RPI specific audio settings/VRAM limits AND add `omxplayer` support. However, `omxplayer` does not work with the RPI KMS video driver (`vc4-kms-v3d`) or with a 64bit RPI system, due to the lack of OpenMAX (OMX) API support.
The new RasPi OS ('bullseye') has made the KMS driver the default [1] and doesn't offer `omxplayer` anymore (considered deprecated [2]).

Splitting the OMX support from the RPI option allows to set some default values for RPI systems without automatically adding the `omxplayer` bits.

[1] https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/
[2] https://github.com/popcornmix/omxplayer/commit/1f1d0ccd65
2022-05-07 17:54:05 +01:00
Gemba
feaf44afac restructured --help output, removed legacy --help output from README.md and
removed surplus SplashScreenProgress switch (always true).
2022-03-20 22:12:13 +01:00
cmitu
d5d3cbfc4b cmake: add GLES20 renderer build support
Added support for the GLESv2 renderer to the CMake build.

* Refactored the OpenGLES detection for both versions.
     Platform detection is done only in the main project file, settings hints for the GLES headers/libraries detection in the corresponding 'Find' cmake modules.
* Simplified the additions of directories for includes/libraries, based on the same hints added during detection.

Notes:

* GLESv2 is the default for GLES-enabled systems.

* For the Raspberry Pi systems, both the legacy (BRCM) and the new (MESA) GLES libraries can be present.
 The selection can be done via the `USE_MESA_GLES` CMake option (default: Off)
 By default, the legacy (BRCM) libraries/headers are used, without any special configuration.
 For the Pi4, the GL renderer/system must be explicitely selected
 ** select the OpenGL 2 renderer with `-DGL=On`
 ** select the GLESv2 renderer with `-DUSE_MESA_GLES=On`

* the GLESv1 renderer can still be forcibly enabled using the `FORCE_GLESv1` build option, for platforms where GLESv1 is the only option.

Minor - set the start-up project in MS Visual Studio to 'emulationstation'.
2020-06-11 04:28:59 +01:00
Cristi Mitrana
92db741c53 Define _DEBUG for Debug builds 2020-01-03 12:17:43 +02:00
Tomas Jakobsson
9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Cristi Mitrana
9d2f3de8a6 Minor documentation formatting and updates 2019-02-14 09:41:26 +02:00
tminit
e7bc6f7006 Changed Audio settings to be much more flexible
Changed the selectable options for EmulationStation audio mixer
(called AudioDevice in EmulationStation) to be a greater range of
selectable options within Linux and RPi so that it is a lot more
flexible and will work with any aftermarket add-on audio cards and
RPi Audio HATs. Hopefully this gives people the flexibility that
they need in order to avoid the issues people have with unusual RPi
audio setups.

Added the ability to select the audio card as well, by surfacing
the audio card under the Audio Card setting. It was previously forced
to 'default' for all linux users, which was too restrictive in some
instances. This change now adds flexbility to support additional
Linux and RPi Audio Cards.

This option will only be available on Linux (and therefore RPi) as
Windows uses a different audio subsystem.

CHOOSING AUDIO ON LINUX AND RPi
You now select which ALSA Audio Card you want EmulationStation to use
by choosing the relevant AUDIO CARD option. If your one is not listed
then you can add a custom one in the es_settings.cfg file (see below).

You then select which ALSA Audio Mixer Control from that Audio Card
that you want EmulationStation to use, by choosing the relevant
AUDIO DEVICE option. (I kept the name AUDIO DEVICE as that what
EmulationStation previously used to describe an Audio Mixer.)
If your mixer name is not listed then you can add a custom one in
the es_settings.cfg file (see below).

ADDING A CUSTOM AUDIO CARD OR AUDIO DEVICE
In addition I added the ability to manually change the setting in
es_settings.cfg to add anything custom that you want. This will give
advanced users enough extra power that should avoid even the most
strange setups.

Step 1:

To add a custom Audio Card, edit the "AudioCard" setting and replace
the value with the name of your Audio Card. You can find this out by
opening a terminal window and running 'aplay -L'. This will generate a
list of Audio Cards similar to the one below:

pi@raspberrypi:~ $ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=sndrpijustboomd
    snd_rpi_justboom_dac,
    Default Audio Device
sysdefault:CARD=sndrpijustboomd
    snd_rpi_justboom_dac,
    Default Audio Device
dmix:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Direct sample mixing device
dsnoop:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Direct sample snooping device
hw:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Direct hardware device without any conversions
plughw:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Hardware device with all software conversions

Select any one of the Audio Cards listed by using the first word on
the line in your AudioCard settings in the es_settings.cfg, e.g.

<string name="AudioCard" value="default" />

NOTE: If the AudioCard value is not listed, please either close and
reopen EmulationStation (the settings is created upon close if it
doesn't exist), or add it manually to the es_settings.cfg file.

Step 2:

To add a custom Audio Device (mixer), edit the "AudioDevice" setting
and replace the value with the name of your Audio Device. You can get
a list off avilable Audio Devices on the Audio Card by opening a
terminal window and running 'amixer scontrols -D <AudioCard>', where
<AudioCard> is replaced with the name of your Audio Card that you
found in Step 1.  This command will generate a list of Audio Devices
(mixers) that you can use in the AudioDevice setting in the
es_settings.cfg file, e.g.

pi@raspberrypi:~ $ amixer scontrols -D default
Simple mixer control 'DSP Program',0
Simple mixer control 'Analogue',0
Simple mixer control 'Analogue Playback Boost',0
Simple mixer control 'Auto Mute',0
Simple mixer control 'Auto Mute Mono',0
Simple mixer control 'Auto Mute Time Left',0
Simple mixer control 'Auto Mute Time Right',0
Simple mixer control 'Clock Missing Period',0
Simple mixer control 'Deemphasis',0
Simple mixer control 'Digital',0
Simple mixer control 'Max Overclock DAC',0
Simple mixer control 'Max Overclock DSP',0
Simple mixer control 'Max Overclock PLL',0
Simple mixer control 'Volume Ramp Down Emergency Rate',0
Simple mixer control 'Volume Ramp Down Emergency Step',0
Simple mixer control 'Volume Ramp Down Rate',0
Simple mixer control 'Volume Ramp Down Step',0
Simple mixer control 'Volume Ramp Up Rate',0
Simple mixer control 'Volume Ramp Up Step',0

Select any one of the Simple mixer controls listed by using the
name within the quotes within the AudioDevice setting in your
es_settings.cfg file, e.g.

<string name="AudioDevice" value="Digital" />

Using the example above, the following two settings within the
es_settings.cfg file will use the 'default' Audio Card to play
sounds, and will use the 'Digital' mixer (Audio Device) to
control the volume.

<string name="AudioCard" value="default" />
<string name="AudioDevice" value="Digital" />

NOTE: Any custom manually used settings will be overwritten if you
select any of the other options in the GUI and exit the Sound
Settings window, as the Sound Settings GUI window overwrites the
es_settings.cfg options when you exit the window.

Fix latest package renames

fonts-droid is now fonts-droid-fallback
vlc-nox is now vlc-bin

Fixed up whitespacing to project tab standard

Had not paid enough attention and had accidentally provided
whitespacing in spaces rather than the project standard of
tabs. This change fixes some additional use of spaces to
ensure all the code in the two files now uses tabs.

Vero4k autodetection and volume mixer fix
2018-08-19 21:40:49 +00:00
John Rassa
bfddb95ba8
fix git submodule command 2018-04-24 23:33:03 -04:00
Tomas Jakobsson
bb4c204e83 Fix the Fedora instructions 2018-02-09 18:37:40 +01:00
yodatak
5e40fb4237
Update instructions for Fedora compilation
Adding some command to compile EmulationStation on Fedora 27
2018-02-04 06:13:22 +01:00
Tomas Jakobsson
421e4a23df The final traces of boost has been eliminated 2018-01-30 19:21:09 +01:00
Benjamin Sinkula
528225a2f3 Update README to reflect Eigen3 dependency removal 2018-01-17 08:14:21 -06:00
Jools Wills
99c1ddb260 Merge pull request #235 from zigurana/KioskMode
Introducing Kiosk Mode, hiding certain menu items from the UI.
2017-09-28 18:55:14 +01:00
Jools Wills
fecf345e11 added a note in the docs regarding git submodules 2017-09-28 08:34:45 +01:00
D. Polders
7a7550cde9 Introducing Kiosk UI mode, allowing users to hide menu items that might change system configuration settings. 2017-09-12 21:07:18 +02:00
Jools Wills
3d215a1f2f remove some references to old ES site and old RetroPie github from the README.md 2017-04-08 18:16:30 +01:00
fieldofcows
25e1067794 Add video view that is based on detail view but allows themes to include a video preview of the selected game along with a marquee image 2016-12-12 09:34:01 +00:00
Aloshi
08c2c561ca Merge branch 'master' of https://github.com/Aloshi/EmulationStation 2015-01-10 19:04:16 -06:00
Rob Loach
a7396554bb Add SYSTEMS.md 2014-12-29 21:55:04 -05:00
Aloshi
7c48887ab3 Hide the console on Windows unless --debug is set. 2014-11-24 20:50:09 -06:00
Aloshi
9d2b7e5e66 Changed --vsync true to --vsync on.
Updated README.md.
2014-11-23 10:23:31 -06:00
Aloshi
cefe9b6287 Merge branch 'utf8' into unstable 2014-11-23 09:55:57 -06:00
Aloshi
635b9f9327 FINALLY added vsync.
Defaults to on for all platforms except the RPi. Force it off with "--vsync 0".

Will try to use late swap tearing if supported on the current system.
2014-11-22 11:03:02 -06:00
Alec Lofquist
dab1a12bc0 Require boost.locale. 2014-10-18 16:51:48 -05:00
Aloshi
71700bd0c9 Added <theme> tag to es_systems.cfg. 2014-06-15 12:34:22 -05:00
Aloshi
ff2fd4ee80 Split gamelist.xml documentation into its own text file.
Removed signature in THEMES.md.
2014-06-05 19:00:16 -05:00
Aloshi
b85876339b Removed --home-path argument.
I forgot, for weeks on end, that you can just manipulate environment variables.
2014-06-05 14:56:41 -05:00
Aloshi
28e7f357f7 Added support for multiple platforms in the <platform> tag.
You can also use any of the whitespace characters as extension delimiters now (", \n\r\t").
2014-06-03 19:42:01 -05:00
Aloshi
37db651ffa Added support for relative paths in gamelist.xmls.
Fixed default for the "rating" metadata value, so it no longer writes to the gamelist when the rating hasn't been set yet.
2014-06-02 13:13:30 -05:00
Aloshi
cb54d8ae6d Changed "platform IDs" to just "platform", and now names are used instead of numerical IDs.
Check src/PlatformIds.cpp for a complete list.
2014-05-26 17:32:57 -05:00
Aloshi
78a3f94e1e Changed folder structure significantly.
The ~/.emulationstation folder is now organized into categories. Everything probably broke again.
Added support for "theme sets," instead of just one theme for each system.
Read the top of THEMES.md for more information.
Added support for reading from `/etc/emulationstation/` for themes,
gamelists, and es_systems.cfg.
Updated documentation to match.
2014-04-30 21:15:13 -05:00
Aloshi
e842321b00 Removed dependency on libboost-regex.
It was kind of silly to pull in the entire lib for exactly one regular expression.
2014-04-16 12:32:40 -05:00
Aloshi
45ffbf978c Added --home-path [path] argument that redirects calls to getHomePath() to some directory [path].
Changed some existing command line arguments too:
-w and -h are now just --resolution [width] [height].
-h is now synonymous with --help.
2014-03-13 22:17:46 -05:00
Aloshi
6db26742ff Renamed all the internal "Settings" identifiers to be consistent in
capitalization style.  Probably should delete your old es_settings.cfg
file.
Removed --dimtime as an argument since you can set it internally now.
2014-03-08 13:00:18 -06:00
Aloshi
fdbbf96d5e Added scrolling to ComponentList.
--no-exit works again.
Changed default screen dim time from 30 seconds to 120 seconds.
2014-03-02 10:41:02 -06:00
Aloshi
816247ac20 Changed scroll gradient to a radial gradient and made the display full
screen instead of just inside the list.
Embedded the OpenSans font as the default font instead of relying on a
platform-dependent system default.
2014-02-16 12:27:58 -06:00
Aloshi
8eb9800127 Added color tag to ImageComponent (for colorshift).
Changed TextComponent's truncation from ".." to "...".
Updated documentation.
2014-01-23 15:30:32 -06:00
Aloshi
dca5467f7b Boost.Asio -> libcurl to hopefully fix the Linux bugs. 2013-10-10 13:11:01 -05:00
Aloshi
e7135d869c Updated README.md and --help command. 2013-09-30 14:34:22 -05:00
Aloshi
c807c98b4a Added HttpReq class based on Boost.Asio. 2013-09-15 12:56:47 -05:00
Aloshi
044619a2d3 Add ALSA package to dependency list.
Change name of example config from "NES" to "nes".
2013-08-28 14:39:29 -05:00
Aloshi
a23e873f91 Update documentation to reflect move to SDL2. 2013-08-23 10:09:25 -05:00
Aloshi
dbcb9aed37 Moved es_systems.cfg to use XML.
Updated README.md to reflect new format.
"descname" has been renamed to "fullname".
2013-08-13 01:56:10 -05:00
Aloshi
8bd87e162c Stop including Eigen directly in the project.
Update README.md for information on installing Eigen.
2013-07-16 22:41:39 -05:00
Bim Overbohm
4f8f2e6fa5 Update project description regarding RPI SD card issues 2013-07-10 13:31:57 +02:00
Bim Overbohm
65e65e1ac9 Update project description regarding G++ 4.7 2013-07-08 10:00:35 +02:00
Bim Overbohm
548b93dbd2 Update project description regarding issues 2013-07-05 11:23:21 +02:00
Aloshi
e785a2dfe0 You can now mix and match game list detail levels.
Basically, only games that have a gamelist.xml will use the detailed view.
2013-07-02 02:04:52 -05:00
Aloshi
961fccc3f3 Updates to README.md
Somewhat better build instructions, links to Windows dependencies.
2013-05-27 15:23:25 -05:00
Aloshi
80e33849b5 Fixed a few crashes, better support for higan
Fixed AudioManager/InputManager unsigned vs signed comparison warnings.
Fixed a FolderData sorting crash (I can't believe nobody's reported
this).
Fixed a GuiTheme crash for empty paths.
Added the %ROM_RAW% tag, for the unescaped ROM name - useful for higan
on windows.
SystemData will now add folders that end in EXTENSION as GameDatas, and
not recurse through them.  Also useful for higan.
2013-05-27 12:13:38 -05:00