diff --git a/cmake/packaging/common.cmake b/cmake/packaging/common.cmake index c7c5b3a5..7c76756c 100644 --- a/cmake/packaging/common.cmake +++ b/cmake/packaging/common.cmake @@ -3,6 +3,7 @@ # common cpack options set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) set(CPACK_PACKAGE_VENDOR "LizardByte") +set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) set(CPACK_PACKAGE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/cpack_artifacts) set(CPACK_PACKAGE_CONTACT "https://app.lizardbyte.dev") set(CPACK_PACKAGE_DESCRIPTION ${CMAKE_PROJECT_DESCRIPTION}) diff --git a/cmake/packaging/linux.cmake b/cmake/packaging/linux.cmake index 25f3364c..56968d1e 100644 --- a/cmake/packaging/linux.cmake +++ b/cmake/packaging/linux.cmake @@ -2,9 +2,15 @@ install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}") -# copy assets to build directory, for running without install + +# copy assets (excluding shaders) to build directory, for running without install file(COPY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/assets/" - DESTINATION "${CMAKE_BINARY_DIR}/assets") + DESTINATION "${CMAKE_BINARY_DIR}/assets" + PATTERN "shaders" EXCLUDE) +# use symbolic link for shaders directory +file(CREATE_LINK "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/assets/shaders" + "${CMAKE_BINARY_DIR}/assets/shaders" COPY_ON_ERROR SYMBOLIC) + if(${SUNSHINE_BUILD_APPIMAGE} OR ${SUNSHINE_BUILD_FLATPAK}) install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/60-sunshine.rules" DESTINATION "${SUNSHINE_ASSETS_DIR}/udev/rules.d") @@ -28,6 +34,10 @@ endif() set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/postinst") set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/postinst") +# Apply setcap for RPM +# https://github.com/coreos/rpm-ostree/discussions/5036#discussioncomment-10291071 +set(CPACK_RPM_USER_FILELIST "%caps(cap_sys_admin+p) ${SUNSHINE_EXECUTABLE_PATH}") + # Dependencies set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_DEBIAN_PACKAGE_DEPENDS "\ diff --git a/cmake/packaging/windows.cmake b/cmake/packaging/windows.cmake index 6795a791..77f3a893 100644 --- a/cmake/packaging/windows.cmake +++ b/cmake/packaging/windows.cmake @@ -39,9 +39,15 @@ install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/gamepad/" install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/" DESTINATION "${SUNSHINE_ASSETS_DIR}" COMPONENT assets) -# copy assets to build directory, for running without install + +# copy assets (excluding shaders) to build directory, for running without install file(COPY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/" - DESTINATION "${CMAKE_BINARY_DIR}/assets") + DESTINATION "${CMAKE_BINARY_DIR}/assets" + PATTERN "shaders" EXCLUDE) +# use junction for shaders directory +file(TO_NATIVE_PATH "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/shaders" shaders_in_build_src_native) +file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/assets/shaders" shaders_in_build_dest_native) +execute_process(COMMAND cmd.exe /c mklink /J "${shaders_in_build_dest_native}" "${shaders_in_build_src_native}") # set(CPACK_NSIS_MUI_HEADERIMAGE "") # TODO: image should be 150x57 bmp set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}\\\\apollo.ico") diff --git a/src_assets/common/assets/web/public/assets/locale/en_US.json b/src_assets/common/assets/web/public/assets/locale/en_US.json index 02b77f73..76cca247 100644 --- a/src_assets/common/assets/web/public/assets/locale/en_US.json +++ b/src_assets/common/assets/web/public/assets/locale/en_US.json @@ -164,7 +164,6 @@ "file_apps_desc": "The file where current apps of Apollo are stored.", "file_state": "State File", "file_state_desc": "The file where current state of Apollo is stored", - "fps": "Advertised FPS", "gamepad": "Emulated Gamepad Type", "gamepad_auto": "Automatic selection options", "gamepad_desc": "Choose which type of gamepad to emulate on the host", @@ -252,7 +251,7 @@ "origin_web_ui_allowed_lan": "Only those in LAN may access Web UI", "origin_web_ui_allowed_pc": "Only localhost may access Web UI", "origin_web_ui_allowed_wan": "Anyone may access Web UI", - "output_name_desc_unix": "During Apollo startup, you should see the list of detected displays. Note: You need to use the id value inside the parenthesis.", + "output_name_desc_unix": "During Apollo startup, you should see the list of detected displays when Headless Mode isn't enabled. Note: You need to use the id value inside the parenthesis. Below is an example; the actual output can be found in the Troubleshooting tab.", "output_name_desc_windows": "Manually specify a display to use for capture. If unset, the primary display is captured. Note: If you specified a GPU above, this display must be connected to that GPU. The appropriate values can be found using the following command:", "output_name_unix": "Display number", "output_name_windows": "Output Name", @@ -285,8 +284,6 @@ "qsv_preset_veryfast": "fastest (lowest quality)", "qsv_slow_hevc": "Allow Slow HEVC Encoding", "qsv_slow_hevc_desc": "This can enable HEVC encoding on older Intel GPUs, at the cost of higher GPU usage and worse performance.", - "res_fps_desc": "The display modes advertised by Apollo. Some versions of Moonlight, such as Moonlight-nx (Switch), rely on these lists to ensure that the requested resolutions and fps are supported. This setting does not change how the screen stream is sent to Moonlight.", - "resolutions": "Advertised Resolutions", "restart_note": "Apollo is restarting to apply changes.", "sunshine_name": "Apollo Name", "sunshine_name_desc": "The name displayed by Moonlight. If not specified, the PC's hostname is used",