From ffccbc6e9cc3806da73ddce49686ec51e23aff40 Mon Sep 17 00:00:00 2001 From: remutro <84990500+remutro@users.noreply.github.com> Date: Wed, 1 May 2024 06:14:59 -0400 Subject: [PATCH] librashader build on Linux (#1465) Added a section for building librashader on Linux Didn't want this to get too long or distro specific so these should be the absolute minimal instructions for the platform. --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index df6a4675a..682348a93 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,19 @@ You should then be able to select SDL for input in the Settings > Drivers menu. ##### Building with clang clang++ is now the preferred compiler for ares. If clang is detected on Windows/macOS/BSD, it will be selected by default. On Linux and other platforms, g++ remains the default if present. To build with clang, it is necessary to install both the `clang` and `lld` packages. If you would like to manually specify a compiler, you can use the following option: `compiler=[g++|clang++]` + +##### Librashader Support +If you do not want to include librashader support, you can pass the following option to the `make` command to skip these requirements using: `librashader=false` + +Librashader requires rust in order to build. You can install it with the following command: +``` +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +source ~/.cargo/env +rustup toolchain install nightly +``` + +In order to build librashader, change into the `ares/thirdparty/librashader` directory and run the script `build-librashader.sh` +Note that once the build completes, it will instruct you to run three copy commands to install the library on your system. These paths may be different depending on Linux distribution. -------------- @@ -123,7 +136,7 @@ a26 fc sfc n64 sg ms md ps1 pce ng msx cv myvision gb gba ws ngp spec Build Output ------------ -There is a single binary produced at the end of compilation which can be found in `desktop-ui/out`. On OS's besides Linux, the `Database` & `Shader` directories are copied over here as well. On Linux, running `make install` after compilation will copy these directories and binary into suitable locations (see desktop-ui/GNUmakefile for details). Alternatively, these directories can be copied from `ares/Shaders/*` and `mia/Database/*`. +There is a single binary produced at the end of compilation which can be found in `desktop-ui/out`. On OS's besides Linux, the `Database` & `Shader` directories are copied over here as well. On Linux, running `make install` after compilation will copy these directories and binary into suitable locations (see desktop-ui/GNUmakefile for details). Alternatively, these directories can be copied from `thirdparty/slang-shaders/*` into a `Shader` directory, and by copying `mia/Database/*` Command-line options