build(windows): add arm64 support (#3905)
Signed-off-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Signed-off-by: Coia Prant <coiaprant@gmail.com> Co-authored-by: Ricky8955555 <rkmiao@duck.com> Co-authored-by: Mike Fara <mjfara@gmail.com> Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
This commit is contained in:
@@ -126,33 +126,53 @@ sudo port install "${dependencies[@]}"
|
||||
```
|
||||
|
||||
#### Windows
|
||||
First you need to install [MSYS2](https://www.msys2.org), then startup "MSYS2 UCRT64" and execute the following
|
||||
commands.
|
||||
|
||||
> [!WARNING]
|
||||
> Cross-compilation is not supported on Windows. You must build on the target architecture.
|
||||
|
||||
First, you need to install [MSYS2](https://www.msys2.org).
|
||||
|
||||
For AMD64 startup "MSYS2 UCRT64" (or for ARM64 startup "MSYS2 CLANGARM64") then execute the following commands.
|
||||
|
||||
##### Update all packages
|
||||
```bash
|
||||
pacman -Syu
|
||||
```
|
||||
|
||||
##### Set toolchain variable
|
||||
For UCRT64:
|
||||
```bash
|
||||
export TOOLCHAIN="ucrt-x86_64"
|
||||
```
|
||||
|
||||
For CLANGARM64:
|
||||
```bash
|
||||
export TOOLCHAIN="clang-aarch64"
|
||||
```
|
||||
|
||||
##### Install dependencies
|
||||
```bash
|
||||
dependencies=(
|
||||
"git"
|
||||
"mingw-w64-ucrt-x86_64-boost" # Optional
|
||||
"mingw-w64-ucrt-x86_64-cmake"
|
||||
"mingw-w64-ucrt-x86_64-cppwinrt"
|
||||
"mingw-w64-ucrt-x86_64-curl-winssl"
|
||||
"mingw-w64-ucrt-x86_64-doxygen" # Optional, for docs... better to install official Doxygen
|
||||
"mingw-w64-ucrt-x86_64-graphviz" # Optional, for docs
|
||||
"mingw-w64-ucrt-x86_64-MinHook"
|
||||
"mingw-w64-ucrt-x86_64-miniupnpc"
|
||||
"mingw-w64-ucrt-x86_64-nodejs"
|
||||
"mingw-w64-ucrt-x86_64-nsis"
|
||||
"mingw-w64-ucrt-x86_64-onevpl"
|
||||
"mingw-w64-ucrt-x86_64-openssl"
|
||||
"mingw-w64-ucrt-x86_64-opus"
|
||||
"mingw-w64-ucrt-x86_64-toolchain"
|
||||
"mingw-w64-${TOOLCHAIN}-boost" # Optional
|
||||
"mingw-w64-${TOOLCHAIN}-cmake"
|
||||
"mingw-w64-${TOOLCHAIN}-cppwinrt"
|
||||
"mingw-w64-${TOOLCHAIN}-curl-winssl"
|
||||
"mingw-w64-${TOOLCHAIN}-doxygen" # Optional, for docs... better to install official Doxygen
|
||||
"mingw-w64-${TOOLCHAIN}-graphviz" # Optional, for docs
|
||||
"mingw-w64-${TOOLCHAIN}-miniupnpc"
|
||||
"mingw-w64-${TOOLCHAIN}-nodejs"
|
||||
"mingw-w64-${TOOLCHAIN}-onevpl"
|
||||
"mingw-w64-${TOOLCHAIN}-openssl"
|
||||
"mingw-w64-${TOOLCHAIN}-opus"
|
||||
"mingw-w64-${TOOLCHAIN}-toolchain"
|
||||
)
|
||||
if [[ "${MSYSTEM}" == "UCRT64" ]]; then
|
||||
dependencies+=(
|
||||
"mingw-w64-${TOOLCHAIN}-MinHook"
|
||||
"mingw-w64-${TOOLCHAIN}-nsis"
|
||||
)
|
||||
fi
|
||||
pacman -S "${dependencies[@]}"
|
||||
```
|
||||
|
||||
|
||||
@@ -329,21 +329,30 @@ brew uninstall sunshine
|
||||
|
||||
### Windows
|
||||
|
||||
> [!NOTE]
|
||||
> Sunshine supports ARM64 on Windows; however, this should be considered experimental. This version does not properly
|
||||
> support GPU scheduling and any hardware acceleration.
|
||||
|
||||
#### Installer (recommended)
|
||||
|
||||
> [!CAUTION]
|
||||
> The msi installer is preferred moving forward. Before using a different type of installer, you should manually
|
||||
> uninstall the previous installation.
|
||||
|
||||
1. Download and install
|
||||
[Sunshine-Windows-AMD64-installer.msi](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-AMD64-installer.msi)
|
||||
[Sunshine-Windows-AMD64-installer.exe](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-AMD64-installer.exe)
|
||||
1. Download and install based on your architecture:
|
||||
|
||||
| Architecture | Installer |
|
||||
|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| AMD64/x64 (Intel/AMD) | [Sunshine-Windows-AMD64-installer.msi](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-AMD64-installer.msi) |
|
||||
| AMD64/x64 (Intel/AMD) | [Sunshine-Windows-AMD64-installer.exe](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-AMD64-installer.exe) |
|
||||
| ARM64 | [Sunshine-Windows-ARM64-installer.msi](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-ARM64-installer.msi) |
|
||||
| ARM64 | [Sunshine-Windows-ARM64-installer.exe](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-ARM64-installer.exe) |
|
||||
|
||||
> [!TIP]
|
||||
> Installer logs can be found in the following locations.<br>
|
||||
> | File | log paths |
|
||||
> | ---- | --------- |
|
||||
> | .exe | `%%PROGRAMFILES%/Sunshine/install.log`<br>`%%TEMP%/Sunshine/logs/install/` |
|
||||
> | .exe | `%%PROGRAMFILES%/Sunshine/install.log` (AMD64 only)<br>`%%TEMP%/Sunshine/logs/install/` |
|
||||
> | .msi | `%%TEMP%/Sunshine/logs/install/` |
|
||||
|
||||
> [!CAUTION]
|
||||
@@ -359,8 +368,13 @@ overflow menu. Different versions of Windows may provide slightly different step
|
||||
> By using this package instead of the installer, performance will be reduced. This package is not
|
||||
> recommended for most users. No support will be provided!
|
||||
|
||||
1. Download and extract
|
||||
[Sunshine-Windows-AMD64-portable.zip](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-AMD64-portable.zip)
|
||||
1. Download and extract based on your architecture:
|
||||
|
||||
| Architecture | Installer |
|
||||
|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| AMD64/x64 (Intel/AMD) | [Sunshine-Windows-AMD64-portable.zip](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-AMD64-portable.zip) |
|
||||
| ARM64 | [Sunshine-Windows-ARM64-portable.zip](https://github.com/LizardByte/Sunshine/releases/latest/download/Sunshine-Windows-ARM64-portable.zip) |
|
||||
|
||||
2. Open command prompt as administrator
|
||||
3. Firewall rules
|
||||
|
||||
|
||||
Reference in New Issue
Block a user