Compare commits
No commits in common. "8d5072533f5eb87864f2fd3f51385abaa96535cd" and "f0626e8cae48e533349bbd6e89f9b5860bf3df72" have entirely different histories.
8d5072533f
...
f0626e8cae
7 changed files with 18 additions and 33 deletions
10
.github/workflows/build-win-mac.yml
vendored
10
.github/workflows/build-win-mac.yml
vendored
|
|
@ -20,10 +20,11 @@ jobs:
|
|||
include:
|
||||
# Windows
|
||||
- os: windows-2025
|
||||
qt_version: 6.10.2
|
||||
qt_version: 6.10.1
|
||||
qt_version_arm64: 6.10.0
|
||||
# macOS
|
||||
- os: macos-15
|
||||
qt_version: 6.10.2
|
||||
qt_version: 6.10.1
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
|
|
@ -47,7 +48,6 @@ jobs:
|
|||
set-env: ${{ runner.os != 'Windows' }}
|
||||
add-tools-to-path: ${{ runner.os != 'Windows' }}
|
||||
version: ${{ matrix.qt_version }}
|
||||
aqtsource: 'git+https://github.com/miurahr/aqtinstall.git@9edeb24ae65361fd032a063a0b0148764eff09c5'
|
||||
|
||||
- name: Install Qt ARM64 (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
|
|
@ -57,7 +57,7 @@ jobs:
|
|||
set-env: false
|
||||
add-tools-to-path: false
|
||||
arch: win64_msvc2022_arm64_cross_compiled
|
||||
version: ${{ matrix.qt_version }}
|
||||
version: ${{ matrix.qt_version_arm64 }}
|
||||
|
||||
- name: Build x64 binaries (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
|
|
@ -75,7 +75,7 @@ jobs:
|
|||
set "PATH=%QT_PATH%;%PATH%"
|
||||
scripts\build-arch.bat Release arm64
|
||||
env:
|
||||
QT_PATH: ${{ runner.workspace }}\Qt\${{ matrix.qt_version }}\msvc2022_arm64\bin
|
||||
QT_PATH: ${{ runner.workspace }}\Qt\${{ matrix.qt_version_arm64 }}\msvc2022_arm64\bin
|
||||
|
||||
- name: Build Package
|
||||
shell: pwsh
|
||||
|
|
|
|||
|
|
@ -82,10 +82,6 @@ Moonlight builds for Steam Link are subject to hardware limitations of the Steam
|
|||
* Maximum video bitrate: **40 Mbps**
|
||||
* **HDR streaming is not supported** on the original hardware
|
||||
|
||||
### Docker containers
|
||||
If you want to use Docker for building, look at [this repo](https://github.com/cgutman/moonlight-packaging) containing canonical containers
|
||||
for different architectures, which handle building deps and extra linking for you.
|
||||
|
||||
### Build Setup Steps
|
||||
1. Install the latest Qt SDK (and optionally, the Qt Creator IDE) from https://www.qt.io/download
|
||||
* You can install Qt via Homebrew on macOS, but you will need to use `brew install qt --with-debug` to be able to create debug builds of Moonlight.
|
||||
|
|
@ -97,8 +93,7 @@ for different architectures, which handle building deps and extra linking for yo
|
|||
* For Windows builds, use `scripts\build-arch.bat` and `scripts\generate-bundle.bat`. Execute these scripts from the root of the repository within a Qt command prompt. Ensure 7-Zip binary directory is on your `%PATH%`.
|
||||
* For macOS builds, use `scripts/generate-dmg.sh`. Execute this script from the root of the repository and ensure Qt's `bin` folder is in your `$PATH`.
|
||||
* For Steam Link builds, run `scripts/build-steamlink-app.sh` from the root of the repository.
|
||||
* To build from the command line for development use on macOS or Linux, run `qmake6 moonlight-qt.pro` then `make debug` or `make release`.
|
||||
* The final binary will be placed in `app/moonlight`.
|
||||
* To build from the command line for development use on macOS or Linux, run `qmake6 moonlight-qt.pro` then `make debug` or `make release`
|
||||
* To create an embedded build for a single-purpose device, use `qmake6 "CONFIG+=embedded" moonlight-qt.pro` and build normally.
|
||||
* This build will lack windowed mode, Discord/Help links, and other features that don't make sense on an embedded device.
|
||||
* For platforms with poor GPU performance, add `"CONFIG+=gpuslow"` to prefer direct KMSDRM rendering over GL/Vulkan renderers. Direct KMSDRM rendering can use dedicated YUV/RGB conversion and scaling hardware rather than slower GPU shaders for these operations.
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
import QtQuick 2.0
|
||||
import QtQuick.Controls 2.5
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
Dialog {
|
||||
modal: true
|
||||
anchors.centerIn: Overlay.overlay
|
||||
|
||||
x: Math.round((parent.width - width) / 2)
|
||||
y: Math.round((parent.height - height) / 2)
|
||||
|
||||
onClosed: {
|
||||
// We must force focus back to the last item. If we don't,
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ int SDLCALL signalHandlerThread(void* data)
|
|||
// Exit immediately if we haven't changed state since last attempt
|
||||
if (session == lastSession || requestedQuit) {
|
||||
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Exiting immediately on second signal");
|
||||
_Exit(1);
|
||||
_exit(1);
|
||||
}
|
||||
|
||||
if (sig == SIGTERM) {
|
||||
|
|
@ -376,7 +376,7 @@ int SDLCALL signalHandlerThread(void* data)
|
|||
// Exit immediately if we haven't changed state since last attempt
|
||||
if (requestedQuit) {
|
||||
SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Exiting immediately on second signal");
|
||||
_Exit(1);
|
||||
_exit(1);
|
||||
}
|
||||
|
||||
// If we're not streaming, we'll close the whole app
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ bool WMUtils::isGpuSlow()
|
|||
bool ret;
|
||||
|
||||
if (!Utils::getEnvironmentVariableOverride("GL_IS_SLOW", &ret)) {
|
||||
#if defined(GL_IS_SLOW) || (!defined(Q_PROCESSOR_X86) && !defined(Q_OS_DARWIN) && !defined(Q_OS_WIN))
|
||||
#if defined(GL_IS_SLOW) || !defined(Q_PROCESSOR_X86)
|
||||
// We currently assume GPUs on non-x86 hardware are slow by default
|
||||
ret = true;
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 6250fa29ee87873716045e3b64f1f229374324e8
|
||||
Subproject commit 305993b01322aeb7710a5443960774ecd391c55c
|
||||
|
|
@ -222,7 +222,7 @@ echo Deploying Qt dependencies
|
|||
%WINDEPLOYQT_CMD% --dir %DEPLOY_FOLDER% --%BUILD_CONFIG% --qmldir %SOURCE_ROOT%\app\gui --no-opengl-sw --no-compiler-runtime --no-sql %WINDEPLOYQT_ARGS% %BUILD_FOLDER%\app\%BUILD_CONFIG%\Moonlight.exe
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
echo Deleting unused files
|
||||
echo Deleting unused styles
|
||||
rem Qt 5.x directories
|
||||
rmdir /s /q %DEPLOY_FOLDER%\QtQuick\Controls.2\Fusion
|
||||
rmdir /s /q %DEPLOY_FOLDER%\QtQuick\Controls.2\Imagine
|
||||
|
|
@ -234,8 +234,6 @@ rmdir /s /q %DEPLOY_FOLDER%\qml\QtQuick\Controls\Universal
|
|||
rmdir /s /q %DEPLOY_FOLDER%\qml\QtQuick\Controls\Windows
|
||||
rmdir /s /q %DEPLOY_FOLDER%\qml\QtQuick\Controls\FluentWinUI3
|
||||
rmdir /s /q %DEPLOY_FOLDER%\qml\QtQuick\NativeStyle
|
||||
rem icuuc.dll ships with all supported OSes (and Qt incorrectly deploys the x64 version on ARM64)
|
||||
del %DEPLOY_FOLDER%\icuuc.dll
|
||||
|
||||
if "%SIGN%"=="1" (
|
||||
echo Signing deployed binaries
|
||||
|
|
@ -268,19 +266,9 @@ rem This must be done after WiX harvesting and signing, since the VCRT dlls are
|
|||
rem and should not be harvested for inclusion in the full installer
|
||||
copy "%VC_REDIST_DLL_PATH%\*.dll" %DEPLOY_FOLDER%
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
rem Since we don't publish Windows installers for CI builds, let's use the user profile
|
||||
rem location of the regular non-portable version by default. We'll place a file in the
|
||||
rem the package to allow the user to rename if they want portable behavior.
|
||||
if defined CI_VERSION (
|
||||
echo. > %DEPLOY_FOLDER%\portable.dat.inactive
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
) else (
|
||||
rem This file tells Moonlight that it's a portable installation
|
||||
echo. > %DEPLOY_FOLDER%\portable.dat
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
)
|
||||
|
||||
rem This file tells Moonlight that it's a portable installation
|
||||
echo. > %DEPLOY_FOLDER%\portable.dat
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
7z a %INSTALLER_FOLDER%\MoonlightPortable-%ARCH%-%VERSION%.zip %DEPLOY_FOLDER%\*
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue