Compare commits

...

2272 Commits

Author SHA1 Message Date
ReenigneArcher 88fbd5a398 build(docker): use cross compilation 2025-02-03 19:51:02 -05:00
ReenigneArcher 997093986d ci(docker): fix debian arm builds (#3627)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-02-03 03:48:56 +00:00
ReenigneArcher 6efc687036 fix(ui): properly handle boolean json responses (#3626)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-02-02 17:34:02 +00:00
LizardByte-bot a995e578fa chore: update global workflows (#3623)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
CodeQL / Get language matrix (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
2025-02-01 17:57:08 +00:00
ReenigneArcher 257a102127 fix(api): return proper json objects (#3544)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
localize / Update Localization (push) Has been cancelled
2025-01-31 23:38:22 -05:00
VMFortress 5b36357133 feat(display): Add revert display config on disconnect option (#3613)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-30 16:02:22 -05:00
dependabot[bot] ce28e36a47 build(deps): bump third-party/wayland-protocols from 6bcf87d to c7b582c (#3611)
build(deps): bump third-party/wayland-protocols

Bumps third-party/wayland-protocols from `6bcf87d` to `c7b582c`.

---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-30 14:05:30 -05:00
Lukas Senionis 23e131439f fix(video): allow encoder probing when there are no devices at all (#3594)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-27 12:19:47 -05:00
dependabot[bot] 24cce3a666 build(deps): bump third-party/libdisplaydevice from 2ac3386 to 53a0ea5 (#3597)
build(deps): bump third-party/libdisplaydevice

Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `2ac3386` to `53a0ea5`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/2ac338626c6f8aac0d64f48034ce605b3191ccac...53a0ea5317279406eaa2bb2cf441ae971ed5f692)

---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 08:37:18 -05:00
Lukas Senionis 0631472533 fix(video): prevent encoder probing with no active displays (#3592)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-26 18:21:15 -05:00
ReenigneArcher a5c791658e build(deps): bump wayland-protocols from 1.38 to 1.39 (#3482)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-24 16:37:17 -05:00
ReenigneArcher a513acc16b ci(packaging): fix flatpak metainfo (#3588)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-24 15:36:50 +00:00
Cody Maness 64544e7960 fix(httpcommon): sonarqube warning cleanup (#3558)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2025-01-22 09:16:14 -05:00
LizardByte-bot 2a31ee5422 chore(l10n): update translations (#3563)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-22 02:45:44 +00:00
dependabot[bot] 8263d8976f build(deps): bump packaging/linux/flatpak/deps/shared-modules from f5d368a to 26def5f (#3568)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `f5d368a` to `26def5f`.
- [Commits](https://github.com/flathub/shared-modules/compare/f5d368a31d6ef046eb2955c74ec6f54f32ed5c4e...26def5f1d263653f9b9f93399ca9c6f2118964f5)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 20:38:20 -05:00
ReenigneArcher eb6916ef34 fix(web-ui): fix new version notification conditions (#3577)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-22 00:46:04 +00:00
dependabot[bot] 5af21bde88 build(deps): bump third-party/tray from e80058b to d45306e (#3574)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `e80058b` to `d45306e`.
- [Commits](https://github.com/LizardByte/tray/compare/e80058b9a9f3a1574775a57b6eb9159aa3299bf5...d45306e686c90a18f5792a1541783d7bc8555bc6)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 09:15:26 -05:00
dependabot[bot] 31866fde35 build(deps): bump third-party/libdisplaydevice from 63599b0 to 1975f75 (#3576)
build(deps): bump third-party/libdisplaydevice

Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `63599b0` to `1975f75`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/63599b07659a5d1dd554a24bd0c8e96b21e21112...1975f75add5812afa1ec82b1553c9d830757687a)

---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 09:14:58 -05:00
dependabot[bot] 299b12347f build(deps): bump third-party/doxyconfig from 4c94524 to 4501c7b (#3573)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `4c94524` to `4501c7b`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/4c9452482bd01cb36764dc914d4537b278ad4218...4501c7b191170cd2adcc12336821b65449186d85)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 05:06:24 +00:00
LizardByte-bot 2ac87fdc36 chore: update global workflows (#3570) 2025-01-21 02:30:06 +00:00
dependabot[bot] a88c01f3b8 build(deps): bump third-party/tray from ebbd14f to e80058b (#3567)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `ebbd14f` to `e80058b`.
- [Commits](https://github.com/LizardByte/tray/compare/ebbd14fe6af30e61ddbb710251f612d32e371d98...e80058b9a9f3a1574775a57b6eb9159aa3299bf5)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 20:19:36 -05:00
ReenigneArcher f5b923c406 fix(flatpak): fix broken desktop file, icons, and service (#3561)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
localize / Update Localization (push) Has been cancelled
2025-01-21 00:15:23 +00:00
ReenigneArcher 3048e6fe20 docs(guides): fix blog url (#3564)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-20 04:35:57 +00:00
ReenigneArcher c2420427b1 style: adjust clang-format rules (#2186)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2025-01-19 22:34:47 -05:00
ReenigneArcher f57aee9025 build(linux)!: remove legacy input option (#3562)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-19 12:18:08 -05:00
ReenigneArcher 26566cc04d test(fixtures): move certificate fixtures to source code (#3554)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-18 15:18:40 +00:00
ABeltramo 89f097ae65 Merge commit from fork
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
localize / Update Localization (push) Has been cancelled
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: Cameron Gutman <2695644+cgutman@users.noreply.github.com>
2025-01-17 23:17:13 -05:00
dependabot[bot] 80fa04c330 build(deps): bump packaging/linux/flatpak/deps/shared-modules from f1ad050 to f5d368a (#3549)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `f1ad050` to `f5d368a`.
- [Commits](https://github.com/flathub/shared-modules/compare/f1ad0508ead33d03b0c51d9318d3c3b63341056e...f5d368a31d6ef046eb2955c74ec6f54f32ed5c4e)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-17 23:07:15 -05:00
LizardByte-bot 9d3a3826c7 chore: update global workflows (#3551) 2025-01-17 20:01:50 -05:00
Lukas Senionis bc22cca59b feat(tray): add button to reset display device settings on Windows (#3546)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-17 11:45:50 -05:00
Lukas Senionis 1c2d7ec830 fix(checkbox): inverse global prep values for apps (#3547)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-17 08:24:49 -05:00
Lukas Senionis fb557df270 feat(display): retry reverting configuration only if device was added or removed (#3539)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-16 20:00:37 -05:00
Lukas Senionis 7f0351d125 fix(cmake/windows): static link MinHook (#3537)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-15 19:00:29 +00:00
LizardByte-bot d4052dc72c chore(l10n): update translations (#3535) 2025-01-15 15:43:12 +00:00
LizardByte-bot f4d937c0a6 chore: update global workflows (#3536) 2025-01-15 14:26:20 +00:00
ReenigneArcher 53b9be1001 build(cmake): check for MinHook during configure (#3533)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
Co-authored-by: Lukas Senionis <22381748+FrogTheFrog@users.noreply.github.com>
2025-01-15 08:25:10 -05:00
ReenigneArcher 820180c9e7 docs(hrefs): update readthedocs hrefs (#3476)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-13 22:34:54 -05:00
LizardByte-bot a7f64118a8 chore(l10n): update translations (#3519) 2025-01-13 20:54:13 -05:00
dependabot[bot] 1f2b541df6 build(deps): bump packaging/linux/flatpak/deps/shared-modules from a4889f0 to f1ad050 (#3532)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a4889f0` to `f1ad050`.
- [Commits](https://github.com/flathub/shared-modules/compare/a4889f0b3091149252023ee49c97653b8e628f94...f1ad0508ead33d03b0c51d9318d3c3b63341056e)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-13 08:32:13 -05:00
Cameron Gutman 8392bdc98f feat(capture/windows): hook APIs to avoid output reparenting that breaks DDA (#3530)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
* Revert "feat(ddprobe): allow to manually specify gpu preference (#3521)"

This reverts commit 6a233cbcbf.

* Keep display revert delay input type change from 6a233cbcb

* Remove ddprobe

* feat(capture/windows): hook APIs to avoid output reparenting that breaks DDA
2025-01-12 17:11:03 -06:00
Cameron Gutman c369e8e5b6 fix(capture/windows): fix capture when using the basic render driver (#3531)
* fix(capture/windows): fix capture when using the basic render driver

* chore(tests): remove now unnecessary TESTS_SOFTWARE_ENCODER_UNAVAILABLE option
2025-01-12 16:05:18 -06:00
Lukas Senionis 1b94e9339a feat(display): add display mode remapping option (#3529)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2025-01-12 14:14:20 -05:00
ReenigneArcher 012a99c26d chore: random cleanup (#3526)
* chore: fix doxygen command typo

* docs(app_examples): add note about built in resolution changing on Windows

* docs(app_examples): update qres example

* docs(readme): improve heading appearance

* docs(readme): update minimum Fedora version

* docs(app_examples): fix qres ref

* docs(app_examples): use env variables for displayplacer

* docs(app_examples): update nvidia-settings examples

* Update dev.lizardbyte.app.Sunshine.metainfo.xml

* docs(guides): redirect community guides to blog

* docs(website): increase avatar padding
2025-01-12 08:44:54 -05:00
ReenigneArcher 40ac718691 fix(confighttp): do not return 200 on errors (#3385)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
Co-authored-by: Lukas Senionis <22381748+FrogTheFrog@users.noreply.github.com>
2025-01-10 15:12:52 -05:00
dependabot[bot] 80ecf19d40 build(deps): bump vue-i18n from 9.14.0 to 11.0.1 (#3489)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 9.14.0 to 11.0.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.0.1/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-10 04:58:57 +00:00
Lukas Senionis 6a233cbcbf feat(ddprobe): allow to manually specify gpu preference (#3521)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / prep (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
Build GH-Pages / call-jekyll-build (push) Has been cancelled
2025-01-08 18:44:11 -05:00
LizardByte-bot 9b9767be0c chore(l10n): update translations (#3512)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2025-01-08 03:33:07 +00:00
Lukas Senionis 76bea8acb9 feat(display): Configure display device based on user config (#3441)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
localize / Update Localization (push) Waiting to run
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-07 20:40:48 -05:00
ReenigneArcher df0bc3f82f build(packaging/macos)!: remove macports support (#3506) 2025-01-08 00:18:34 +00:00
ReenigneArcher b662b8e7c2 docs(gh-pages): migrate site to jekyll format (#3517)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (13, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / prep (push) Waiting to run
Build GH-Pages / call-jekyll-build (push) Blocked by required conditions
2025-01-06 21:50:26 -05:00
Lukas Senionis 2e5c291233 feat(web-ui): replace dropdown menus with checkboxes (#3455)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
Build GH-Pages / update_pages (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (13, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
2025-01-05 14:43:45 -05:00
Lukas Senionis 65878af8ea fix(docs): use ucrt64 doxygen for msys2 (#3514)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
Build GH-Pages / update_pages (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (13, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
2025-01-04 08:57:03 -05:00
Cameron Gutman 151ff8f2b9 fix(capture/macos): fix implicit conversion of NSArray (#3502)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (13, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / update_pages (push) Waiting to run
localize / Update Localization (push) Has been cancelled
2025-01-03 18:01:24 -05:00
LizardByte-bot d50611c79b chore(l10n): update translations (#3473)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
localize / Update Localization (push) Has been cancelled
Build GH-Pages / update_pages (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (13, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
2025-01-01 22:23:11 -05:00
dependabot[bot] bb79557a25 build(deps): bump the lizardbyte-actions group across 1 directory with 2 updates (#3504)
Bumps the lizardbyte-actions group with 2 updates in the / directory: [LizardByte/setup-release-action](https://github.com/lizardbyte/setup-release-action) and [LizardByte/create-release-action](https://github.com/lizardbyte/create-release-action).


Updates `LizardByte/setup-release-action` from 2024.919.143601 to 2025.102.14715
- [Release notes](https://github.com/lizardbyte/setup-release-action/releases)
- [Commits](https://github.com/lizardbyte/setup-release-action/compare/v2024.919.143601...v2025.102.14715)

Updates `LizardByte/create-release-action` from 2024.919.143026 to 2025.102.13208
- [Release notes](https://github.com/lizardbyte/create-release-action/releases)
- [Commits](https://github.com/lizardbyte/create-release-action/compare/v2024.919.143026...v2025.102.13208)

---
updated-dependencies:
- dependency-name: LizardByte/setup-release-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: lizardbyte-actions
- dependency-name: LizardByte/create-release-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: lizardbyte-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 21:23:20 -05:00
Gurubase.io 5793ff74eb docs: Introducing Sunshine Guru on Gurubase.io (#3466)
CI / GitHub Env Debug (push) Waiting to run
CI / Setup Release (push) Waiting to run
CI / Setup Flatpak Matrix (push) Waiting to run
CI / Linux Flatpak (push) Blocked by required conditions
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Blocked by required conditions
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (13, true) (push) Blocked by required conditions
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Blocked by required conditions
CI / Windows (push) Blocked by required conditions
CI Docker / Check Dockerfiles (push) Waiting to run
CI Docker / Setup Release (push) Blocked by required conditions
CI Docker / Docker${{ matrix.tag }} (push) Blocked by required conditions
CodeQL / Get language matrix (push) Waiting to run
CodeQL / Analyze (${{ matrix.name }}) (push) Blocked by required conditions
Build GH-Pages / update_pages (push) Waiting to run
Signed-off-by: Gurubase.io <social@gurubase.io>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2025-01-01 16:05:56 -05:00
iMakeSoftware 3b81d0fd19 fix(shaders/directx): replace modulus with bitwise operator (#3499)
CI / GitHub Env Debug (push) Has been cancelled
CI / Setup Release (push) Has been cancelled
CI / Setup Flatpak Matrix (push) Has been cancelled
CI Docker / Check Dockerfiles (push) Has been cancelled
CodeQL / Get language matrix (push) Has been cancelled
Build GH-Pages / update_pages (push) Has been cancelled
CI / Linux Flatpak (push) Has been cancelled
CI / Linux ${{ matrix.type }} (--appimage-build, 22.04, AppImage) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 13) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (macos, 14) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest) (push) Has been cancelled
CI / Homebrew (${{ matrix.os_name }}-${{ matrix.os_version }}${{ matrix.release == true && ' (Release)' || '' }}) (ubuntu, latest, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (13, true) (push) Has been cancelled
CI / Macports (macOS-${{ matrix.os_version }}) (14) (push) Has been cancelled
CI / Windows (push) Has been cancelled
CI Docker / Setup Release (push) Has been cancelled
CI Docker / Docker${{ matrix.tag }} (push) Has been cancelled
CodeQL / Analyze (${{ matrix.name }}) (push) Has been cancelled
2024-12-30 15:02:48 -05:00
ReenigneArcher 3e47cd3cc8 fix(ui): remove extra slash in logs href (#3493) 2024-12-26 23:36:19 -05:00
Petr Hanák 2b6a453174 chore(installer/windows): remove parentheses in Virtual Gamepad removal prompt (#3490) 2024-12-26 20:45:13 -05:00
dependabot[bot] a4a1bc48cd build(deps): bump third-party/build-deps from b89442e to 249a313 (#3479)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `b89442e` to `249a313`.
- [Commits](https://github.com/LizardByte/build-deps/compare/b89442e43ddbddda19daf6a67ad70bbf5de81f1d...249a31384468c3b01e06a58a1a39b12a292f2f86)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-23 18:03:44 -05:00
TheElixZammuto 60bfcfe211 fix(nvenc): Enable opt-in client refresh by client (#3415) 2024-12-23 17:07:38 -05:00
ReenigneArcher 129abd8c26 docs(doxygen): remove INCLUDE_PATH from config (#3475) 2024-12-22 00:08:51 +00:00
dependabot[bot] 85c3114bf6 build(deps): bump vue from 3.5.12 to 3.5.13 (#3407)
Bumps [vue](https://github.com/vuejs/core) from 3.5.12 to 3.5.13.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.12...v3.5.13)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-21 19:26:16 +00:00
ReenigneArcher 6cd0cd9e91 build(copr): fix build (#3458)
Co-authored-by: Matthew Schwartz <matthew.schwartz@linux.dev>
2024-12-21 18:39:15 +00:00
ReenigneArcher e47aa9ff37 build(docker): fix docker artifacts (#3472) 2024-12-21 12:53:14 -05:00
dependabot[bot] 364ef93801 build(deps): bump packaging/linux/flatpak/deps/shared-modules from 0529b12 to a4889f0 (#3465)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `0529b12` to `a4889f0`.
- [Commits](https://github.com/flathub/shared-modules/compare/0529b121864669aa14fac1c67b5684a4bc6542b8...a4889f0b3091149252023ee49c97653b8e628f94)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 11:11:29 -05:00
dependabot[bot] 43fab08c6a build(deps): bump third-party/libdisplaydevice from bbcd179 to 2c431bc (#3461)
build(deps): bump third-party/libdisplaydevice

Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `bbcd179` to `2c431bc`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/bbcd179c475eeccf1928b1249da2b663efefc949...2c431bce2981ebb4b6c116c7e11372a045596b70)

---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 08:56:29 -05:00
dependabot[bot] e00c45865b build(deps): bump third-party/build-deps from a558c92 to b89442e (#3460)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `a558c92` to `b89442e`.
- [Commits](https://github.com/LizardByte/build-deps/compare/a558c922d083ec543c713ad302f9d9592c68b452...b89442e43ddbddda19daf6a67ad70bbf5de81f1d)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-17 10:42:37 -05:00
ReenigneArcher 1e2fc2eb10 build(deps): fix boost 1.87 compatibility (#3457) 2024-12-17 08:53:55 -05:00
ReenigneArcher e062484b46 chore(l10n): update translations (#3443) 2024-12-14 15:27:03 +00:00
Lukas Senionis 1543f584ab feat(display)!: Add libdisplaydevice dependency and output name mapping (#2894) 2024-12-11 14:17:44 -05:00
ReenigneArcher 0cc98f113e docs: various updates (#3366)
Co-authored-by: BillyTom <953688+billytom@users.noreply.github.com>
2024-12-11 13:11:54 -05:00
dependabot[bot] f73eb88ba9 build(deps): bump codecov/codecov-action from 4 to 5 (#3399)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-07 23:10:26 -05:00
ReenigneArcher 706e37719f chore(l10n): update translations (#3408) 2024-12-08 03:21:38 +00:00
LizardByte-bot 5c3bad945a chore: update global workflows (#3434) 2024-12-08 02:14:52 +00:00
dependabot[bot] 0bc3130edf build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from 6f611f1 to a1eb29c (#3432)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `6f611f1` to `a1eb29c`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/6f611f108b1bfeff57dbeb93d34254cd541aeeb7...a1eb29c5f3038413ffafd4fea34e62c361c109ad)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-06 08:31:01 -05:00
dependabot[bot] af8ef237ad build(deps): bump third-party/build-deps from ccac368 to a558c92 (#3429)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `ccac368` to `a558c92`.
- [Commits](https://github.com/LizardByte/build-deps/compare/ccac36854da7697ee3beae0c1d46bb1137403b2e...a558c922d083ec543c713ad302f9d9592c68b452)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 17:05:34 +00:00
MeeSong 8d2e322e1a fix(cmake): configuration generation fails when BUILD_TESTS is OFF (#3416) 2024-11-27 00:05:51 +00:00
dependabot[bot] d5854ae224 build(deps): bump third-party/inputtino from 5d4b8b2 to 8065aeb (#3401)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `5d4b8b2` to `8065aeb`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/5d4b8b23f036eee7b36854523f8b41af6b33667e...8065aeb46e5e5980e700d9c1f1be3c4f7ec29630)

---
updated-dependencies:
- dependency-name: third-party/inputtino
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 09:35:56 -05:00
dependabot[bot] ad7f356aa1 build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from 9a48b5e to 6f611f1 (#3390)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools

Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9a48b5e` to `6f611f1`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9a48b5e30a53715f1e71a5b804ff99fa46c430a3...6f611f108b1bfeff57dbeb93d34254cd541aeeb7)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 04:08:18 +00:00
dependabot[bot] 9abba8048a build(deps): bump LizardByte/homebrew-release-action from 2024.1105.185654 to 2024.1115.14934 in the lizardbyte-actions group (#3400)
* build(deps): bump LizardByte/homebrew-release-action

Bumps the lizardbyte-actions group with 1 update: [LizardByte/homebrew-release-action](https://github.com/lizardbyte/homebrew-release-action).


Updates `LizardByte/homebrew-release-action` from 2024.1105.185654 to 2024.1115.14934
- [Release notes](https://github.com/lizardbyte/homebrew-release-action/releases)
- [Commits](https://github.com/lizardbyte/homebrew-release-action/compare/v2024.1105.185654...v2024.1115.14934)

---
updated-dependencies:
- dependency-name: LizardByte/homebrew-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lizardbyte-actions
...

Signed-off-by: dependabot[bot] <support@github.com>

* docs(homebrew): update brew installation steps

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-11-15 02:52:30 +00:00
ReenigneArcher d1e7865f31 build(macos): fix libcurl linking (#3383) 2024-11-09 21:02:03 +00:00
Cameron Gutman fb1f5b5a89 fix(hostname): fix handling of non-ASCII hostnames on Windows (#3382) 2024-11-09 14:05:46 -06:00
dependabot[bot] d552073eaf build(deps): bump packaging/linux/flatpak/deps/shared-modules from 4bfaef5 to 0529b12 (#3352)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `4bfaef5` to `0529b12`.
- [Commits](https://github.com/flathub/shared-modules/compare/4bfaef549f8b20accacb498fec5da7ad7f6af50f...0529b121864669aa14fac1c67b5684a4bc6542b8)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-09 05:00:46 +00:00
ReenigneArcher c40ac8dce9 chore(l10n): update translations (#3355) 2024-11-09 04:05:05 +00:00
Cameron Gutman 1cab1a5a1e fix(process): avoid leaking zombies and fds in detached processes (#3379) 2024-11-07 22:15:33 -06:00
Cameron Gutman 54ddf37584 fix(rtsp): fix RTSP timeout after quitting an app (#3376)
* fix(rtsp): fix RTSP timeout after quitting an app

* fix(process): ignore failures when terminating the process group
2024-11-06 22:57:27 -06:00
dependabot[bot] 738a079eb6 build(deps): bump third-party/doxyconfig from 0278e84 to 4c94524 (#3373)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `0278e84` to `4c94524`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/0278e846779760114394471a0bffc2d53a43e837...4c9452482bd01cb36764dc914d4537b278ad4218)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-07 00:57:38 +00:00
dependabot[bot] 410f8c2e70 build(deps): bump LizardByte/homebrew-release-action from 2024.919.145818 to 2024.1105.185654 in the lizardbyte-actions group (#3375)
build(deps): bump LizardByte/homebrew-release-action

Bumps the lizardbyte-actions group with 1 update: [LizardByte/homebrew-release-action](https://github.com/lizardbyte/homebrew-release-action).


Updates `LizardByte/homebrew-release-action` from 2024.919.145818 to 2024.1105.185654
- [Release notes](https://github.com/lizardbyte/homebrew-release-action/releases)
- [Commits](https://github.com/lizardbyte/homebrew-release-action/compare/v2024.919.145818...v2024.1105.185654)

---
updated-dependencies:
- dependency-name: LizardByte/homebrew-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: lizardbyte-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 08:46:34 -05:00
Ryan 740bbb6609 docs(readme): use official winget badge (#3374) 2024-11-05 14:05:22 +00:00
dependabot[bot] 4973448988 build(deps): bump third-party/doxyconfig from 4c05198 to 0278e84 (#3370)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `4c05198` to `0278e84`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/4c051982c1523f88fbbdb69d44af2ea384dc7052...0278e846779760114394471a0bffc2d53a43e837)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 08:29:57 -05:00
ReenigneArcher fc5314b1b6 build(docs): revert parallelize generation of dot graphs (#3367)
Revert "build(docs): parallelize generation of dot graphs (#3361)"

This reverts commit 39bab450de.
2024-11-03 19:22:06 +00:00
LizardByte-bot dbf4fa218a chore: update global workflows (#3362) 2024-11-03 15:08:58 +00:00
Kelvie Wong 2ab73869f6 docs(troubleshooting): Remove workaround for "blur" plugin in KDE (#3363) 2024-11-03 14:08:07 +00:00
Cathy J. Fitzpatrick 39bab450de build(docs): parallelize generation of dot graphs (#3361) 2024-11-02 19:00:04 +00:00
Cathy J. Fitzpatrick a06d4aefa6 fix(macos): prevent indefinite hanging if screen capture is not granted (#3360) 2024-11-02 17:05:56 +00:00
Cathy J. Fitzpatrick c54664bbe0 build(vite): fix assets directories with symlinks present (#3359) 2024-11-02 16:03:11 +00:00
Davide Marcoli 03253fc114 docs: fix typo in docker url (#3356) 2024-11-01 20:42:49 +00:00
Cameron Gutman 9e52ac426d feat(vaapi): add option to enable strict enforcement of frame size (#3332)
* feat(vaapi): add option to enable strict enforcement of frame size

* Eliminate the QP fallback code that was only required for VAAPI
2024-11-01 12:36:25 -05:00
doubleyoustew 9662f0547f fix(homebrew): codesign binary only on Intel macOS (#3348) 2024-11-01 14:41:59 +00:00
ReenigneArcher f418566b31 chore: remove mee6 (#3350) 2024-10-31 23:52:35 +00:00
ReenigneArcher ec0cdcf0fa docs(api): improve api documentation (#3343) 2024-10-30 20:34:18 +00:00
ReenigneArcher d8fbe2d709 build(deps): update dependency and paths for build-deps submodule (#3341) 2024-10-30 14:06:06 +00:00
Cameron Gutman ca40cfd268 fix(openssl): fix build with OPENSSL_NO_DEPRECATED (#3339) 2024-10-29 19:03:37 -05:00
Cameron Gutman 79ada18b49 fix(nvenc): disable filler data in AV1 bitstream (#3336) 2024-10-28 23:54:50 -05:00
Kelvie Wong 8810c5ccdd docs(troubleshooting): Add workaround for "blur" plugin in KDE (#3328) 2024-10-25 01:26:35 +00:00
Cameron Gutman 73d777fa0b feat(stream)!: remove limit on concurrent sessions and allow quitting apps with active sessions (#3325) 2024-10-24 19:11:50 -05:00
dependabot[bot] d2be83fe20 build(deps): bump packaging/linux/flatpak/deps/shared-modules from 9ad0965 to 4bfaef5 (#3320)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `9ad0965` to `4bfaef5`.
- [Commits](https://github.com/flathub/shared-modules/compare/9ad0965214b9433e7e462417323a54154d37beeb...4bfaef549f8b20accacb498fec5da7ad7f6af50f)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-21 15:30:31 +00:00
dependabot[bot] d1edd35be2 build(deps): bump third-party/moonlight-common-c from dff1690 to d3d3e6c (#3321)
build(deps): bump third-party/moonlight-common-c

Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `dff1690` to `d3d3e6c`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/dff1690fe1fe603056ce9b6019f7c52063053f36...d3d3e6cf015cd032ce02718246b52aabd1e12294)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-21 13:12:55 +00:00
dependabot[bot] 1c2123650f build(deps): bump third-party/build-deps from 5ae7ebd to edbc8c9 (#3318)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `5ae7ebd` to `edbc8c9`.
- [Commits](https://github.com/LizardByte/build-deps/compare/5ae7ebdf07168dd824eab36e9e3eeb8a49aa24d8...edbc8c92611cdd51904f778df5e26c4de0d3fdd4)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-20 15:40:20 +00:00
ReenigneArcher de0d633089 chore(l10n): update translations (#3198) 2024-10-20 03:05:18 +00:00
ReenigneArcher 60cf24225f chore(various): tedious updates (#3316) 2024-10-19 21:59:15 -04:00
Degot a3ba700522 fix: Reverse Proxy support (#3173) 2024-10-18 22:49:34 -04:00
Caveat fc78f5a4e0 docs: improve flatpak start commands (#3264) 2024-10-19 00:48:14 +00:00
A Literal Midwestern Rodent d80fe79f81 docs(guides): add autostart guide (#3287)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-10-16 20:57:23 +00:00
dependabot[bot] f429d34ef5 build(deps): bump third-party/moonlight-common-c from 8599b60 to dff1690 (#3313)
build(deps): bump third-party/moonlight-common-c

Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `8599b60` to `dff1690`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/8599b6042a4ba27749b0f94134dd614b4328a9bc...dff1690fe1fe603056ce9b6019f7c52063053f36)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 14:10:11 +00:00
dependabot[bot] 95a6e8ba50 build(deps): bump third-party/build-deps from 8c7caa1 to 5ae7ebd (#3312)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `8c7caa1` to `5ae7ebd`.
- [Commits](https://github.com/LizardByte/build-deps/compare/8c7caa1f7105d60eb7c041b642f1363f481a1f93...5ae7ebdf07168dd824eab36e9e3eeb8a49aa24d8)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 08:52:45 -04:00
Cameron Gutman 6fa6a7d515 build(deps): remove unused dependency on libvdpau (#3307) 2024-10-14 23:15:53 -05:00
Cameron Gutman bd2e1dc8c0 fix(video): encode at least one frame before capture reinit (#3300) 2024-10-14 20:34:22 -05:00
ReenigneArcher 7352e7277a build(linux): fail build if capture dependencies not found (#3305) 2024-10-14 22:28:55 +00:00
dependabot[bot] 67ab6e3c79 build(deps): bump third-party/wlr-protocols from 2b8d433 to ffb89ac (#3278)
Bumps third-party/wlr-protocols from `2b8d433` to `ffb89ac`.

---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-14 17:47:47 +00:00
dependabot[bot] 63dbf72ad6 build(deps): bump third-party/wayland-protocols from df2b5e5 to 9ac1a09 (#3302)
build(deps): bump third-party/wayland-protocols

Bumps third-party/wayland-protocols from `df2b5e5` to `9ac1a09`.

---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-14 16:30:10 +00:00
dependabot[bot] 53bbe3fc55 build(deps): bump vue from 3.5.11 to 3.5.12 (#3301)
Bumps [vue](https://github.com/vuejs/core) from 3.5.11 to 3.5.12.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.11...v3.5.12)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-14 08:53:34 -04:00
Andy Grundman 3744c43ea7 fix(audio/windows): don't set virtual speakers higher than 24-bit mode (#3294)
Windows: don't try to set Steam speakers to 32-bit mode to avoid clobbering spatial audio settings
2024-10-14 01:36:27 +00:00
Cameron Gutman 5b435fd0c1 fix(display): fix logic to remember ddprobe already ran (#3293) 2024-10-13 18:04:52 -05:00
ReenigneArcher 1d80d3946e revert: "ci(windows): pin gcovr to < 8.0" (#3283)
Revert "ci(windows): pin gcovr to < 8.0 (#3277)"

This reverts commit d3ad63654a.
2024-10-13 18:54:15 +00:00
ReenigneArcher 593883a13f ci(coverage): simplify gcovr exclusions (#3299) 2024-10-13 11:18:17 -04:00
ReenigneArcher 25ed2d5b4a build(homebrew): fix boost linking (#3296) 2024-10-12 17:08:38 +00:00
ReenigneArcher 50261bf5ee build(flatpak): migrate to libayatanna-appindicator (#3295) 2024-10-12 11:35:25 -04:00
ReenigneArcher 7dd836dab6 build(deps): bump third party/build-deps from 1977d9c to 8c7caa1 (#3292)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-10-11 23:59:05 -04:00
Cameron Gutman e0743169be build(mingw): work around broken windows.foundation.h (#3291) 2024-10-11 22:33:33 -04:00
ReenigneArcher ee8cd11983 docs(doxygen): remove include dir (#3286) 2024-10-10 20:48:29 -04:00
ReenigneArcher d378c18a81 ci(copr): use copr-ci workflow (#3276) 2024-10-09 13:07:59 -04:00
ReenigneArcher d3ad63654a ci(windows): pin gcovr to < 8.0 (#3277) 2024-10-08 22:25:59 -04:00
dependabot[bot] dff1cd48d4 build(deps): bump third-party/doxyconfig from 5fcfd9a to 4c05198 (#3269)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `5fcfd9a` to `4c05198`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/5fcfd9a3d2ed90f3197268d9668f5c6c408ddc72...4c051982c1523f88fbbdb69d44af2ea384dc7052)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 17:41:14 -04:00
dependabot[bot] b553f68d0f build(deps): bump vue from 3.5.3 to 3.5.11 (#3257)
Bumps [vue](https://github.com/vuejs/core) from 3.5.3 to 3.5.11.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.3...v3.5.11)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 05:07:56 +00:00
dependabot[bot] 4c20355f04 build(deps): bump @lizardbyte/shared-web from 2024.901.195233 to 2024.921.191855 (#3217)
build(deps): bump @lizardbyte/shared-web

Bumps [@lizardbyte/shared-web](https://github.com/LizardByte/shared-web) from 2024.901.195233 to 2024.921.191855.
- [Commits](https://github.com/LizardByte/shared-web/commits)

---
updated-dependencies:
- dependency-name: "@lizardbyte/shared-web"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 03:38:44 +00:00
dependabot[bot] 319a92a582 build(deps): bump packaging/linux/flatpak/deps/shared-modules from a4a03d7 to 9ad0965 (#3258)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a4a03d7` to `9ad0965`.
- [Commits](https://github.com/flathub/shared-modules/compare/a4a03d755258d0d242bfec259b559c673abbafb3...9ad0965214b9433e7e462417323a54154d37beeb)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 02:35:27 +00:00
ReenigneArcher 11975274a3 chore(github): update issue template (#3260) 2024-10-07 01:29:53 +00:00
Cameron Gutman 011a872c88 build(deps): update to FFmpeg 7.1 (#3263) 2024-10-06 19:15:53 -05:00
ReenigneArcher 756d2e19b2 build(fedora): fix version variables and skip post on rpm-ostree (#3265) 2024-10-06 23:09:20 +00:00
ReenigneArcher 15b91a1ad4 build(fedora)!: add copr build (#3239) 2024-10-06 18:41:21 +00:00
ReenigneArcher 0107ca44d7 ci(flatpak): sync with flathub (#3259) 2024-10-05 01:47:04 +00:00
Lukas Senionis e90b71ce62 fix(boost)!: migrate boost to 1.86 (#3256) 2024-10-03 21:42:16 -04:00
ReenigneArcher 2c050d1cb0 ci(homebrew): don't update tap for forks (#3255) 2024-10-03 17:54:42 +00:00
ReenigneArcher 024bd8f8b6 ci(codeql): migrate builds to ninja (#3250) 2024-10-02 01:12:40 +00:00
ReenigneArcher 9cc8bc8f62 build(deps): migrate from curl to curl-winssl on Windows (#3246) 2024-10-02 00:02:14 +00:00
ns6089 fa654c12ef fix(win/cmake): use cmake_path(CONVERT TO_NATIVE_PATH_LIST) (#3152)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-09-30 21:40:46 +00:00
ReenigneArcher fb712e30a0 fix(curl): use stronger SSL and TLS versions (#3241) 2024-09-29 23:48:10 +00:00
ReenigneArcher 1839d59492 feat(apps): order apps alphabetically (#3223) 2024-09-29 18:25:23 -04:00
ReenigneArcher 434b7e06ce chore(macos)!: drop monterey support (#3236) 2024-09-29 21:37:57 +00:00
Chase Payne fceda35d44 fix: automatic selection for hybrid GPU and IDDSampleDriver users (#3002)
* Fix frame capture and output duplication for dual GPU setups and virtual displays

- Added `test_frame_capture` function to verify if frames are successfully captured and not empty.
- Fixes issues with virtual displays such as IDDSampleDriver when using more than one GPU.

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-09-29 20:32:34 +00:00
BayLee4 5bc32cdeb3 fix(macos): Touch input broken (#3240) 2024-09-29 15:59:20 +00:00
ReenigneArcher ec506bbb2f fix(web-ui): broken url (#3238) 2024-09-29 03:36:03 +00:00
ReenigneArcher b01ba38774 build(script): fix missing sudo for dnf group install (#3227) 2024-09-28 19:02:34 +00:00
ReenigneArcher 1071f13259 test(coverage): ignore _deps directory (#3233) 2024-09-28 04:56:39 +00:00
LizardByte-bot e03c598094 chore: update global workflows (#3228) 2024-09-28 03:49:47 +00:00
ReenigneArcher e10b24ae3f ci(windows): use boost from source (#3231) 2024-09-27 22:38:59 -04:00
ReenigneArcher 68eb8d2fbb ci(l10n): fix pr title for babel updates (#3216) 2024-09-21 21:03:53 -04:00
LizardByte-bot 60f5b10cee chore: update global workflows (#3210) 2024-09-21 00:50:31 -04:00
LizardByte-bot 79446feae3 chore: update global workflows (#3209) 2024-09-20 13:42:57 -04:00
dependabot[bot] 61f51501d0 build(deps): bump LizardByte/homebrew-release-action from 2024.809.31635 to 2024.919.145818 (#3207)
build(deps): bump LizardByte/homebrew-release-action

Bumps [LizardByte/homebrew-release-action](https://github.com/lizardbyte/homebrew-release-action) from 2024.809.31635 to 2024.919.145818.
- [Release notes](https://github.com/lizardbyte/homebrew-release-action/releases)
- [Commits](https://github.com/lizardbyte/homebrew-release-action/compare/v2024.809.31635...v2024.919.145818)

---
updated-dependencies:
- dependency-name: LizardByte/homebrew-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 10:53:10 -04:00
dependabot[bot] ea871d2135 build(deps): bump LizardByte/setup-release-action from 2024.801.192524 to 2024.919.143601 (#3206)
build(deps): bump LizardByte/setup-release-action

Bumps [LizardByte/setup-release-action](https://github.com/lizardbyte/setup-release-action) from 2024.801.192524 to 2024.919.143601.
- [Release notes](https://github.com/lizardbyte/setup-release-action/releases)
- [Commits](https://github.com/lizardbyte/setup-release-action/compare/v2024.801.192524...v2024.919.143601)

---
updated-dependencies:
- dependency-name: LizardByte/setup-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 09:37:44 -04:00
dependabot[bot] 6171c9fbad build(deps): bump LizardByte/create-release-action from 2024.614.221009 to 2024.919.143026 (#3204)
* build(deps): bump LizardByte/create-release-action

Bumps [LizardByte/create-release-action](https://github.com/lizardbyte/create-release-action) from 2024.614.221009 to 2024.919.143026.
- [Release notes](https://github.com/lizardbyte/create-release-action/releases)
- [Commits](https://github.com/lizardbyte/create-release-action/compare/v2024.614.221009...v2024.919.143026)

---
updated-dependencies:
- dependency-name: LizardByte/create-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: remove unused input

* fix: remove unused input

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-09-19 22:57:11 -04:00
Joe Mou 698df6884d build(cmake): Prioritize vendored includes over system-wide (#3182) 2024-09-16 19:31:44 -04:00
Joe Mou c63678ddcd fix(macos/packaging): MacPorts startupitem.executable path (#3183) 2024-09-14 18:19:09 -04:00
ReenigneArcher 6875fee479 chore(l10n): update translations (#3160) 2024-09-14 16:14:04 -04:00
ReenigneArcher c892026454 docs(configure): auto generate open urls (#3163) 2024-09-11 17:56:54 -04:00
dependabot[bot] 8098df6c38 build(deps): bump packaging/linux/flatpak/deps/shared-modules from d88a915 to a4a03d7 (#3167)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `d88a915` to `a4a03d7`.
- [Commits](https://github.com/flathub/shared-modules/compare/d88a9156b91eef64ecf1a313c868f1401c4bb39b...a4a03d755258d0d242bfec259b559c673abbafb3)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 08:33:25 -04:00
Cameron Gutman fd7e68457a Merge commit from fork
PR #2042 introduced another location for storing authorized clients
but did not correctly consider how the load/store logic should differ
for those places. One location (named_devices) could contain clients
which had not completed pairing, while the other (certs) had only
fully paired clients.

Despite differences in trust level of clients in each list, the logic
for loading/saving config treated them identically. The result is that
clients that had not successfully completed pairing would be treated
as fully paired after a state reload.

Fix this state confusion by consolidating to a single location for
authorized client state and ensuring it only contains information on
fully paired clients.
2024-09-09 19:13:54 -05:00
ReenigneArcher 330ab76fcf build(cmake): fix typo in publisher name variable (#3158) 2024-09-09 19:44:46 -04:00
dependabot[bot] 8c218b576e build(deps): bump vue from 3.5.2 to 3.5.3 (#3150)
Bumps [vue](https://github.com/vuejs/core) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.2...v3.5.3)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-08 19:56:25 -04:00
ReenigneArcher 49b2433301 ci(windows): fix typo in publisher name (#3154) 2024-09-07 15:43:42 +00:00
ReenigneArcher e33dea7e3e feat(web): use shared-web (#3116) 2024-09-06 17:31:00 -04:00
ReenigneArcher cdc2d1ba00 fix(ui-apps): update game db url (#3148) 2024-09-05 16:52:46 -04:00
dependabot[bot] 87f0c27aeb build(deps): bump vue from 3.4.38 to 3.5.2 (#3146)
Bumps [vue](https://github.com/vuejs/core) from 3.4.38 to 3.5.2.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.38...v3.5.2)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 13:01:38 -04:00
dependabot[bot] 972fbd2ffe build(deps): bump peter-evans/create-pull-request from 6 to 7 (#3128)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 11:51:08 -04:00
dependabot[bot] a0dfdedbb6 build(deps): bump third-party/wayland-protocols from 24e612f to 4878e02 (#3120)
build(deps): bump third-party/wayland-protocols

Bumps third-party/wayland-protocols from `24e612f` to `4878e02`.

---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 14:18:01 +00:00
ReenigneArcher 3dc267141a chore(l10n): update translations (#3106) 2024-09-05 09:00:34 -04:00
ReenigneArcher 08c706f6dc fix(gh-pages): update uno url (#3127) 2024-09-05 08:38:34 -04:00
Cameron Gutman 49319d7688 fix(win/input): use active keyboard layout for non-normalized key events (#3125) 2024-09-04 22:25:02 -05:00
dependabot[bot] dce250d62d build(deps): bump third-party/doxyconfig from 6d145da to 5fcfd9a (#3136)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `6d145da` to `5fcfd9a`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/6d145dab2ec1f387920036c7fffc1d08d52fe926...5fcfd9a3d2ed90f3197268d9668f5c6c408ddc72)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 14:23:33 -04:00
dependabot[bot] a87b44d37b build(deps): bump third-party/build-deps from d0a09a6 to a4fb39f (#3131)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `d0a09a6` to `a4fb39f`.
- [Commits](https://github.com/LizardByte/build-deps/compare/d0a09a69ce686869ddbc97067854dbd7ef993b90...a4fb39f22e63649d2ef30508644937e3d7a18aed)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 08:32:19 -04:00
ReenigneArcher d39a0a5fdd docs(metadata): update urls (#3124) 2024-09-02 21:29:35 -04:00
ns6089 7ce8547d6e fix(win/video): don't offload chroma subsampling math to texture sampler when downscaling (#3014)
* Don't use sampler math for chroma if downscaling

* Correct portrait rotation offsets
2024-09-02 19:02:05 -05:00
Gilles Schintgen 9d7e90ec2e docs(troubleshooting): update note on AMD lowlatencyenc (Linux) (#3117)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-09-01 14:20:29 -04:00
ReenigneArcher 697e877070 fix(linux): use correct value for AMD_DEBUG environment variable (#3115) 2024-09-01 09:01:03 -04:00
LizardByte-bot 0f40a092de chore: update global workflows (#3113)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-08-31 17:45:57 +00:00
ReenigneArcher f6659e6641 docs: add interactive table of contents (#3111) 2024-08-30 19:35:44 -04:00
LizardByte-bot b95309a244 chore: update global workflows (#3107) 2024-08-29 13:52:43 -04:00
ReenigneArcher 34054a20e1 chore(l10n): update translations (#3082) 2024-08-26 20:42:34 -04:00
Cameron Gutman 3976b63ee8 fix(win/input): fix false warnings about missing ViGEmBus (#3097) 2024-08-26 14:41:17 +00:00
Vithorio Polten 45265fb103 fix(macos/linux): import boost headers normally (#3096) 2024-08-26 09:27:23 -04:00
Cameron Gutman 88ce5077b0 fix(mdns): don't hardcode mDNS instance name (#3084) 2024-08-25 19:20:33 -04:00
Cameron Gutman f048510ef7 fix(nvhttp): wrap TLS socket to ensure graceful closure (#3077) 2024-08-25 17:52:48 -04:00
ReenigneArcher e15fd551b7 docs(readme): update backage url (#3091) 2024-08-25 10:58:23 -04:00
ReenigneArcher bf92fda969 fix(linux): enable lowlatency mode for AMD (#3088) 2024-08-25 10:50:51 -04:00
ReenigneArcher ddd67ce01d build(docker): update dockerfiles (#3085) 2024-08-24 22:39:48 -04:00
ReenigneArcher 6593fa5d61 feat: add publisher metadata (#3080) 2024-08-24 20:14:45 -04:00
dependabot[bot] c9f853dc09 build(deps): bump packaging/linux/flatpak/deps/shared-modules from 29a1c08 to d88a915 (#3074)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `29a1c08` to `d88a915`.
- [Commits](https://github.com/flathub/shared-modules/compare/29a1c08976b5f7085448fadc57362f9ef8d07129...d88a9156b91eef64ecf1a313c868f1401c4bb39b)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-23 09:17:48 -04:00
dependabot[bot] d86bff0bc5 build(deps): bump vue from 3.4.32 to 3.4.38 (#3019)
Bumps [vue](https://github.com/vuejs/core) from 3.4.32 to 3.4.38.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/v3.4.38/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.32...v3.4.38)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-22 22:03:06 -04:00
dependabot[bot] 1c82434345 build(deps): bump vue-i18n from 9.13.1 to 9.14.0 (#3046)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n) from 9.13.1 to 9.14.0.
- [Release notes](https://github.com/intlify/vue-i18n-next/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n-next/commits/v9.14.0/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-22 21:02:13 -04:00
ReenigneArcher 82ad648281 build(cmake): remove v prefix from version number (#3067) 2024-08-22 20:08:55 -04:00
ns6089 764ce03520 feat(tests): rework tests in numerous ways (#3059) 2024-08-22 16:48:24 -04:00
dependabot[bot] 3088823ffc build(deps): bump third-party/inputtino from f8f5a81 to 5d4b8b2 (#3053)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f8f5a81` to `5d4b8b2`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f8f5a814cb94b96bed936bc03d61af3ad53f7a0b...5d4b8b23f036eee7b36854523f8b41af6b33667e)

---
updated-dependencies:
- dependency-name: third-party/inputtino
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-22 14:11:02 -04:00
ns6089 0164be613e feat(cmake): use symlink/junction for shaders in build dir (#3013) 2024-08-22 09:14:33 -04:00
ReenigneArcher 0a6abb76ab fix(packaging/rpm): setcap with filelist (#3050) 2024-08-21 07:36:43 -04:00
ReenigneArcher 9d42b935ab chore(l10n): update translations (#2910) 2024-08-20 11:12:24 -04:00
ReenigneArcher 8d994b980f fix(packaging): use project version for cpack package version (#3051) 2024-08-20 10:09:50 -04:00
Cameron Gutman 17c4b26af0 fix(packaging): apply udev rules for uhid (#3041) 2024-08-19 09:29:49 -04:00
ns6089 170f4dd181 fix(win/qsv): skip unsupported 4:4:4 codecs (#3029) 2024-08-19 08:30:13 -04:00
dependabot[bot] 537e3e6935 build(deps): bump third-party/tray from d9f7e76 to ebbd14f (#3010)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `d9f7e76` to `ebbd14f`.
- [Commits](https://github.com/LizardByte/tray/compare/d9f7e768cd74390a3b7e68ceed6f9c1a05db9f08...ebbd14fe6af30e61ddbb710251f612d32e371d98)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-18 19:44:24 -04:00
dependabot[bot] c8d0d2b615 build(deps): bump babel from 2.15.0 to 2.16.0 (#2998)
Bumps [babel](https://github.com/python-babel/babel) from 2.15.0 to 2.16.0.
- [Release notes](https://github.com/python-babel/babel/releases)
- [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-babel/babel/compare/v2.15.0...v2.16.0)

---
updated-dependencies:
- dependency-name: babel
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-16 19:32:32 -04:00
ReenigneArcher 7c4c905f04 build(macos): fix error in macos-13 build (#3022)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2024-08-16 18:41:31 -04:00
ReenigneArcher 727ea9037e docs(docker): add ipc note (#3034) 2024-08-16 17:18:35 -04:00
ns6089 bfdfcebc80 feat(win/video): support native YUV 4:4:4 encoding (#2533) 2024-08-16 13:41:27 -04:00
ReenigneArcher e8c837f412 ci(crowdin): customize PR title (#3031) 2024-08-16 11:19:57 -04:00
Insanemal c246c78b13 fix(linux): ensure NvFBC capture works after multiple sessions (#3020) 2024-08-15 21:30:00 -04:00
ReenigneArcher a669b36c31 fix(build): update cuda compatibilities (#3018) 2024-08-15 18:16:19 -04:00
LizardByte-bot 299672795c chore: update global workflows (#3003) 2024-08-12 10:19:25 -04:00
ns6089 f9c885a414 fix(linux/audio): don't set pulseaudio buffer size (#2999) 2024-08-09 20:29:17 +00:00
dependabot[bot] 0e153cf292 build(deps): bump LizardByte/homebrew-release-action from 2024.612.21058 to 2024.809.31635 (#2992)
build(deps): bump LizardByte/homebrew-release-action

Bumps [LizardByte/homebrew-release-action](https://github.com/lizardbyte/homebrew-release-action) from 2024.612.21058 to 2024.809.31635.
- [Release notes](https://github.com/lizardbyte/homebrew-release-action/releases)
- [Commits](https://github.com/lizardbyte/homebrew-release-action/compare/v2024.612.21058...v2024.809.31635)

---
updated-dependencies:
- dependency-name: LizardByte/homebrew-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-09 03:57:30 +00:00
ReenigneArcher 0b8468ca3e feat(macos): add beta homebrew formula (#2990) 2024-08-08 21:17:15 -04:00
ns6089 b6b8e681cb fix: print encoder name to info log during creation (#2965) 2024-08-08 16:09:51 -04:00
ns6089 19250f13d6 tests(windows): prefer static libraries (#2939) 2024-08-08 17:39:30 +00:00
ns6089 6d91e680c5 feat(logging): include milliseconds timestamps (#2963) 2024-08-08 10:52:08 -04:00
ReenigneArcher 04df80ff6b feat!: drop advertised resolutions and fps (#2924) 2024-08-08 02:10:19 +00:00
Vithorio Polten 64083c1679 chore(issue-template): add Apple Silicon to GPUs (#2968)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-08-08 01:01:28 +00:00
dependabot[bot] 9bc09e9d39 build(deps): bump third-party/doxyconfig from 671b494 to 6d145da (#2979)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `671b494` to `6d145da`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/671b494f3cbe8597a36d81869a864dc9fff497f4...6d145dab2ec1f387920036c7fffc1d08d52fe926)

---
updated-dependencies:
- dependency-name: third-party/doxyconfig
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-08-07 23:07:51 +00:00
ReenigneArcher 4bd521bb43 docs: drop sphinx and use doxygen exclusively (#2932) 2024-08-05 18:44:17 +00:00
ns6089 adf068e44e fix(windows): properly break on the first matching DXGI output (#2962) 2024-08-04 22:40:28 +00:00
Lukas Senionis c6ed640daa build(linux): disable GCC 12 Wrestrict warning (#2925) 2024-08-04 02:11:38 +00:00
dependabot[bot] 7737d6f10a build(deps): bump LizardByte/setup-release-action from 2024.725.234618 to 2024.801.192524 (#2942)
build(deps): bump LizardByte/setup-release-action

Bumps [LizardByte/setup-release-action](https://github.com/lizardbyte/setup-release-action) from 2024.725.234618 to 2024.801.192524.
- [Release notes](https://github.com/lizardbyte/setup-release-action/releases)
- [Commits](https://github.com/lizardbyte/setup-release-action/compare/v2024.725.234618...v2024.801.192524)

---
updated-dependencies:
- dependency-name: LizardByte/setup-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-04 01:00:58 +00:00
ReenigneArcher 081fbe0e18 build(linux): add common build script (#2946) 2024-08-03 20:04:26 -04:00
ns6089 4fd6c66edb Handle CTRL_CLOSE_EVENT on Windows (#2952)
This allows us to terminate gracefully when console window is closed.
Mostly relevant for portable builds.
2024-08-03 21:21:10 +00:00
ReenigneArcher ecc7f2a521 build(linux): fix new lint errors (#2953) 2024-08-03 20:07:30 +00:00
ReenigneArcher 444ca98cbf build(cmake): set CMAKE_PROJECT_VERSION from PROJECT_VERSION (#2936) 2024-07-30 15:15:23 -04:00
LizardByte-bot 459c604803 chore: update global workflows (#2886) 2024-07-28 22:45:08 -04:00
dependabot[bot] 0009c63cc1 build(deps): bump furo from 2024.5.6 to 2024.7.18 (#2889)
Bumps [furo](https://github.com/pradyunsg/furo) from 2024.5.6 to 2024.7.18.
- [Release notes](https://github.com/pradyunsg/furo/releases)
- [Changelog](https://github.com/pradyunsg/furo/blob/main/docs/changelog.md)
- [Commits](https://github.com/pradyunsg/furo/compare/2024.05.06...2024.07.18)

---
updated-dependencies:
- dependency-name: furo
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-28 17:39:13 -04:00
dependabot[bot] 3d3a298734 build(deps): bump LizardByte/setup-release-action from 2024.717.220227 to 2024.725.234618 (#2917)
build(deps): bump LizardByte/setup-release-action

Bumps [LizardByte/setup-release-action](https://github.com/lizardbyte/setup-release-action) from 2024.717.220227 to 2024.725.234618.
- [Release notes](https://github.com/lizardbyte/setup-release-action/releases)
- [Commits](https://github.com/lizardbyte/setup-release-action/compare/v2024.717.220227...v2024.725.234618)

---
updated-dependencies:
- dependency-name: LizardByte/setup-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-28 17:38:39 -04:00
Gilles Schintgen 0b70d46bef fix(linux): add delay to service and improve troubleshooting docs (#2903)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-07-28 13:21:30 +00:00
ReenigneArcher 4afa0ee258 docs(source code): fix examples end alias (#2921) 2024-07-26 14:35:39 +00:00
Lukas Senionis 369158375f fix: remove logging::bracket "*_view" overloads (#2919) 2024-07-26 08:29:49 -04:00
ns6089 f4dda21248 Migrate audio pipeline to float from 16-bit integer (#2873)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-07-25 21:01:43 -04:00
ReenigneArcher aa2cf8e5a9 New Crowdin updates (#2905) 2024-07-24 08:44:21 -04:00
Lukas Senionis f694137aa4 feat: Use CMake 3.30 for Ubuntu 22.04 docker (#2898) 2024-07-19 16:14:59 +00:00
Cameron Gutman 0ca560ced8 Fix invalid parameter passed to WSASendMsg() (#2890)
The third parameter is for flags, not number of messages.
2024-07-19 08:39:37 +00:00
Cameron Gutman 3935d305ae Implement S/G IO for batched sends and eliminate another frame copy (#2874) 2024-07-19 04:04:18 +00:00
dependabot[bot] 16f62436a9 build(deps): bump LizardByte/setup-release-action from 2024.714.140421 to 2024.717.220227 (#2888)
build(deps): bump LizardByte/setup-release-action

Bumps [LizardByte/setup-release-action](https://github.com/lizardbyte/setup-release-action) from 2024.714.140421 to 2024.717.220227.
- [Release notes](https://github.com/lizardbyte/setup-release-action/releases)
- [Commits](https://github.com/lizardbyte/setup-release-action/compare/v2024.714.140421...v2024.717.220227)

---
updated-dependencies:
- dependency-name: LizardByte/setup-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-18 22:53:05 -04:00
Cameron Gutman 81c6e61594 Implement S/G IO for non-batched sends and eliminate more data copies (#2867) 2024-07-18 02:34:56 +00:00
Gilles Schintgen b93756a804 docs(troubleshoot): add network testing with iPerf3 (#2866)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-07-17 19:05:37 +00:00
dependabot[bot] 1f4e10964f build(deps): bump @fortawesome/fontawesome-free from 6.5.2 to 6.6.0 (#2878)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.5.2 to 6.6.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.2...6.6.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 17:50:40 +00:00
dependabot[bot] e99b178045 build(deps): bump vue from 3.4.31 to 3.4.32 (#2877)
Bumps [vue](https://github.com/vuejs/core) from 3.4.31 to 3.4.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.31...v3.4.32)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 16:19:10 +00:00
dependabot[bot] 13a202498d build(deps): bump packaging/linux/flatpak/deps/shared-modules from 782d3cc to 29a1c08 (#2880)
build(deps): bump packaging/linux/flatpak/deps/shared-modules

Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `782d3cc` to `29a1c08`.
- [Commits](https://github.com/flathub/shared-modules/compare/782d3cc04ccdd8071017f622d4bacd35faecbd86...29a1c08976b5f7085448fadc57362f9ef8d07129)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-17 10:28:51 -04:00
ns6089 aadd6eec19 Escape backslashes in javascript string (#2861) 2024-07-15 15:20:02 +00:00
ReenigneArcher e34f446210 build(flatpak): separate dependencies into sub-modules (#2818) 2024-07-14 23:01:59 +00:00
LizardByte-bot 3b95397381 chore: update global workflows (#2858) 2024-07-14 20:41:04 +00:00
dependabot[bot] 07fc1063d9 build(deps): bump LizardByte/setup-release-action from 2024.608.210128 to 2024.714.140421 (#2856)
build(deps): bump LizardByte/setup-release-action

Bumps [LizardByte/setup-release-action](https://github.com/lizardbyte/setup-release-action) from 2024.608.210128 to 2024.714.140421.
- [Release notes](https://github.com/lizardbyte/setup-release-action/releases)
- [Commits](https://github.com/lizardbyte/setup-release-action/compare/v2024.608.210128...v2024.714.140421)

---
updated-dependencies:
- dependency-name: LizardByte/setup-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-14 18:59:51 +00:00
Cameron Gutman 5f715d66cd fix(linux/input): don't pass unknown battery values (#2820) 2024-07-14 18:11:29 +00:00
Cameron Gutman d57c66fa9c Eliminate a redundant alloc+copy of each frame (#2852)
* Eliminate a redundant alloc+copy for each frame

* Replace std::copy_n() with std::memcpy() for better code generation
2024-07-14 12:23:19 -05:00
ns6089 18e7dfb190 Refactor periodic loggers and limit batch size for small packets (#2835)
* Refactor periodic loggers

* Limit network batch size also by packet count

Previously it was limited only by size, and exceeding 64 packets in a
single batch is asking for problems.
2024-07-13 20:55:03 +00:00
Christos Falas 8187a28afc fix(linux/input): handle pen EVENT_MOVE events (#2841) 2024-07-13 19:53:06 +00:00
dependabot[bot] ba68caf6a8 build(deps): bump third-party/build-deps from a1e5cc7 to d0a09a6 (#2843)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `a1e5cc7` to `d0a09a6`.
- [Commits](https://github.com/LizardByte/build-deps/compare/a1e5cc7c6c02f4e5f01bbea96676be7cd0faa053...d0a09a69ce686869ddbc97067854dbd7ef993b90)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-13 17:18:08 +00:00
ReenigneArcher df0ba13615 build(linux)!: drop debian bullseye support (#2844) 2024-07-13 16:27:01 +00:00
dependabot[bot] a1c6d2a85c build(deps): bump third-party/doxygen-awesome-css from 40e9b25 to 28ed396 (#2829)
build(deps): bump third-party/doxygen-awesome-css

Bumps [third-party/doxygen-awesome-css](https://github.com/jothepro/doxygen-awesome-css) from `40e9b25` to `28ed396`.
- [Release notes](https://github.com/jothepro/doxygen-awesome-css/releases)
- [Commits](https://github.com/jothepro/doxygen-awesome-css/compare/40e9b25b6174dd3b472d8868f63323a870dfeeb8...28ed396de19cd3d803bcb483dceefdb6d03b1b2b)

---
updated-dependencies:
- dependency-name: third-party/doxygen-awesome-css
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-13 01:23:57 +00:00
ReenigneArcher f3a164e95e build(linux): sync PKGBUILD with pacman-repo (#2833) 2024-07-12 17:53:19 +00:00
Cameron Gutman e7c420dd6e Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions (#2828)
* Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions

* Update nanors to fix AVX-512 memory corruption
2024-07-11 20:22:57 -05:00
ns6089 037c61dc99 Implement basic network flow control (#2803)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-07-11 00:03:16 +00:00
ReenigneArcher 6607a28a68 docs(website): add pacman download button (#2830) 2024-07-10 15:16:49 +00:00
ns6089 30748dd916 Check API before trying to disable border on WGC capture (#2825) 2024-07-10 12:14:17 +00:00
ReenigneArcher 29410c6412 build(archlinux): generate srcinfo file during build (#2826) 2024-07-10 01:35:37 +00:00
ReenigneArcher 638a7020b7 build(linux): drop support for AUR (#2819) 2024-07-09 00:47:08 +00:00
ReenigneArcher 49495a8da3 New Crowdin updates (#2822) 2024-07-08 17:43:53 +00:00
Cameron Gutman 38c13c8fe1 Fix rate control for AMD cards using VAAPI (#2821) 2024-07-08 15:05:35 +00:00
dependabot[bot] c92ed6158a build(deps): bump rstcheck[sphinx] from 6.2.1 to 6.2.4 (#2824)
Bumps [rstcheck[sphinx]](https://github.com/rstcheck/rstcheck) from 6.2.1 to 6.2.4.
- [Changelog](https://github.com/rstcheck/rstcheck/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rstcheck/rstcheck/compare/v6.2.1...v6.2.4)

---
updated-dependencies:
- dependency-name: rstcheck[sphinx]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 09:25:00 -04:00
Gilles Schintgen 5cea1e1458 build(linux): make postinst use which to find sunshine (#2812) 2024-07-07 16:17:53 +00:00
Cathy J. Fitzpatrick 3cc12dfbe7 macOS: New implementation of service publication (#2786)
The current implementation of service publication on macOS uses
`avahi-client`, but the majority of macOS machines do not have Avahi
installed because macOS provides a native alternative (`mDNSresponder`),
meaning that there is no reason to install Avahi.

The current implementation also attempts to load the Avahi client
libraries using `dlopen(3)`, which has a variety of restrictions on
macOS, such as only being willing to load from certain directories.
Depending on where the Avahi binaries are installed, they might not
be loadable through the current invocation of `dlopen(3)`.

Instead of using an Avahi client on macOS, it makes more sense to use
the native macOS API for publishing services via `mDNSresponder`. This
commit supplies such an implementation that uses the macOS native API.
It also has the advantage of being much simpler than the previous
implementation. Furthermore, this new implementation works on all
macOS machines, because it relies only on native APIs, rather than on
third-party software that is not commonly installed on macOS.
2024-07-07 15:19:51 +00:00
ReenigneArcher 37b60fb2c1 ci(flatpak): add flatpak builder lint (#2799) 2024-07-07 10:19:11 -04:00
ReenigneArcher acccacf861 ci(macos): adjust permissions for test binaries (#2806) 2024-07-05 20:00:00 -04:00
ReenigneArcher c92e4f27cd build(flatpak): remove org.flatpak.Builder.BaseApp (#2798) 2024-07-02 23:35:06 +00:00
ReenigneArcher 0b2487d022 build(flatpak): add xvfb locally (#2797) 2024-07-02 22:42:21 +00:00
ReenigneArcher 9b5a04634e New Crowdin updates (#2792) 2024-07-02 08:57:27 -04:00
ReenigneArcher 3a8f32e9c9 New Crowdin updates (#2779) 2024-07-02 01:49:44 +00:00
ReenigneArcher defd98d3f5 docs(website): add clients section (#2791) 2024-07-02 01:13:14 +00:00
ReenigneArcher 4552f142d7 ci(appimage): add sleep delay before test execution (#2790) 2024-07-01 21:55:55 +00:00
dependabot[bot] bc7282c000 build(deps): bump robinraju/release-downloader from 1.10 to 1.11 (#2783)
Bumps [robinraju/release-downloader](https://github.com/robinraju/release-downloader) from 1.10 to 1.11.
- [Release notes](https://github.com/robinraju/release-downloader/releases)
- [Commits](https://github.com/robinraju/release-downloader/compare/v1.10...v1.11)

---
updated-dependencies:
- dependency-name: robinraju/release-downloader
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 19:17:48 +00:00
dependabot[bot] 29f01e1225 build(deps): bump packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp from 17d551d to 5557876 (#2784)
build(deps): bump packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp

Bumps [packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp](https://github.com/flathub/org.flatpak.Builder.BaseApp) from `17d551d` to `5557876`.
- [Commits](https://github.com/flathub/org.flatpak.Builder.BaseApp/compare/17d551d49798b30e4e2846a53377ce2afe13d7a3...5557876a37135fd9871ef754bb9eeccd400c1121)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 17:23:16 +00:00
dependabot[bot] 5b881025bb build(deps): bump vue from 3.4.30 to 3.4.31 (#2767)
Bumps [vue](https://github.com/vuejs/core) from 3.4.30 to 3.4.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.30...v3.4.31)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 14:49:49 +00:00
ReenigneArcher a940cdb394 fix(upnp): support newer miniupnpc library (#2782)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2024-07-01 10:07:06 -04:00
dependabot[bot] 90fd3712a8 build(deps): bump third-party/inputtino from 93a81cb to f8f5a81 (#2766)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `93a81cb` to `f8f5a81`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/93a81cb3f9b39b5be5e0bd821e65e382ec5c2880...f8f5a814cb94b96bed936bc03d61af3ad53f7a0b)

---
updated-dependencies:
- dependency-name: third-party/inputtino
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-29 01:39:01 +00:00
ReenigneArcher 59ff5dcb3c docs(doxygen): disable html copy clipboard (#2771) 2024-06-28 18:03:52 +00:00
ReenigneArcher 67b631ec66 New Crowdin updates (#2740) 2024-06-28 16:17:03 +00:00
ReenigneArcher 070eb8c6b0 docs(doxygen): do not extract all (#2770) 2024-06-28 15:34:09 +00:00
ReenigneArcher 1dd4b68e1c docs(src): add examples alias and general cleanup (#2763) 2024-06-28 08:34:14 -04:00
dependabot[bot] 49b6efcdfd build(deps): bump third-party/nvapi-open-source-sdk from 7d99f95 to cce4e90 (#2750)
build(deps): bump third-party/nvapi-open-source-sdk

Bumps [third-party/nvapi-open-source-sdk](https://github.com/LizardByte/nvapi-open-source-sdk) from `7d99f95` to `cce4e90`.
- [Commits](https://github.com/LizardByte/nvapi-open-source-sdk/compare/7d99f95f9080b89e7048c67d78128ce849d71004...cce4e90b629f712ae6eebafac97739bd1196cdef)

---
updated-dependencies:
- dependency-name: third-party/nvapi-open-source-sdk
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-26 17:31:03 +00:00
dependabot[bot] 5b3de5f508 build(deps): bump vue from 3.4.29 to 3.4.30 (#2749)
Bumps [vue](https://github.com/vuejs/core) from 3.4.29 to 3.4.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.29...v3.4.30)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-26 16:41:25 +00:00
dependabot[bot] 761e7cc016 build(deps): bump third-party/inputtino from 8a33706 to 93a81cb (#2761)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `8a33706` to `93a81cb`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/8a33706a146787a1ed3666ce52888634dd16cb86...93a81cb3f9b39b5be5e0bd821e65e382ec5c2880)

---
updated-dependencies:
- dependency-name: third-party/inputtino
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-26 15:45:02 +00:00
ReenigneArcher 7e9a2dd621 docs: use doxygen-awesome-css (#2758) 2024-06-26 14:44:32 +00:00
ReenigneArcher cac1ca37aa build(docs): use patterns to locate python venv interpreter (#2757) 2024-06-25 16:06:29 +00:00
ReenigneArcher 4a0704d844 docs(doxygen): simplify doxygen config file (#2752) 2024-06-25 14:57:54 +00:00
ReenigneArcher 10666c0194 docs: use doxygen directly and drop breathe (#2739) 2024-06-24 22:14:27 +00:00
ReenigneArcher 4683bcaf36 build(docs): add cmake target for docs (#2748) 2024-06-24 16:12:31 +00:00
Vithorio Polten 13f94f113a fix(macos): fix boost on macos (#2733)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-21 19:38:52 +00:00
ReenigneArcher acd9ae606e docs: more doxygen fixes (#2736) 2024-06-21 01:34:27 +00:00
ReenigneArcher f3abf59fbf docs(src): fix some doxygen warnings (#2731) 2024-06-20 01:36:09 +00:00
ReenigneArcher 429019e47b New Crowdin updates (#2725) 2024-06-19 20:36:03 +00:00
ReenigneArcher 9a82b6810a docs: fix ffmpeg include directory (#2727) 2024-06-19 02:54:35 +00:00
ReenigneArcher 722e5600c6 feat: add min_fps_target setting (#1043) 2024-06-19 00:09:23 +00:00
ReenigneArcher d6dd1ab42b ci(issues): update issue template (#2277) 2024-06-17 22:59:55 -04:00
ReenigneArcher ccd65591e9 docs: update badges (#2716) 2024-06-18 00:06:00 +00:00
ABeltramo fb18b38f68 fix(linux/input): battery values conversion (#2715) 2024-06-17 22:37:48 +00:00
dependabot[bot] 0c02f8b2a4 build(deps): bump third-party/tray from 98af2bf to d9f7e76 (#2714)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `98af2bf` to `d9f7e76`.
- [Commits](https://github.com/LizardByte/tray/compare/98af2bf19b683799c22a4aa9a88d699bdaa6f670...d9f7e768cd74390a3b7e68ceed6f9c1a05db9f08)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 19:37:33 +00:00
ReenigneArcher 334267807f tests: add httpcommon tests and add new file_handler methods (#2712)
Co-authored-by: Mariotaku <mariotaku.lee@gmail.com>
2024-06-17 18:03:42 +00:00
ReenigneArcher 0c0b4c4610 fix(brew): remove v prefix from version number (#2710) 2024-06-17 00:23:51 +00:00
ReenigneArcher fe22c2f69c fix(brew): update version and fix ci push events (#2708) 2024-06-16 23:21:23 +00:00
ReenigneArcher a5a1988cff fix(homebrew): use tag instead of branch in formula (#2705) 2024-06-16 22:07:13 +00:00
ReenigneArcher 750255ddc0 New Crowdin updates (#2703) 2024-06-16 14:20:37 -04:00
Gilles Schintgen 42aec26305 docs: add more troubleshooting notes (#2684)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-16 01:30:33 +00:00
Vithorio Polten 509576d616 feat(input/linux): add support for more virtual input devices (#2606)
Co-authored-by: ABeltramo <beltramo.ale@gmail.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-16 00:21:18 +00:00
ReenigneArcher 5f1a17f77d docs(readme): update winget badge query (#2698) 2024-06-15 03:01:08 +00:00
dependabot[bot] 7e4c59444e build(deps): bump vue from 3.4.27 to 3.4.29 (#2695)
Bumps [vue](https://github.com/vuejs/core) from 3.4.27 to 3.4.29.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.27...v3.4.29)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-15 01:02:35 +00:00
dependabot[bot] b82b4818a1 build(deps): bump LizardByte/create-release-action from 2024.611.132610 to 2024.614.221009 (#2693)
build(deps): bump LizardByte/create-release-action

Bumps [LizardByte/create-release-action](https://github.com/lizardbyte/create-release-action) from 2024.611.132610 to 2024.614.221009.
- [Release notes](https://github.com/lizardbyte/create-release-action/releases)
- [Commits](https://github.com/lizardbyte/create-release-action/compare/v2024.611.132610...v2024.614.221009)

---
updated-dependencies:
- dependency-name: LizardByte/create-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-15 00:03:28 +00:00
ReenigneArcher ac01996d0a fix(linux): simplify default sunshine.service (#2691) 2024-06-14 23:13:34 +00:00
ReenigneArcher ebc41acf98 build: optionally static link boost (#2628) 2024-06-14 21:37:46 +00:00
dependabot[bot] 5f6fe3319c build(deps): bump third-party/moonlight-common-c from 907110c to 8599b60 (#2669)
build(deps): bump third-party/moonlight-common-c

Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `907110c` to `8599b60`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/907110c4ec9bac4bd501d46b7671206f1f99adf9...8599b6042a4ba27749b0f94134dd614b4328a9bc)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 00:39:08 +00:00
ReenigneArcher 2e1eb0c914 build(linux): remove unused intel media sdk (#2681) 2024-06-12 23:37:47 +00:00
dependabot[bot] 443be5d403 build(deps): bump LizardByte/homebrew-release-action from 2024.609.4731 to 2024.612.21058 (#2677)
build(deps): bump LizardByte/homebrew-release-action

Bumps [LizardByte/homebrew-release-action](https://github.com/lizardbyte/homebrew-release-action) from 2024.609.4731 to 2024.612.21058.
- [Release notes](https://github.com/lizardbyte/homebrew-release-action/releases)
- [Commits](https://github.com/lizardbyte/homebrew-release-action/compare/v2024.609.4731...v2024.612.21058)

---
updated-dependencies:
- dependency-name: LizardByte/homebrew-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 22:55:30 +00:00
dependabot[bot] 8c0435082d build(deps): bump LizardByte/create-release-action from 2024.609.5014 to 2024.611.132610 (#2676)
build(deps): bump LizardByte/create-release-action

Bumps [LizardByte/create-release-action](https://github.com/lizardbyte/create-release-action) from 2024.609.5014 to 2024.611.132610.
- [Release notes](https://github.com/lizardbyte/create-release-action/releases)
- [Commits](https://github.com/lizardbyte/create-release-action/compare/v2024.609.5014...v2024.611.132610)

---
updated-dependencies:
- dependency-name: LizardByte/create-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 22:10:18 +00:00
Vithorio Polten 02ddbefd44 fix(macos): Mouse input broken in-game (#2550)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-12 17:26:02 -04:00
ReenigneArcher f68de7da93 build(linux): add homebrew support (#2667) 2024-06-12 15:58:25 -04:00
dependabot[bot] e1f0ca829d build(deps): bump third-party/tray from 0f30a63 to 98af2bf (#2665)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `0f30a63` to `98af2bf`.
- [Commits](https://github.com/LizardByte/tray/compare/0f30a63e61b9c6253df01f156b432112dfc59a87...98af2bf19b683799c22a4aa9a88d699bdaa6f670)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 14:20:52 +00:00
dependabot[bot] 8c10a0dc0a build(deps): bump LizardByte/homebrew-release-action from 2024.522.222851 to 2024.609.4731 (#2663)
build(deps): bump LizardByte/homebrew-release-action

Bumps [LizardByte/homebrew-release-action](https://github.com/lizardbyte/homebrew-release-action) from 2024.522.222851 to 2024.609.4731.
- [Release notes](https://github.com/lizardbyte/homebrew-release-action/releases)
- [Commits](https://github.com/lizardbyte/homebrew-release-action/compare/v2024.522.222851...v2024.609.4731)

---
updated-dependencies:
- dependency-name: LizardByte/homebrew-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 13:20:19 +00:00
dependabot[bot] 886d88bc5e build(deps): bump LizardByte/create-release-action from 2024.608.160245 to 2024.609.5014 (#2662)
build(deps): bump LizardByte/create-release-action

Bumps [LizardByte/create-release-action](https://github.com/lizardbyte/create-release-action) from 2024.608.160245 to 2024.609.5014.
- [Release notes](https://github.com/lizardbyte/create-release-action/releases)
- [Commits](https://github.com/lizardbyte/create-release-action/compare/v2024.608.160245...v2024.609.5014)

---
updated-dependencies:
- dependency-name: LizardByte/create-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 08:22:46 -04:00
dependabot[bot] b99047836f build(deps): bump third-party/build-deps from 324e011 to a1e5cc7 (#2658)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `324e011` to `a1e5cc7`.
- [Commits](https://github.com/LizardByte/build-deps/compare/324e011afab7cacdb978ea96fc6adabd1f61ed17...a1e5cc7c6c02f4e5f01bbea96676be7cd0faa053)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 03:31:15 +00:00
dependabot[bot] 6e2065ceec build(deps): bump third-party/moonlight-common-c from eb21561 to 907110c (#2637)
build(deps): bump third-party/moonlight-common-c

Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `eb21561` to `907110c`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/eb21561541874d9e9dbd7da26000c6dd55050748...907110c4ec9bac4bd501d46b7671206f1f99adf9)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 02:21:29 +00:00
dependabot[bot] 2034fa5fe7 build(deps): bump packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp from e524683 to 17d551d (#2616)
build(deps): bump packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp

Bumps [packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp](https://github.com/flathub/org.flatpak.Builder.BaseApp) from `e524683` to `17d551d`.
- [Commits](https://github.com/flathub/org.flatpak.Builder.BaseApp/compare/e5246830bb1b23397b2f9fd1813a79f5c6d2ccb0...17d551d49798b30e4e2846a53377ce2afe13d7a3)

---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 00:55:44 +00:00
LizardByte-bot e3662033c0 chore: update global workflows (#2653) 2024-06-09 19:43:38 -04:00
dependabot[bot] 539ca42f67 build(deps): bump LizardByte/setup-release-action from 2024.524.1411 to 2024.608.210128 (#2651)
* build(deps): bump LizardByte/setup-release-action

Bumps [LizardByte/setup-release-action](https://github.com/lizardbyte/setup-release-action) from 2024.524.1411 to 2024.608.210128.
- [Release notes](https://github.com/lizardbyte/setup-release-action/releases)
- [Commits](https://github.com/lizardbyte/setup-release-action/compare/v2024.524.1411...v2024.608.210128)

---
updated-dependencies:
- dependency-name: LizardByte/setup-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* update outputs/inputs

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-06-08 18:01:24 -04:00
dependabot[bot] cd5c9ae33f build(deps): bump LizardByte/create-release-action from 2024.524.143912 to 2024.608.160245 (#2647)
build(deps): bump LizardByte/create-release-action

Bumps [LizardByte/create-release-action](https://github.com/lizardbyte/create-release-action) from 2024.524.143912 to 2024.608.160245.
- [Release notes](https://github.com/lizardbyte/create-release-action/releases)
- [Commits](https://github.com/lizardbyte/create-release-action/compare/v2024.524.143912...v2024.608.160245)

---
updated-dependencies:
- dependency-name: LizardByte/create-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-08 12:54:15 -04:00
ReenigneArcher add77d22d0 docs: update readthedocs on release events (#2604) 2024-06-07 17:57:54 -04:00
Hans Gaiser 9afb1aea00 Remove the need for a patched nvidia library for NvFBC. (#2471) 2024-06-01 19:30:42 +00:00
Mariotaku 17e0f1a816 feat(audio): custom surround-params (#2424) 2024-05-31 22:50:34 -04:00
ReenigneArcher 7371a206a4 docs(readme): fix winget badge (#2620) 2024-06-01 01:36:10 +00:00
ReenigneArcher 80eb0517e6 build(windows): fix curl linking (#2612) 2024-05-31 20:05:30 -04:00
ReenigneArcher 1a1833cfba build(windows): pin curl to working version (#2618) 2024-05-31 18:37:05 -04:00
LizardByte-bot f0a00ae356 chore: update global workflows (#2597) 2024-05-28 20:10:55 -04:00
Xander Frangos 5fcd07ecb1 Name and unpair individual clients (#2042) 2024-05-27 20:43:08 +00:00
Tejas Rao 287ac4c0fb feat(win): new capture method, Windows.Graphics.Capture (#2580) 2024-05-27 18:16:14 +00:00
ReenigneArcher 2d706d3104 New Crowdin updates (#2584) 2024-05-27 17:09:49 +00:00
dependabot[bot] 6a88b83fda build(deps): bump LizardByte/create-release-action from 2024.520.211408 to 2024.524.143912 (#2588)
build(deps): bump LizardByte/create-release-action

Bumps [LizardByte/create-release-action](https://github.com/lizardbyte/create-release-action) from 2024.520.211408 to 2024.524.143912.
- [Release notes](https://github.com/lizardbyte/create-release-action/releases)
- [Commits](https://github.com/lizardbyte/create-release-action/compare/v2024.520.211408...v2024.524.143912)

---
updated-dependencies:
- dependency-name: LizardByte/create-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-27 15:33:53 +00:00
dependabot[bot] 6d9857bd61 build(deps): bump third-party/tray from cb33552 to 0f30a63 (#2590)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `cb33552` to `0f30a63`.
- [Commits](https://github.com/LizardByte/tray/compare/cb33552612edeaef824e95ecc0e5adca502d109a...0f30a63e61b9c6253df01f156b432112dfc59a87)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-27 09:03:29 -04:00
ReenigneArcher 992bf9c23e build(deps): use new ffmpeg build names (#2577) 2024-05-26 20:36:37 -04:00
LizardByte-bot 8a0762d9f1 chore: update global workflows (#2581)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-05-26 19:09:22 -04:00
ReenigneArcher 7702e55476 New Crowdin updates (#2562) 2024-05-25 20:11:12 -04:00
Tejas Rao fed482caf0 build(win): use UCRT64 environment instead of MinGW64. (#2323)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
2024-05-25 16:28:14 -04:00
dependabot[bot] 3c341ead45 build(deps): bump third-party/build-deps from a326d43 to 0896e89 (#2572)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `a326d43` to `0896e89`.
- [Commits](https://github.com/LizardByte/build-deps/compare/a326d43947eff1d4a9a7f72e22c9b0ea085b83b7...0896e890a70d1e619870ccd294d134eaacc350e2)

---
updated-dependencies:
- dependency-name: third-party/build-deps
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-25 14:28:15 -04:00
ReenigneArcher 8ce4dc9513 build(deps): bump third-party/wayland-protocols to 1.36 (#2570) 2024-05-25 10:43:47 -04:00
Brandon 348f092ddf docs(windows): Add Discord Voicemeeter Guide (#2555)
Co-authored-by: oopsuwu <60373320+oopsuwu@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-05-24 23:23:51 -04:00
Vithorio Polten 4a9130126c feat(ui): Dark Mode (#2493) 2024-05-24 21:28:39 -04:00
ReenigneArcher 2b18e4c73d fix(ui): ensure pre-releases are properly checked (#2564) 2024-05-24 20:09:07 -04:00
ReenigneArcher dd8aee2159 ci: only publish homebrew formula from one job (#2560) 2024-05-24 14:34:42 -04:00
LizardByte-bot c204b2cf5d chore: update global workflows (#2559) 2024-05-24 12:38:27 -04:00
ReenigneArcher e898be1b7e ci: use prerelease logic (#2553) 2024-05-23 21:42:06 -04:00
LizardByte-bot 26ceec5f3c chore: update global workflows (#2547) 2024-05-20 15:28:48 -04:00
Gyanesh Patra fdb443a7c6 Fix log message for Periodic Ping (#2538) 2024-05-19 17:31:14 -04:00
dependabot[bot] 373390e771 build(deps): bump third-party/build-deps from efd3a38 to a326d43 (#2536)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-19 09:14:07 -04:00
dependabot[bot] 890b6fd18b build(deps): bump LizardByte/homebrew-release-action from 2024.511.160217 to 2024.516.191449 (#2535)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 08:52:08 -04:00
dependabot[bot] e6e4dcf017 build(deps): bump third-party/moonlight-common-c from cbd0ec1 to eb21561 (#2227)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 15:21:07 -04:00
ReenigneArcher 3adb934de3 New Crowdin updates (#2454) 2024-05-16 13:38:59 -04:00
dependabot[bot] 2a1cb25d40 build(deps): bump third-party/wayland-protocols from 08d1c72 to 24e612f (#2480)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 11:58:31 -04:00
dependabot[bot] aff3b5657f build(deps): bump third-party/Simple-Web-Server from 27b41f5 to 4abe349 (#2114)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 10:47:49 -04:00
dependabot[bot] 1e59e28314 build(deps): bump third-party/nvapi-open-source-sdk from c0f5f7b to 7d99f95 (#2145)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 08:42:48 -04:00
dependabot[bot] f4f343b0c3 build(deps): bump vue-i18n from 9.13.0 to 9.13.1 (#2455)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-15 19:29:45 -04:00
skryvel 80d1d94c74 docs: packet loss and linux controller (#2514)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-05-15 17:56:46 -04:00
ReenigneArcher d70a17a2fb ci(codeql): fix codeql builds (#2475) 2024-05-14 19:20:37 -04:00
Vithorio Polten ff54ab2852 fix(macos): fix broken streaming on MacOS (#2485) 2024-05-14 14:14:40 -04:00
dependabot[bot] c5d8e1b1a0 build(deps): bump vue from 3.4.23 to 3.4.27 (#2509)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-14 12:40:44 -04:00
dependabot[bot] b87fd4218f build(deps): bump babel from 2.14.0 to 2.15.0 (#2504)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-14 11:11:56 -04:00
dependabot[bot] 786a9acde1 build(deps): bump packaging/linux/flatpak/deps/shared-modules from ec91811 to 782d3cc (#2479)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-14 08:40:49 -04:00
dependabot[bot] 9ee6811fe5 build(deps): bump third-party/tray from 4d8b798 to cb33552 (#2528)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-05-13 21:59:25 -04:00
James Le Cuirot 2cadb815e6 Allow a custom FFmpeg build to be provided using CMake variables (#1970) 2024-05-13 18:56:31 -04:00
dependabot[bot] 542cc71076 build(deps): bump packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp from 5532d43 to e524683 (#2517)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 17:57:45 -04:00
dependabot[bot] d8e73cc6d1 build(deps): bump furo from 2024.1.29 to 2024.5.6 (#2511)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 16:06:25 -04:00
Vithorio Polten 4b6ff3797e refactor(ui): break down config.html into smaller pieces (#2491)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-05-13 13:08:13 -04:00
ReenigneArcher 81c2ecfc07 build(macos): skip link of nonexistent directories (#2526) 2024-05-13 10:53:15 -04:00
dependabot[bot] 9c5239cdf8 build(deps): bump LizardByte/homebrew-release-action from 2024.417.220943 to 2024.511.160217 (#2527)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 10:06:46 -04:00
Gilles Schintgen a5bbf36d45 AppImage: add needed VA-API libraries (Intel & AMD) (#2429) 2024-05-13 08:20:58 -04:00
Gilles Schintgen 0a595dc7d2 fix(linux): add frame processing latency and logging improvements (#2502) 2024-05-12 18:55:43 -04:00
ReenigneArcher 659a426b03 fix(file_handler): avoid writing extra newline character (#2335) 2024-05-12 13:13:20 -04:00
James Le Cuirot 6674090052 Unify asset building and use find_program to find NPM (#2522) 2024-05-12 12:26:14 -04:00
ReenigneArcher 4e49db9fd5 build(linux)!: add fedora 40 and remove fedora 38 (#2525) 2024-05-12 11:27:41 -04:00
ReenigneArcher b4c12cb77c ci: fix code coverage (#2512) 2024-05-11 19:12:56 -04:00
ReenigneArcher 26e0ff8a14 build(archlinux): bump gcc from 12 to 13 (#2519) 2024-05-10 08:33:54 -04:00
Corey Garst c6fc12a0a4 webui: Update resolution automation example text with auto refresh rate (#2503) 2024-05-07 09:14:11 -04:00
TimmyOVO 9d5ee2f57d fix(macos/input): incorrect mouse input for non-main display (#2461) 2024-05-02 13:52:29 -04:00
Tejas Rao 7fb8c76590 Use C++20. (#2322) 2024-04-26 15:49:15 -04:00
TimmyOVO 9288775351 feat(macos/capture): support for capture display other than main display (#2449) 2024-04-22 14:16:26 -04:00
Cameron Gutman 067efc7912 Bump version to v0.23.1 (#2452) 2024-04-20 20:20:09 -04:00
ReenigneArcher 68c0f53bfc New Crowdin updates (#2392) 2024-04-20 16:38:27 -04:00
Hugo Locurcio dc22e24744 Autofocus PIN input on Web UI pin page
This makes it faster to input the PIN after clicking on the PIN
notification on the desktop, since you no longer need to click
the PIN input or focus on it by pressing Tab many times.
2024-04-20 14:36:59 -05:00
ReenigneArcher 8eead6597e chore: repo updates (#2416) 2024-04-20 12:49:15 -04:00
ReenigneArcher 6c0b01737f ci(codecov): skip search (#2430) 2024-04-20 11:36:40 -04:00
dependabot[bot] b4e6873649 build(deps): bump vue from 3.4.5 to 3.4.23 (#2434)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 23:05:44 -04:00
dependabot[bot] 24597178c7 build(deps): bump vue-i18n from 9.11.0 to 9.13.0 (#2442)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 21:41:18 -04:00
dependabot[bot] 05416bb9c2 build(deps): bump LizardByte/homebrew-release-action from 2024.409.24405 to 2024.417.220943 (#2441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 20:34:41 -04:00
dependabot[bot] 15386f386a build(deps): bump third-party/wayland-protocols from 46f201b to 08d1c72 (#2443)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 19:33:17 -04:00
dependabot[bot] 38fa794009 build(deps): bump third-party/wlr-protocols from 4264185 to 2b8d433 (#2067)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 18:28:01 -04:00
dependabot[bot] 75fce21761 build(deps): bump packaging/linux/flatpak/deps/shared-modules from d022995 to ec91811 (#2428)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 17:26:14 -04:00
dependabot[bot] abe256144a build(deps): bump actions-js/push from 1.4 to 1.5 (#2440)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 16:03:37 -04:00
dependabot[bot] ad2483416d build(deps): bump packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp from 6e295e6 to 5532d43 (#2444)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 15:00:44 -04:00
Conn O'Griofa 87def6db85 fix(windows/amf): Revert RC/HRD defaults; improve documentation & config parsing (#2419) 2024-04-19 08:31:56 -04:00
Rick 9e0182be9c docs(linux): add guide for discord audio (#2447)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-04-18 23:06:20 -04:00
LizardByte-bot 50a02dbce5 chore: update global workflows (#2446) 2024-04-18 15:35:56 -04:00
ReenigneArcher 69191cafe9 fix: make version update check more robust (#2437) 2024-04-18 15:35:49 -04:00
ReenigneArcher c896dabb82 ci: skip coverage upload if not in LizardByte org (#2436) 2024-04-17 18:50:23 -04:00
ReenigneArcher ec8170cb40 ci: fix codeql prebuild steps for unix OSes (#2431) 2024-04-16 23:00:10 -04:00
ReenigneArcher 5db8af8a3f ci: update codeql to handle multiple OSes (#2425) 2024-04-16 17:41:56 -04:00
ReenigneArcher 76d08eb883 ci: fix coverage ignore directories (#2420) 2024-04-14 13:38:01 -04:00
ReenigneArcher fb4d4f50ec fix(ui): fix quicksync locale strings (#2418) 2024-04-14 09:34:22 -04:00
Gilles Schintgen 358bb30c3c debug: fix codec debugging code 2024-04-13 19:52:22 -05:00
Cameron Gutman 25d8e2b478 Fix discarded std::clamp() result compiler warning 2024-04-13 18:53:00 -05:00
Cameron Gutman a4d9ee3fa4 Fix crash when receiving abs input events prior to the display touchport 2024-04-13 18:53:00 -05:00
dependabot[bot] f87bc86b4a build(deps): bump LizardByte/homebrew-release-action from 2024.314.134529 to 2024.409.24405 (#2394)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-12 20:52:00 -04:00
Gilles Schintgen fcd4c07bd0 Improve frametiming for linux capture (#2333) 2024-04-12 19:36:56 -04:00
hdL6c 5c1bad7155 Musl Linux fixes (#2401) 2024-04-11 22:34:26 -05:00
dependabot[bot] d14323244e build(deps): bump codecov/codecov-action from 3 to 4 (#2297)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 20:49:52 -04:00
ReenigneArcher 6a01e58f61 build(deps): use token for codecov/codecov-action (#2404) 2024-04-10 22:28:23 -04:00
ReenigneArcher ad66fcb243 build(linux): fix ubuntu 24.04 build (#2402) 2024-04-10 19:59:11 -04:00
ReenigneArcher ad5b816261 fix(linux): use correct setap command in logs (#2400) 2024-04-10 18:12:03 -04:00
ReenigneArcher 7602fa110c fix(ltray): re-order tray dep search (#2397) 2024-04-09 21:40:31 -04:00
ReenigneArcher 7e26d2fd30 build(tests): ensure tests can be disabled during build (#2386) 2024-04-08 19:17:19 -04:00
ReenigneArcher 116e59292a build(deps): remove libavdevice (#2380) 2024-04-07 22:23:32 -04:00
ReenigneArcher 1a48244a0a chore: bump version to v0.23.0 (#2367) 2024-04-06 21:41:09 -04:00
ReenigneArcher 33ba03c679 New Crowdin updates (#2372) 2024-04-06 20:31:40 -04:00
Cameron Gutman 93e622342c Quote the path to sunshinesvc.exe when launching the termination helper (#2379) 2024-04-06 19:21:03 -04:00
hdL6c 7f795f0e19 fix(linux/capture): fix logical comparison of texture size (#2349)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-04-06 18:03:54 -04:00
ReenigneArcher b7aa8119f1 fix(security): ensure unpairing takes effect without restart (#2365) 2024-04-06 16:39:16 -04:00
ReenigneArcher 3c13027a61 build(linux)!: disable arm64 builds for Fedora (#2377) 2024-04-06 15:22:09 -04:00
ReenigneArcher 1e77d0a509 build(docker): increase job timeout (#2376) 2024-04-06 07:03:57 -04:00
ReenigneArcher 59ce8deb97 build(cmake): add prep/init.cmake (#2375)
Co-authored-by: James Le Cuirot <chewi@aura-online.co.uk>
2024-04-05 22:48:13 -04:00
ReenigneArcher 1ed22ab3b2 build: fix ubuntu 24.04 deps (#2374) 2024-04-05 21:45:15 -04:00
dependabot[bot] 42b4192a04 build(deps): bump vue-i18n from 9.10.2 to 9.11.0 (#2361)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-05 16:20:37 -04:00
ReenigneArcher 4fe3848d32 New Crowdin updates (#2290) 2024-04-05 13:21:13 -04:00
ReenigneArcher 89207a13f2 fix(docker): fix arm64 builds (#2368) 2024-04-04 23:12:17 -04:00
ReenigneArcher cd465652f0 ci(macos): do not always run tests for macports build (#2360) 2024-04-04 09:36:40 -04:00
ReenigneArcher 699b2c160e build(linux)!: drop ubuntu 20.04 (#2327) 2024-04-03 22:52:37 -04:00
ReenigneArcher e1588787f0 build(linux): add ubuntu 24.04 (#2326) 2024-04-03 21:50:03 -04:00
dependabot[bot] 73fe31dbd2 build(deps): bump @fortawesome/fontawesome-free from 6.5.1 to 6.5.2 (#2356)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 17:17:16 -04:00
ReenigneArcher 2da6fb050a fix(logging): add logging namespace and create logging::init method (#2336) 2024-04-02 20:57:57 -04:00
ReenigneArcher a1edc246f5 fix(i18n): use correct key for welcome_success (#2354) 2024-04-02 18:22:30 -04:00
dependabot[bot] bb7c2d50ef build(deps): bump third-party/build-deps from 6e23b58 to efd3a38 (#2346)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 08:56:31 -04:00
ReenigneArcher 6d1805b3fa docs(readme): use csv tables (#2341) 2024-03-31 15:44:45 -04:00
ReenigneArcher 9020c2c229 build(cmake): build web-ui target with cmd instead of bash on windows (#2340) 2024-03-31 13:00:01 -04:00
ReenigneArcher b4739b05c6 build(cmake): copy asset files to build dir (#2338) 2024-03-31 11:52:25 -04:00
Zane Chua 1329c510b1 docs: update curl flag for macos portfile installation (#2337) 2024-03-31 09:19:11 -04:00
Lukas Senionis 991fab9370 Add mising _win postfix (#2330) 2024-03-30 13:52:37 -04:00
ReenigneArcher 376a2822bd fix(ui): could not submit pin due to localization updates (#2324)
Co-authored-by: Elia Zammuto <theelixzammuto@gmail.com>
2024-03-30 11:35:29 -04:00
ReenigneArcher 2b059c6797 fix(i18n): update localization docs and js strings (#2325) 2024-03-30 10:01:48 -04:00
Conn O'Griofa ae71a6ad83 AMF: rate control improvements (#2251) 2024-03-29 21:07:24 -04:00
ReenigneArcher 2af0ce364d Revert "Add capture using WinRT Windows.Graphics.Capture API." (#2320) 2024-03-29 12:43:44 -04:00
ReenigneArcher 3b6a59af05 ci(macos): automatically determine default branch for homebrew formula (#2317) 2024-03-28 19:18:49 -04:00
KuleRucket 526121d81d Populate host latency for kms/x11 grab (#2273) 2024-03-28 17:52:53 -04:00
dependabot[bot] e5ef0375f3 build(deps): bump packaging/linux/flatpak/deps/org.flatpak.Builder.BaseApp from 644487f to 6e295e6 (#2309)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-28 16:29:32 -04:00
ReenigneArcher de97eacd30 ci(codecov): update codecov default branch (#2313) 2024-03-28 11:06:43 -04:00
lns103 1bd75bbeb0 Correct typo in Chinese Simplified locale option (#2308) 2024-03-28 09:32:55 -04:00
Tejas Rao 8f1692a5ac Add capture using WinRT Windows.Graphics.Capture API. (#2149)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-03-27 23:47:26 -04:00
dependabot[bot] 8eb3ea4fa3 build(deps): bump rstcheck[sphinx] from 6.2.0 to 6.2.1 (#2299)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-27 08:32:42 -04:00
ReenigneArcher 13aea3cbd8 ci(windows): update devcon (#2296) 2024-03-26 22:47:29 -04:00
ReenigneArcher 89e8b9628c ci(tests): add test framework (#1603) 2024-03-24 19:52:24 -04:00
ReenigneArcher 934f81182a fix(i18n): match two__letters code to crowdin (#2289) 2024-03-22 21:33:56 -04:00
ReenigneArcher 87774333f3 feat(i18n): add ui localization (#2279)
Co-authored-by: TheElixZammuto <6505622+TheElixZammuto@users.noreply.github.com>
2024-03-22 19:54:12 -04:00
ReenigneArcher 8316f44e10 ci(linux): refactor linux build (#2275) 2024-03-17 00:07:18 -04:00
ReenigneArcher 7534fa1023 refactor(video): move encoder declarations to header (#2185) 2024-03-16 09:04:29 -04:00
Cameron Gutman bd5c50041c Update changelog and bump version to v0.22.2 2024-03-15 01:59:13 -05:00
Cameron Gutman 15c5e76ed4 Use a copy+delete instead of a move operation for config migration
This can handle migration across filesystems.
2024-03-15 01:59:13 -05:00
Cameron Gutman 8c9e14e335 Only attempt a config migration once per launch 2024-03-15 01:59:13 -05:00
Cameron Gutman aa1985dec8 Avoid calling Boost logging functions in appdata()
The app data directory is needed prior to logging initialization.
2024-03-15 01:59:13 -05:00
Cameron Gutman f66a7d5da6 Fix dereferencing a null pointer if SUNSHINE_MIGRATE_CONFIG doesn't exist 2024-03-15 01:59:13 -05:00
Cameron Gutman b523945f48 Update tray submodule to fix broken tray icon on some systems 2024-03-14 21:28:47 -05:00
dependabot[bot] 476141d740 build(deps): bump LizardByte/homebrew-release-action from 2024.311.172824 to 2024.314.134529 (#2264)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 21:13:55 -04:00
Cameron Gutman c43dd2489f Don't update tray icon after tray_exit() was called 2024-03-13 19:22:05 -04:00
ReenigneArcher 22736c4ce9 Fix(linux/fedora39) patch system headers so build succeeds with cuda (#2253)
Co-authored-by: Cameron Gutman <2695644+cgutman@users.noreply.github.com>
2024-03-13 18:05:45 -04:00
ReenigneArcher 3e49e25c63 chore: bump version to v0.22.1 (#2221)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-03-13 10:44:31 -04:00
Crashdummy 0bfad20d4c fix(Linux/Fedora): re-enable CUDA and bump to 12.4.0 (#2247) 2024-03-13 09:48:13 -04:00
dependabot[bot] 1859e23cd5 build(deps): bump LizardByte/homebrew-release-action from 2024.309.150158 to 2024.311.172824 (#2245)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 09:04:41 -04:00
Cameron Gutman c13a30db78 Allow NVENC to be forced to try capturing non-Nvidia GPUs 2024-03-13 01:23:47 -05:00
Cameron Gutman d8877982ff Improve KMS debuggability and avoid known broken cases 2024-03-13 01:23:47 -05:00
Cameron Gutman e383ab9956 Add note to prefer distro packages over Flatpak/AppImage 2024-03-12 19:54:20 -05:00
Cameron Gutman 97467ea355 Reorder and reword the KMS setup step 2024-03-12 19:54:20 -05:00
Cameron Gutman 3181d91edf Apply udev rules to /dev/uinput immediately after installation 2024-03-12 19:54:20 -05:00
Cameron Gutman 3117fa57ec Rename 85-sunshine.rules to 60-sunshine.rules
This ensures the rules are evaluated before 73-seat-late.rules which
enables uaccess tag application for existing logged on users.
2024-03-12 19:54:20 -05:00
Cameron Gutman 91744960c1 Avoid broken fallback to cross-adapter NVENC encoding with KMS 2024-03-11 19:02:16 -05:00
ReenigneArcher a2785baf0a fix(linux): automatically migrate config directory (#2240) 2024-03-10 22:03:20 -04:00
brycerocky bc0a4786f4 Use icon caching for system tray. (#2238) 2024-03-10 18:35:48 -04:00
Cameron Gutman cb4bfaa2f4 Add the .INSTALL script needed for kmsgrab to work
This also removes the standalone PKGBUILD artifact because
our PKGBUILD has external dependencies now.
2024-03-09 18:56:44 -06:00
Cameron Gutman 74ce047a4b Add optdepends for Intel and AMD hardware encoding 2024-03-09 18:56:44 -06:00
Cameron Gutman 278567f72d Move kmsgrab dependencies from optdepends to depends
kmsgrab is the most fully featured capture backend for current
versions of Sunshine, so it should be built by default.

In addition to zero-copy capture and HDR support, it is the *only*
capture backend that can handle non-wlroots Wayland capture.
2024-03-09 18:56:44 -06:00
Cameron Gutman 9d5b01727e Replace WMIC-based check for ViGEmBus with a Powershell check
This version is simpler and much faster on machines with many installed apps.
2024-03-09 13:57:24 -06:00
ReenigneArcher 33e99e1feb build(macos)!: add homebrew formula and drop dmg (#2222) 2024-03-09 10:47:55 -05:00
Cameron Gutman ce3b625983 Fix undefined behavior when computing cursor end pointer 2024-03-08 23:48:57 -06:00
Cameron Gutman 7cdd156bce Fix heap corruption with cursor pixel counts that aren't divisible by 8 2024-03-07 19:01:36 -06:00
Cameron Gutman f5dd0d4eaf Update app examples to clarify new command syntax for Windows 2024-03-07 18:14:28 -06:00
Cameron Gutman 06c0ed1d1c Temporarily add the working directory to our path when starting an app
CreateProcess() doesn't search in the child's specified working directory by default.
2024-03-07 18:14:28 -06:00
Cameron Gutman 972e5d2b14 Strip quotes out of the working directory path 2024-03-07 18:14:28 -06:00
Cameron Gutman 6aeaaf5ec9 Fix process tree tracking when the cmd.exe trampoline is used 2024-03-07 18:14:28 -06:00
Cameron Gutman 3b3e6818f3 Make debuginfo artifacts harder to confuse with the Windows portable build 2024-03-06 19:03:14 -06:00
detiam c86a4e112b Fix wrong path in desktop file (#2223)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-03-06 10:23:32 -05:00
Cameron Gutman 9e299c295d Fix predefined FPS values not taking effect 2024-03-05 23:16:27 -06:00
ReenigneArcher 3f215968ad fix(config): add missing resolution to default config ui (#2224) 2024-03-05 23:00:51 -05:00
ReenigneArcher b99a9e92be build(macos): fix publishing of portfile (#2220) 2024-03-05 18:18:17 -05:00
ReenigneArcher 4ebc7b5cef build(macos): add build strategy matrix (#2211) 2024-03-05 08:56:09 -05:00
Cameron Gutman 9f94eebd32 Fix mismatched case and unhandled exception in open_drm_fd_for_cuda_device() 2024-03-05 00:07:04 -06:00
ReenigneArcher cacadc4df4 build(linux): ensure pre-compiled arch pkg is not debug build (#2214) 2024-03-04 22:15:37 -05:00
Cameron Gutman 529f1b84f8 Fix CUDA context leak causing encoder init failures using X11 capture with NVENC 2024-03-03 19:57:46 -06:00
ReenigneArcher 8d5a9054ec chore: bump version to v0.22.0 (#2201)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-03-03 16:50:20 -05:00
Cameron Gutman 5606840c89 Stop enumeration after finding a working capture backend 2024-03-02 12:08:35 -06:00
Cameron Gutman 1ab30aa70b Add log messages to indicate display numbers for KMS and Wlgrab 2024-03-02 12:08:35 -06:00
Cameron Gutman 75a97883e7 Rework dummy image handling to avoid RTX HDR driver bug
As a side effect, it avoids useless allocations and uploads of
a zeroed memory buffer to clear the dummy image textures.
2024-03-01 01:09:10 -06:00
Cameron Gutman e430f51e2f Add friendly message when encoder detection fails 2024-02-29 18:35:30 -06:00
Cameron Gutman cb57322190 Move and rename Files tab to be less prominent 2024-02-29 18:35:30 -06:00
Cameron Gutman 8081f4167e Add note to enclose paths with spaces in quotes 2024-02-29 18:35:30 -06:00
Cameron Gutman 2e97c55005 Move and rename Channels option to feature more prominently in the UI 2024-02-29 18:35:30 -06:00
Cameron Gutman 84316b5ccd Adjust wording of the nvenc_latency_over_power option 2024-02-29 18:35:30 -06:00
Cameron Gutman dfb212cc3c Don't display automatic gamepad options on unsupported platforms 2024-02-29 18:35:30 -06:00
Cameron Gutman e9bb5697b0 Move UPnP option to the top of the Network tab 2024-02-29 18:35:30 -06:00
Cameron Gutman 4252f5df7c Add option to allow HEVC usage on older Intel GPUs without low-power encoding 2024-02-29 18:35:30 -06:00
ReenigneArcher 15272fb47e fix(config): properly save global_prep_cmd and fps (#2192) 2024-02-29 10:33:19 -05:00
Cameron Gutman a0d5973799 Avoid display switching unexpectedly when the UAC secure desktop appears 2024-02-27 23:12:31 -06:00
Cameron Gutman 1020d0c133 Install ViGEmBus before starting Sunshine 2024-02-27 22:32:10 -06:00
Cameron Gutman 83e3ea5aa7 Use a common function to abort for debugging purposes 2024-02-27 21:21:16 -06:00
dependabot[bot] 53b2217a34 build(deps): bump bootstrap from 5.3.2 to 5.3.3 (#2154)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-26 22:33:13 -05:00
dependabot[bot] c605a4da2b build(deps): bump peter-evans/create-pull-request from 5 to 6 (#2083)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-26 21:36:59 -05:00
James Le Cuirot 11c5b64d39 Use nlohmann_json package instead of submodule (#2161) 2024-02-26 18:53:56 -05:00
ReenigneArcher 8a7a6c48f8 build(cmake) properly find evdev (#2176) 2024-02-26 12:55:34 -05:00
ReenigneArcher c6f94e93e0 build(cmake): error build on warning (#2165) 2024-02-24 22:34:53 -05:00
dependabot[bot] dde804f14b build(deps): bump third-party/ViGEmClient from 1920260 to 8d71f67 (#2168)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-23 21:48:41 -05:00
ReenigneArcher 341fdaad77 build(cmake): add option to skip cuda inheriting compile options (#2164) 2024-02-23 20:54:10 -05:00
ReenigneArcher 8074bf8c8d fix(main): fix version printing (#2167) 2024-02-23 20:00:53 -05:00
Cameron Gutman d1a635809a Implement backwards compatibility for NVENC APIs back to Video Codec SDK v11.0
This allows NVENC on drivers 456.71 (October 2020) and later.
2024-02-16 22:31:48 -06:00
Cameron Gutman 56da68c863 Preserve backwards-compatible argument escaping behavior for executables 2024-02-15 18:29:33 -06:00
Cameron Gutman 6ddc4b7ba3 Properly re-escape arguments when processing %* 2024-02-15 18:29:33 -06:00
Cameron Gutman 69a3edd9b0 Use Win32 APIs for UTF-16<->UTF-8 conversion
std::codecvt is deprecated since C++17 and broken for some characters/locales
2024-02-12 18:43:44 -06:00
ReenigneArcher 8689469ea8 refactor(main): move remaining entry related code (#2127) 2024-02-11 14:15:45 -05:00
ReenigneArcher a420760d36 ci(linux): increase root reserve for AppImage build (#2130) 2024-02-11 09:01:14 -05:00
Cameron Gutman 65493d09e8 Cloak MAC address from unpaired clients 2024-02-10 13:47:51 -06:00
Cameron Gutman 78ed91af5c Treat escape sequences like other replacements 2024-02-10 09:52:35 -06:00
Cameron Gutman c0ad9639c4 Fix spacing of multi-argument %* substitutions 2024-02-10 09:52:35 -06:00
Cameron Gutman 11c8cf176c Simplify and fix handling of incomplete substitution strings 2024-02-10 09:52:35 -06:00
ReenigneArcher cd2153f340 refactor(main): move file operation functions to new source (#2124) 2024-02-10 07:37:27 -05:00
ReenigneArcher 1c50bc502b refactor(main): move map_port to network (#2115) 2024-02-09 09:15:47 -05:00
ReenigneArcher d91e2c9ecb docs(examples): update uri examples (#2118) 2024-02-08 10:18:10 -05:00
Cameron Gutman 358aac9277 Modernize the default Steam shortcut
With auto-detach and properly job tracking, we don't need to run Steam detached anymore. We can just use the plain URL now too.
2024-02-08 01:59:40 -06:00
Cameron Gutman aa76b2398b Add support for starting URLs and regular files that aren't executable
This provides some limited ShellExecute-like behavior.
2024-02-08 01:59:40 -06:00
Cameron Gutman ee93890d86 Don't attempt to get the working directory of a URL 2024-02-08 01:59:40 -06:00
ReenigneArcher 0aa4f06c39 refactor(logging): separate logging from main (#2110) 2024-02-07 09:59:24 -05:00
Cameron Gutman 8373a8b947 Avoid recreating the display when no display parameters have changed 2024-02-06 20:00:24 -06:00
Cameron Gutman aee88f336a Don't fall back to undefined ref frame count on HEVC/AV1 if H.264 succeded with ref frame count specified
I don't think there are any encoders out there that support this for some codecs and not others.
2024-02-06 20:00:24 -06:00
Cameron Gutman 38d45b39ae Don't populate QP rate control fallbacks for encoders guaranteed to support CBR/VBR
It just needlessly slows down encoder probing when the encoder or codec is not supported.
2024-02-06 20:00:24 -06:00
Cameron Gutman ff8c8ce3ab Skip encoder reprobing if no GPU changes have occurred 2024-02-06 20:00:24 -06:00
ReenigneArcher 040c3a6916 style(submodules): alphabetize gitmodules (#2104) 2024-02-04 19:25:58 -05:00
ReenigneArcher 76e160bb0a style(macos): various code style fixes (#2086) 2024-02-04 18:37:44 -05:00
Cameron Gutman dea1155983 Inform clients of graceful termination when Sunshine exits 2024-02-04 16:43:59 -06:00
Cameron Gutman be6f856840 Fix DSCP tagging for dual-stack sockets on Linux 2024-02-04 16:19:22 -06:00
ReenigneArcher b7a3985807 build(docker): add docker toolchain for clion (#2098) 2024-02-03 20:57:14 -05:00
dependabot[bot] 71d88ef9c9 build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `3acba57` to `cbd0ec1`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/3acba578b19c14a23f58a5f2488c23e5c19ac637...cbd0ec1b25edfb8ee8645fffa49ff95b6e04c70e)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-03 17:02:36 -06:00
Cameron Gutman 3578727ff9 Require RTSP encryption when encryption mode is set to mandatory
This also lets us provide a friendly error to the client when it is rejected.
2024-02-03 15:05:43 -06:00
Cameron Gutman f80b23750b Implement RTSP encryption support
RTSP encryption is mandatory for client that report core version 1 or later.
2024-02-03 15:05:43 -06:00
Cameron Gutman ca29eac53a Refactor RTSP handling to be session-based rather than socket-based
This is required to support per-session attributes like encryption keys during RTSP message processing.
2024-02-03 15:05:43 -06:00
Cameron Gutman e62d6915db Fix -Wreturn-local-addr warning in event_t::view() 2024-02-03 15:05:43 -06:00
ReenigneArcher 328a300550 build(cmake): use CMAKE_SOURCE_DIR property (#2091) 2024-02-03 15:29:09 -05:00
Cameron Gutman 2008bc0eaa Use CS6 instead of CS7 for audio traffic
CS7 is reserved for network control traffic.
2024-02-02 18:30:48 -06:00
Cameron Gutman bb3b7984f3 Add refcounting to Mac and Linux QoS state to ensure it works properly with multiple clients
This means we can't control DSCP tagging per-client, but it shouldn't pose a big problem as routers that blackhole DSCP tagged traffic are pretty rare.
2024-02-02 18:30:48 -06:00
Cameron Gutman 5c9533f6d7 Allow DSCP tagging and local traffic prioritization to be enabled separately on Mac and Linux 2024-02-02 18:30:48 -06:00
Cameron Gutman c7700f96fc Enable opportunistic QoS tagging for control messages 2024-02-02 18:30:48 -06:00
Cameron Gutman fe8b0bad92 Implement workaround for qWAVE issues handling IPv4-mapped IPv6 addresses 2024-02-02 18:30:48 -06:00
dependabot[bot] 190ea41b2e build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `298f356` to `3acba57`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/298f356acbb57f56863680d41c0d307a2fd5cb91...3acba578b19c14a23f58a5f2488c23e5c19ac637)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 01:47:22 -06:00
ReenigneArcher 5e948dc835 docs(build): add missing libcurl build dep for ubuntu (#2081) 2024-01-31 19:59:11 -05:00
dependabot[bot] f82c3cbc99 build(deps): bump furo from 2023.9.10 to 2024.1.29 (#2077)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-30 08:31:14 -05:00
Cameron Gutman f70c3f1c0e Fix crash on monitor index not found in KMS 2024-01-28 14:00:46 -06:00
Cameron Gutman cf416f55e1 Fix KMS cursor capture on Nvidia GPUs 2024-01-28 14:00:46 -06:00
Cameron Gutman 8182f592e8 Implement NVENC support for KMS and wlgrab capture methods 2024-01-28 14:00:46 -06:00
Cameron Gutman 9a3553db04 Refactor to use pixel format helpers in VAAPI 2024-01-27 21:32:29 -06:00
Cameron Gutman 3b11bc86b0 Rewrite software scaling to use new multi-threaded swscale API 2024-01-27 21:32:29 -06:00
Cameron Gutman a15bd65391 Adjust default CPU thread count to 2
It's a tiny reduction of encoding quality for a major increase in performance
2024-01-27 21:32:29 -06:00
Cameron Gutman 9dfe97d405 Send the frame number in the encrypted video header 2024-01-25 23:43:30 -06:00
Cameron Gutman 65851407b1 Avoid unnecessary reallocation of the IV for every packet 2024-01-25 23:43:30 -06:00
Kelvie Wong 3f31400e7f Revert "Remove useless texture size queries for every frame in display_ram_t"
This reverts commit ebe01ce20b.

Looks like this commit undos the fix for #453, see also PRs #649 and #884.

This also adds a comment so hopefully it doesn't get removed again in
the future (or a proper fix is found).
2024-01-25 21:09:43 -06:00
ReenigneArcher 75b6e1f1d8 docs(setup): correct instruction for portfile install (#2058) 2024-01-25 20:21:05 -05:00
PVermeer 0d4dfcd708 Find the correct install paths for systemd units and udev rules (#2046) 2024-01-21 16:53:30 -05:00
ns6089 52511f3ccb Update docs for new nvenc options 2024-01-20 18:28:09 -06:00
ns6089 fe886632dc Add new nvenc options to legacy ffmpeg path 2024-01-20 18:28:09 -06:00
ns6089 6ded2a9577 Update config page for new nvenc/nvprefs options 2024-01-20 18:28:09 -06:00
ns6089 ede59e17d8 Expose more nvenc options
1. Spatial AQ, for some reason NVENC have problems recovering details on
   flat regions of static images over multiple frames, official docs
   recommend to enable it for "game-streaming"
2. Percentage increase of default single-frame VBV/HRD, can act as
   low latency variable bitrate substitute
2024-01-20 18:28:09 -06:00
ns6089 66150872b0 Add nvprefs user override options 2024-01-20 18:28:09 -06:00
ns6089 270716b862 Use safe string composition in tray tooltip 2024-01-20 18:28:09 -06:00
Lukas Senionis bf1b9a20ec Add a dedicated library for working with JSON (#2047) 2024-01-20 17:05:35 -05:00
dependabot[bot] bed58cf8b9 build(deps): bump vite from 4.4.9 to 4.5.2 (#2048)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 11:07:42 -05:00
Cameron Gutman a10ec3a98a Drop unencrypted messages on the encrypted control stream 2024-01-19 18:57:58 -06:00
Cameron Gutman c88fa655f5 Implement video encryption 2024-01-19 18:57:58 -06:00
Cameron Gutman 23fb07d4a2 Implement control stream v2 encryption 2024-01-19 18:57:58 -06:00
Cameron Gutman 2f80145b8e Change crypto::aes_t to variable size and cleanup some crypto code 2024-01-19 18:57:58 -06:00
Cameron Gutman 6b5a712506 Normalize IPv4-mapped IPv4 addresses before checking PC/LAN/WAN type 2024-01-19 18:57:58 -06:00
Cameron Gutman 3d6e7f447a Refactor audio encryption to use new encryption flags 2024-01-19 18:57:58 -06:00
Cameron Gutman 77b0bab374 Pass launch_session_t directly into session::alloc() 2024-01-19 18:57:58 -06:00
ReenigneArcher 6cdb7f7d03 docs(docker): add podman notes (#2035) 2024-01-18 21:53:33 -05:00
Rafael 2e995355dc fix(linux)!: use XDG spec for fetching Linux configuration directory (#2034) 2024-01-18 21:24:55 -05:00
Cameron Gutman 21e4450ee1 Fix stream disconnecting when reconfiguring display in X11 2024-01-18 19:14:45 -06:00
Cameron Gutman 404b434754 Fix starvation of encoder thread when not receiving new captured frames
This often happens when switching to the UAC secure desktop.
2024-01-18 19:14:45 -06:00
Cameron Gutman f64712f277 Always reset the thread desktop before calling DuplicateOutput()
Otherwise capture will fail if the thread desktop is different than the current input desktop (ex: UAC secure desktop is active)
2024-01-18 19:14:45 -06:00
Cameron Gutman 8a86678d62 Reenumerate displays when the display is reinitialized or switched 2024-01-18 19:14:45 -06:00
Cameron Gutman b94f8c0b50 Improve Name->DRM_MODE_CONNECTOR mapping with new types and names 2024-01-16 19:49:34 -06:00
Cameron Gutman df2d728af7 Fix plane_it_t skipping the last entry when iterating 2024-01-16 19:49:34 -06:00
dependabot[bot] 35b785ebb8 build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6e9ed87` to `298f356`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/6e9ed871bc3e013386c775b2ee7d31deb1151068...298f356acbb57f56863680d41c0d307a2fd5cb91)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 09:39:17 -06:00
ReenigneArcher 701b7081b1 build(linux deps): fix miniupnp dependency (#2022) 2024-01-14 15:48:46 -05:00
Cameron Gutman d0049da2df Implement pen and touch support for Linux 2024-01-14 11:45:12 -06:00
Cameron Gutman c1a3903d20 Fix absolute mouse motion being interpreted as touchscreen input 2024-01-14 11:45:12 -06:00
ReenigneArcher bc3ab8a000 fix(ui): allow hash handler to accept tab ids (#2019) 2024-01-14 09:26:58 -05:00
ReenigneArcher ec1ae4a3fe docs(advanced-usage): cross reference config UI (#2000) 2024-01-14 08:16:02 -05:00
ReenigneArcher 1ccda51df9 feat(ui): add hash handler for configuration ids (#2002) 2024-01-13 23:46:15 -05:00
ReenigneArcher 937d0d810c fix: add additional pin validation (#2007) 2024-01-13 22:03:49 -05:00
Cameron Gutman 545af98459 Add a fallback to retry codec init with more lenient config options
This allows use of low_power=1 for VAAPI to allow more performant
encoding on capable Intel hardware (like we do for QSV).

This also provides a low_power=0 fallback for QSV to allow use
on old/low-end Intel GPUs that don't support low power encoding.

Finally, this also implements a fallback to deal with the AMD
driver regression on pre-RDNA cards that causes H.264 encoding
to fail with AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY.
2024-01-12 19:50:34 -06:00
Cameron Gutman 056281b745 Implement HDR support for Linux KMS capture backend (#1994)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-11 22:41:58 -06:00
dependabot[bot] 3fb384f868 build(deps): bump third-party/tray from 8bb9978 to 2bf1c61
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `8bb9978` to `2bf1c61`.
- [Commits](https://github.com/LizardByte/tray/compare/8bb9978991a1438fe0665513012628d85f0783ce...2bf1c610300b27f8d8ce87e2f13223fc83efeb42)

---
updated-dependencies:
- dependency-name: third-party/tray
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-11 04:22:39 -08:00
Cameron Gutman 593e170da8 Implement graceful termination and group-based app tracking 2024-01-08 23:55:43 -06:00
ReenigneArcher d05a67166e feat(ui): add href to logs in fatal error container (#1984) 2024-01-07 15:02:25 -05:00
ReenigneArcher de7b81e3b4 fix(ui): reorder and add missing config options (#1993) 2024-01-07 13:32:32 -05:00
dependabot[bot] d873c8b088 build(deps): bump vue from 3.2.25 to 3.4.5 (#1983)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-07 12:31:36 -05:00
ReenigneArcher b5fae464b6 docs: refactor and general cleanup (#1992) 2024-01-07 11:58:13 -05:00
dependabot[bot] 88d46914ca build(deps): bump @vitejs/plugin-vue from 4.3.4 to 4.6.2 (#1965)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-07 11:30:30 -05:00
ReenigneArcher 60c95d6385 fix(web-api): allow trailing slash on endpoints (#1985) 2024-01-06 10:56:35 -05:00
Cameron Gutman f88df0f596 Implement support for KMS cursor plane capture (#1981) 2024-01-05 23:02:39 -06:00
ReenigneArcher 791ed48a3f fix(macos): replace depreciated AbsoluteToNanoseconds (#1986)
Co-authored-by: Cameron Gutman <2695644+cgutman@users.noreply.github.com>
2024-01-05 23:28:50 -05:00
Cameron Gutman 7d751f050e Fix EGL import for modifiers that require aux planes 2024-01-05 21:25:06 -06:00
Cameron Gutman c7e5df5976 Refactor EGLAttrib logic into a shared function 2024-01-05 21:25:06 -06:00
James Le Cuirot bc6cc2078e build(linux) make vaapi optional without dlopen (#1979)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-05 10:59:41 -05:00
Cameron Gutman 0dff8b16fd Use the new VAAPI dummy image support for kmsgrab too 2024-01-04 22:26:39 -06:00
Cameron Gutman ebe01ce20b Remove useless texture size queries for every frame in display_ram_t 2024-01-04 22:26:39 -06:00
Cameron Gutman 3adf9e5967 Don't busy loop during wlgrab capture 2024-01-04 22:26:39 -06:00
Cameron Gutman e1771de37a Fix race condition causing hangs and EGL import errors due to concurrent snapshot() calls 2024-01-04 22:26:39 -06:00
Cameron Gutman 0403ad147a Fix capturing scaled output with wlgrab 2024-01-04 22:26:39 -06:00
Cameron Gutman 1bd45ca803 Fix low-res scrolling on Linux 2024-01-04 00:51:10 -06:00
Cameron Gutman 556d9586e9 Switch to LizardByte ViGEmClient submodule 2024-01-03 21:55:37 -06:00
Cameron Gutman a01a15a54b Fix termination of child processes when the parent terminates 2024-01-03 16:50:08 -06:00
Cameron Gutman 43992e7e9b Don't fail kmsgrab init entirely if a single card doesn't work 2024-01-03 16:14:18 -06:00
Cameron Gutman 0f640b8dd9 Fix clear color when rendering to VA surfaces 2024-01-03 16:14:18 -06:00
Cameron Gutman a9b459cdb1 Use P010 instead of YUV420P10 for 10-bit VAAPI encoding 2024-01-03 16:14:18 -06:00
Cameron Gutman beb51cc925 Correctly passthrough plane format and modifiers when importing VA surface 2024-01-03 16:14:18 -06:00
Mariotaku 52e5662dd9 docs: add reset credential examples for unique pacakges (#1973) 2024-01-03 16:04:21 -05:00
Cameron Gutman e7a3c485ee Only keep the ViGEmBus connection alive while gamepads are attached 2024-01-02 19:32:19 -06:00
ReenigneArcher 9a3106fcef fix(ui): fix missing favicon (#1972) 2024-01-02 17:25:32 -05:00
Cameron Gutman caf5e02d8b Alphabetize defaultConfig 2024-01-01 19:53:57 -06:00
Cameron Gutman 3ca75bee19 Add option to disable native pen/touch support 2024-01-01 19:53:57 -06:00
Cameron Gutman 729922d2c0 Add option to disable high resolution scroll events 2024-01-01 19:53:57 -06:00
Cameron Gutman 6ea836c511 Add options to control gamepad autoselection heuristics
Also move gamepad type selection to the input tab while we're here
2024-01-01 19:53:57 -06:00
Cameron Gutman 97c921629a Move Alt to Windows mapping option to Input tab 2024-01-01 19:53:57 -06:00
ReenigneArcher 852db4877d refactor(process): re-order variables to avoid unused variable when tray is disabled (#1963) 2024-01-01 19:36:00 -05:00
ReenigneArcher c0164caaaa builds(deps): use miniupnpc package instead of submodule (#1971)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-01-01 18:48:27 -05:00
ReenigneArcher a452402267 ci(macos): install boost from source (#1954) 2024-01-01 14:42:19 -05:00
James Le Cuirot 8d14e7c6f1 Optionally allow the system installation of wayland-protocols to be used (#1966) 2024-01-01 11:49:00 -05:00
Timo Gurr faeeb7ec57 build(cmake): Use GNUInstallDirs to install data and lib directories (#1817) 2023-12-31 21:53:16 -05:00
James Le Cuirot 44b34d1e23 Optionally allow the system installation of MiniUPnP to be used (#1959) 2023-12-31 20:04:04 -05:00
ReenigneArcher fe3bf0ee6f fix(tray): use PROJECT_NAME definition for tooltip (#1958) 2023-12-31 16:34:33 -05:00
James Le Cuirot 64be0aa67a Fix grabbing code when DRM is enabled and X11 is disabled (#1956) 2023-12-31 15:57:45 -05:00
James Le Cuirot d97f724e3b Use dl handle for libva's vaTerminate rather than actual function (#1955) 2023-12-31 15:10:48 -05:00
ReenigneArcher 8efc15b58f build(cmake): do not include unneeded headers (#1957) 2023-12-31 14:25:18 -05:00
Cameron Gutman a6ffeb4b53 Don't install/update ViGEmBus if 1.17 or later is already installed (#1953)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-30 21:48:48 -06:00
Cameron Gutman 66e31a21fb Compute the bitrate on the host side for supported clients 2023-12-30 18:27:37 -06:00
ReenigneArcher 7640c504fa build(deps): use a single submodule for ffmpeg (#1952) 2023-12-30 17:36:36 -05:00
LizardByte-bot 081936879b Bump ffmpeg (#1895) 2023-12-30 14:21:43 -05:00
Cameron Gutman a9f2679a49 Implement new protocol extension to match client connections together
Fixes #1804
Fixes #1862
Fixes #1852
2023-12-30 11:26:53 -06:00
Cameron Gutman 11d472362c Print a fatal warning for lack of ViGEmBus
While this is not technically fatal, it's almost certainly not what the user wants.
2023-12-29 23:01:28 -06:00
Cameron Gutman 0d7811ad43 Demote FFmpeg fatal errors
Fixes #1849
2023-12-29 23:01:28 -06:00
Cameron Gutman eca26e664b Make wording about fatal errors a little less strong
Some "fatal" errors might be expected for some esoteric configurations.
2023-12-29 23:01:28 -06:00
dependabot[bot] 1540f2cd52 build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `f78f213` to `6e9ed87`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/f78f2135fa49e19855c2028b6865657d42d511f1...6e9ed871bc3e013386c775b2ee7d31deb1151068)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-28 19:59:37 -06:00
jensaymoo b215fe0cd9 fix: ensure user supplied framerates are used (#1548)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-28 20:06:54 -05:00
dependabot[bot] c27725c73b build(deps): bump babel from 2.13.0 to 2.14.0 (#1912)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-28 11:28:55 -05:00
dependabot[bot] 0e479bd476 build(deps): bump third-party/wayland-protocols from d70af2e to 46f201b (#1943)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-28 10:45:31 -05:00
dependabot[bot] 96e7443cab build(deps): bump @fortawesome/fontawesome-free from 6.4.2 to 6.5.1 (#1876)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-27 20:27:06 -05:00
TheElixZammuto 5bdbda90b5 Web UI migration to Vite and Vue3 and improvements to the UX (#1673)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-27 19:25:49 -05:00
LizardByte-bot 6b7b5996cc chore: update global workflows (#1921) 2023-12-19 16:41:03 -05:00
ReenigneArcher 068c3fa303 docs: use glob pattern to match source code docs (#1918) 2023-12-17 10:37:54 -05:00
dependabot[bot] 4c984cacb5 build(deps): bump actions/upload-artifact from 3 to 4 (#1915)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-15 17:50:06 -05:00
ReenigneArcher 88fc8f845b build(docker): add fedora 39 and drop fedora 37 (#1827) 2023-12-11 14:53:32 -05:00
LizardByte-bot ef9ec40509 ci: update global workflows (#1907) 2023-12-10 10:01:58 -05:00
LizardByte-bot 09ab49a869 ci: update global workflows (#1906) 2023-12-09 19:06:42 -05:00
ReenigneArcher 1dbfdbcf4f docs: fix failing images (#1903) 2023-12-09 16:53:48 -05:00
LizardByte-bot a932f6bee8 ci: update global workflows (#1904) 2023-12-09 14:38:22 -05:00
zoeyjodon a851ef6068 Extend session timeout (#1890) 2023-12-09 09:31:04 -05:00
dependabot[bot] a009d1314f build(deps): bump actions/setup-python from 4 to 5 (#1893)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-08 09:07:08 -05:00
LizardByte-bot 47b5fc1fc0 ci: update global python (#1896) 2023-12-07 11:48:02 -05:00
Cameron Gutman 4a2f7023ec Fix discovery of Windows hosts by Apple devices 2023-12-04 21:03:37 -06:00
LizardByte-bot 6dcc5e7c0f ci: update release notifier (#1891) 2023-12-04 18:12:14 -05:00
ReenigneArcher bd03ef974c docs(windows): add drive permissions troubleshooting (#1883) 2023-12-03 17:20:47 -05:00
Cameron Gutman 3b9e37e1dd Don't hardcode the signature length to RSA-2048 (#1872) 2023-11-30 23:51:45 -06:00
LizardByte-bot 336062d467 ci: update global workflows (#1863) 2023-11-23 23:28:07 -05:00
ns6089 29a1b1539f Fix incorrect portrait mode rotation center on Windows (#1851) 2023-11-17 08:43:12 -05:00
Justin Dhillon 0a563947ea docs: fix broken links (#1813)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-11-05 00:47:22 -04:00
Timo Gurr ca41c9d6f4 config: add 2K resolution (WQHD - 16:9) (#1816) 2023-11-04 20:48:52 -04:00
dependabot[bot] df72135ea1 build(deps): bump third-party/tray from 2664388 to e08bdbe (#1802)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-30 22:29:04 -04:00
everything411 842a4cf7b2 fix(audio:windows): set cbSize correctly (#1787) 2023-10-27 09:28:29 -04:00
detiam ab3ff2d355 Update linux sunshine.desktop (#1768) 2023-10-25 14:14:28 -04:00
Erick C 3212b036a1 Manual DS4 mode: Allow Back/Select to trigger Touchpad click (#1772)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-10-22 15:03:33 -04:00
Ehab Ajmal 5b052d7c2c Add guide for setting custom res with nvidia on linux (#1767)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-10-19 10:43:42 -04:00
LizardByte-bot 8096364a0a Bump ffmpeg (#1717) 2023-10-17 13:16:05 -04:00
dependabot[bot] f80251f172 build(deps): bump third-party/miniupnp from e439318 to fb5c328 (#1511)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 11:31:15 -04:00
dependabot[bot] 2617241d7b build(deps): bump third-party/Simple-Web-Server from 2f29926 to 27b41f5 (#1217)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 10:56:05 -04:00
dependabot[bot] 48a6d2af6f Bump third-party/nanors from 395e5ad to e9e242e (#1090)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:52:13 -04:00
dependabot[bot] e7fc2ed49a build(deps): bump third-party/nv-codec-headers from 9402b5a to 22441b5 (#1725)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:04:39 -04:00
dependabot[bot] 82d0ff6699 build(deps): bump third-party/wayland-protocols from 681c33c to d70af2e (#1753)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 23:10:29 -04:00
LizardByte-bot ff688d9235 ci: update release notifier (#1755) 2023-10-16 09:11:27 -04:00
ReenigneArcher 81d5816b63 docs: update changelog for v0.21.0 (#1629)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2023-10-15 17:57:07 -04:00
Elia Zammuto 045044e7e7 Remove origin_pin_allowed 2023-10-15 14:00:34 -05:00
Elia Zammuto 329620dc1a Removed legacy pairing method 2023-10-15 14:00:34 -05:00
dependabot[bot] 1e8f407f70 build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7a6d12f` to `f78f213`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7a6d12fc4e36a0b450dfbf1be85b250824c7a0d7...f78f2135fa49e19855c2028b6865657d42d511f1)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-15 13:19:39 -05:00
ns6089 a003f02ec3 Improve tray icon images (#1736) 2023-10-15 13:18:11 -04:00
ns6089 adcf2cd5a3 Optimize png assets with oxipng (#1750) 2023-10-15 09:38:17 -04:00
Cameron Gutman fe1832cda1 Revert "Use new 'remotegaming' scenario setting for QSV"
This causes Kaby Lake iGPUs to generate H.264 bitstreams with multiple
PPS NALUs which lead to some issues in current versions of Moonlight on
iOS and Android platforms.

This option also seems to override our max_dec_frame_buffering option
so it may increase latency on some Android devices too.

This reverts commit f838069a0e.
2023-10-14 01:49:47 -05:00
LizardByte-bot 5840c91248 ci: update global workflows (#1730) 2023-10-12 12:22:23 -04:00
ReenigneArcher 0c41101521 build(scripts): remove wayland-protocols from clang-format script (#1740) 2023-10-11 18:35:33 -04:00
Cameron Gutman 11361ac9b6 Send proper DS4 timestamp values in our input reports 2023-10-10 23:10:20 -05:00
ns6089 a0fcaf7d19 Properly join session monitor window thread 2023-10-10 21:10:40 -05:00
ReenigneArcher f1cd94638f build(deps): use submodules for wayland protocols (#1731) 2023-10-10 16:13:52 -04:00
Cameron Gutman 395d572b17 Fix Super key regression after 8a7111a (#1728) 2023-10-09 19:39:40 -04:00
Elia Zammuto da04f97a8c Remove false positive FATAL log 2023-10-08 18:12:06 -05:00
Cameron Gutman 8a7111a63b Use our own keycode mapping instead of relying on Windows
Loading the US English layout causes user-visible side effects.
2023-10-08 17:32:22 -05:00
ReenigneArcher 7166d2f1fd ci(codeql): fix build space issue (#1714) 2023-10-07 11:28:42 -04:00
Zack Elia 26261c18b6 Add missing dependencies for tray icon support (#1712) 2023-10-07 10:11:19 -04:00
Cameron Gutman 56d13bc7e8 Fix missing newline in SDP response 2023-10-06 21:07:14 -05:00
Cameron Gutman ee1a9a618a Remove clang-format suppressions 2023-10-06 18:29:50 -05:00
Cameron Gutman 71024491e2 Allow the Misc button to work as Guide on emulated Xbox 360 controllers
It isn't physically present on Xbox 360 controllers, so we may as well use it for something.
2023-10-06 18:29:50 -05:00
Cameron Gutman 9c401f52aa Use the linuxdeploy GTK plugin to correctly deploy GTK3 dependencies (#1708) 2023-10-06 11:08:18 -04:00
ns6089 974c4bd4a1 Remove unused shader input layout
We don't use SV_Position in our vertex shaders.
2023-10-05 23:06:40 -05:00
ns6089 7f2b96b3e0 Refactor shaders 2023-10-05 23:06:40 -05:00
ns6089 2086cad96e Support #include in dx shader compiler 2023-10-05 23:06:40 -05:00
Cameron Gutman a29978d3de Don't start the session monitor window when launched in command mode 2023-10-05 21:50:48 -05:00
LizardByte-bot 0057d22720 ci: update global workflows (#1705) 2023-10-05 12:24:58 -04:00
Cameron Gutman a08e2b3de6 Add comments clarifying AVBufferRef usage and ownership 2023-10-04 22:36:16 -05:00
Cameron Gutman dcb719ee5f Set prio_speed=1 on VideoToolbox encoder
This can massively improve encoding performance. See https://github.com/FFmpeg/FFmpeg/commit/b67572c7c707d508b15ce0543519208cf5d1fcfb
2023-10-04 22:36:16 -05:00
Cameron Gutman c56ad91693 Implement zero-copy 8/10 bit encoding for macOS 2023-10-04 22:36:16 -05:00
Cameron Gutman e535706a09 Fix CVPixelBuffer/CMSampleBuffer ownership issues 2023-10-04 22:36:16 -05:00
Cameron Gutman ca041f2934 Use AVVideoScalingModeResizeAspect instead of abusing extended pixels
This not only eliminates the hand-rolled aspect ratio correction (which didn't actually handle scaling),
but it also avoids us having to write to the GPU frames to add padding which improves performance.
2023-10-04 22:36:16 -05:00
Cameron Gutman a29d2e11ea Fix only capturing a single frame on macOS 2023-10-04 22:36:16 -05:00
Cameron Gutman bee9215805 Fix loading dummy image in the sync encoding path 2023-10-04 22:36:16 -05:00
Cameron Gutman 3246428b7d Populate color properties on the AVFrame
VideoToolbox reads them from the AVFrame instead of the AVCodecContext.
2023-10-04 22:36:16 -05:00
ReenigneArcher e9b529c46d docs: update localization (#1699) 2023-10-04 21:55:57 -04:00
ReenigneArcher af0c81f570 fix(cmake): fix appimage assets directory (#1703) 2023-10-04 21:26:09 -04:00
Cameron Gutman ed95b50f7a Automatically treat launcher-type apps as detached 2023-10-04 17:59:36 -05:00
Elia Zammuto cfd78b5ce7 Fix shutdown when called from tray callback (#1691) 2023-10-04 11:25:38 -04:00
dependabot[bot] 84f1048c94 build(deps): bump babel from 2.12.1 to 2.13.0 (#1697)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 10:23:31 -04:00
ReenigneArcher e716e56199 fix(installer): update vigembus (#1670) 2023-10-02 22:10:56 -04:00
Cameron Gutman 366c5ab675 Use oneVPL instead of legacy MFX library on Windows 2023-10-02 19:49:29 -05:00
Cameron Gutman f838069a0e Use new 'remotegaming' scenario setting for QSV 2023-10-02 19:49:29 -05:00
Cameron Gutman eeb22a3e54 AMF 'preanalysis' property is now named 'preencode'
See https://github.com/FFmpeg/FFmpeg/commit/f593dc98bfe4196ad60510008d43764e526d8cb9
2023-10-02 19:49:29 -05:00
Cameron Gutman da5559bf7a Remove usage of deprecated AVFrame key_frame field 2023-10-02 19:49:29 -05:00
LizardByte-bot da6fc0826d Bump ffmpeg 2023-10-02 19:49:29 -05:00
Cameron Gutman 3e477647ff Use a render node to create our VADisplay
Since libva 2.20, vaInitialize() will fail if we pass a primary node and
lack permission to authenticate. Since we don't actually need to have a
primary node fd to encode, let's use a render node instead.
2023-10-02 17:33:17 -05:00
Cameron Gutman 1303defb67 Fix crash during UDP segmentation due to stack garbage
CMSG_NXTHDR() tries to read the _next_ message to check if it fits in
the provided control buffer length. If that part of the stack has some
large value stored in the uninitialized cmsg_len there, CMSG_NXTHDR()
will return NULL and we will crash.
2023-10-02 00:13:47 -05:00
ReenigneArcher f76879eb0d feat(ui): add port mapping table (#1681) 2023-09-30 13:52:56 -04:00
Reece Humphreys 359c9ec3cd Link the /opt/homebrew/lib directory on macOS (#1685) 2023-09-30 12:39:58 -04:00
Reece Humphreys c1b3a20b14 Updated Homebrew build requirements to include pkg-config (#1684) 2023-09-30 09:30:08 -04:00
Arthur Kasimov 17a320bfa5 Install icons to hicolor theme on Linux (#1669) 2023-09-23 23:20:46 -04:00
Arthur Kasimov e2f59c521e Disable installation of enet headers and libraries (#1663) 2023-09-21 23:16:23 -04:00
ReenigneArcher b989d33f03 ci: fix linux tray (#1650) 2023-09-18 18:14:53 -04:00
Chase Payne 376bb76409 Fix Command Failure on cold starts with Desktop (#1652) 2023-09-18 10:29:34 -04:00
Chase Payne e3bd932ff6 Allow Desktop Streams if Prep Commands fail due to user not being logged in (#1207) 2023-09-17 15:36:04 -04:00
Elia Zammuto 47d4b619b1 Show Fatal Logs in Web UI (#1648) 2023-09-16 14:53:38 -04:00
Elia Zammuto dc967ccc7b Event Ballons and Tray Icon improvements (#1561)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-09-15 20:48:51 -04:00
dependabot[bot] fa7c16bd11 build(deps): bump bootstrap from 5.3.1 to 5.3.2 (#1642)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-15 08:44:07 -04:00
dependabot[bot] c4db8594b3 build(deps): bump sphinx from 7.2.5 to 7.2.6 (#1636)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 14:24:07 -04:00
Eric Dong b9bc4d6680 Documentation Update: Add linux ssh guide (#1527)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-09-14 13:42:35 -04:00
ReenigneArcher 997751ce48 ci(flatpak): fix boost url (#1637) 2023-09-14 13:01:59 -04:00
dependabot[bot] ce31e60fc4 build(deps): bump bootstrap from 5.3.0 to 5.3.1 (#1472)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 12:03:30 -04:00
dependabot[bot] 9736e94f29 build(deps): bump @fortawesome/fontawesome-free from 6.4.0 to 6.4.2 (#1496)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 11:25:10 -04:00
ns6089 e98d7577bb Support capturing rotated displays on Windows (#1602) 2023-09-13 10:34:26 -04:00
dependabot[bot] 9dc76e3748 build(deps): bump rstcheck[sphinx] from 6.1.2 to 6.2.0 (#1618)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 10:05:13 -04:00
dependabot[bot] bf3967977b build(deps): bump furo from 2023.8.19 to 2023.9.10 (#1617)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 09:26:58 -04:00
dependabot[bot] 78f0205370 build(deps): bump easimon/maximize-build-space from 7 to 8 (#1532)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 08:41:54 -04:00
LizardByte-bot 8e5516c123 ci: update global docker (#1630) 2023-09-13 00:09:09 -04:00
ReenigneArcher 515fafef2d fix: arch package version (#1628) 2023-09-12 14:07:47 -04:00
ReenigneArcher 6d19134581 docs: add crowdin translations to Sunshine website (#1627) 2023-09-12 13:29:21 -04:00
ns6089 b00d7af369 Update docs for new nvenc config 2023-09-07 18:03:19 -05:00
ns6089 bbad58dcf3 nvenc: reorder config.html dictionary 2023-09-07 18:03:19 -05:00
ns6089 646a569210 nvenc: add option to disable realtime hags 2023-09-07 18:03:19 -05:00
ns6089 cadb45ec3d msvc: misplaced calling convention 2023-09-07 18:03:19 -05:00
ns6089 dfd6eaefcb Don't use rounded refresh rate in info log 2023-09-07 18:03:19 -05:00
ns6089 8b40fa6dd5 nvenc: new config page 2023-09-07 18:03:19 -05:00
Cameron Gutman 11ebb47b3e Evaluate log_to_dbg value at encoder init 2023-09-05 22:37:44 -05:00
ns6089 dad7bb41d9 nvenc: rename format setters that don't do av1 2023-09-05 21:32:37 -05:00
ns6089 4094fef67a Bind constant buffers where you define them
And remove possible slot collisions.
2023-09-05 21:32:37 -05:00
ns6089 f2ed4bece9 nvenc: add chroma potition flag to vui 2023-09-05 21:32:37 -05:00
dependabot[bot] 533321fd42 build(deps): bump actions/checkout from 3 to 4 (#1604)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 20:09:25 -04:00
LizardByte-bot 8fc1940281 ci: update global cpp (#1609) 2023-09-05 18:46:54 -04:00
LizardByte-bot a402d67d90 ci: update global docker (#1608) 2023-09-05 18:46:47 -04:00
LizardByte-bot 4a657b29a3 ci: update global workflows (#1606) 2023-09-05 18:46:45 -04:00
LizardByte-bot 9bba78c11a ci: update global python (#1607) 2023-09-05 18:46:38 -04:00
dependabot[bot] da4bd6c6d3 build(deps): bump furo from 2023.7.26 to 2023.8.19 (#1558)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 21:07:15 -04:00
ReenigneArcher 92b4eeee55 refactor(cmake): split CMakeLists into modules (#1587) 2023-09-04 20:16:30 -04:00
Cameron Gutman 9543bc77d8 Fix pen tilt angle calculation 2023-09-02 11:12:59 -05:00
ReenigneArcher 6c760ff09d docs: update localization information (#1593) 2023-09-02 00:29:16 -04:00
dependabot[bot] 09afa2c614 build(deps): bump sphinx from 7.1.2 to 7.2.5 (#1583)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-01 23:35:09 -04:00
ReenigneArcher 23ec7db32b docs: update considerations (#1592) 2023-09-01 22:52:36 -04:00
ReenigneArcher a3eec98ae1 docs: lint rst files (#1581) 2023-08-31 15:49:01 -04:00
ReenigneArcher 932748916b docs: remove depreciated system_packages option from rtd config (#1580) 2023-08-31 15:12:12 -04:00
ReenigneArcher e7b112a2a6 ci: simplify macport build (#1586) 2023-08-31 14:38:14 -04:00
Cameron Gutman f1452d25ad Implement UPnP IPv6 firewall control 2023-08-27 18:12:02 -05:00
Cameron Gutman 95c573e767 Switch to using Boost classes for IPv4/IPv6 ranges 2023-08-27 18:12:02 -05:00
Cameron Gutman 62a5cd959a Implement IPv6 support 2023-08-27 18:12:02 -05:00
ns6089 7662fe8616 Don't accumulate errors in capture frame pacing 2023-08-27 13:13:43 -05:00
ns6089 b494d06f89 Adjust capture rate to better match display 2023-08-27 13:13:43 -05:00
ns6089 6683ea2ac1 Rework capture sleeps for better frame stability 2023-08-27 13:13:43 -05:00
ns6089 42a77b247e Release duplication frame after snapshot 2023-08-27 13:13:43 -05:00
ns6089 730fce4b1c Move client frame interval to local variable 2023-08-27 13:13:43 -05:00
ns6089 d2a634ee09 Don't check AccumulatedFrames
AMF doesn't do it and MSDN is unclear about it.
2023-08-27 13:13:43 -05:00
ns6089 d81e2cecaa Add high_precision_sleep() method 2023-08-27 13:13:43 -05:00
ns6089 8dc51a21df Remove DwmFlush() 2023-08-27 13:13:43 -05:00
Lukas Senionis 9ae40d3d5a Remove "config-page" class from "Output Name" field (#1572) 2023-08-27 11:06:24 -04:00
Cameron Gutman ebb6a7c9a9 Specify the source address for outbound audio and video traffic (#1569) 2023-08-26 16:37:04 -05:00
Cameron Gutman b344af2d88 Tweak wording for codec mode options to avoid users changing it 2023-08-26 12:38:24 -05:00
Cameron Gutman 24e7bd20fd Allow displays to avoid probing HEVC or AV1 codecs even when H.264 is supported
This is the case for AMF which requires certain versions for HEVC Main10 and AV1 support.
2023-08-26 12:38:24 -05:00
Cameron Gutman 728a9cc66f Treat codec modes as soft requirements 2023-08-26 12:38:24 -05:00
Cameron Gutman ef2279d627 Allow the display to reject unsupported codecs 2023-08-26 12:38:24 -05:00
ReenigneArcher e9f4409853 ci(docker): fix arch linux cache issue (#1570) 2023-08-25 21:19:44 -04:00
Cameron Gutman f9a00f3ed4 Fix FFmpeg logging going to stdout rather than our log file 2023-08-24 18:24:24 -05:00
Cameron Gutman 9d79018e9d Fix AMF debug logging to be conditional based on configured log level 2023-08-24 18:24:24 -05:00
ns6089 cea9f152d8 Add log message for audio capture buffer oveflow 2023-08-22 23:27:14 -05:00
ns6089 2c44c4dbd2 Add log message for audio buffer discontinuity 2023-08-22 23:27:14 -05:00
ns6089 3ceee008f3 Use MMCSS task in audio capture thread 2023-08-22 23:27:14 -05:00
ns6089 4d94bcc3b0 nvenc: improve rfi logic (#1542) 2023-08-22 22:24:47 -05:00
Cameron Gutman 4f748c5343 Disable libsvtav1 due to showstopping bugs 2023-08-19 18:36:48 -05:00
Cameron Gutman 625214776e Print an error if the encoder doesn't produce an IDR frame on demand 2023-08-19 18:36:48 -05:00
Cameron Gutman d4d62b7b23 Remove nonsense operator combo 2023-08-19 18:36:48 -05:00
Cameron Gutman 190c9b4216 Move AMF version check into display_vram_t to avoid blocking software encoding 2023-08-19 18:36:48 -05:00
Cameron Gutman 8b05674290 Turn off AMF filler data to match other encoders 2023-08-19 18:36:48 -05:00
Cameron Gutman 69e720b44b Implement AV1 support 2023-08-19 18:36:48 -05:00
Cameron Gutman 67c1fa6da7 Populate the last payload length field in the video header 2023-08-19 18:36:48 -05:00
Elia Zammuto a84dea3862 Windows Manifest improvements (#1557)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-08-19 14:06:35 -04:00
ReenigneArcher 5b93265053 ci(docker): fix ArchLinux image cache (#1554) 2023-08-17 21:49:59 -04:00
sitiom 828c064b2e Change Winget Releaser job to ubuntu-latest (#1551) 2023-08-17 10:17:30 -04:00
Cameron Gutman 22ab9948fa Pass the environment as a const reference so nobody else is tempted to modify it 2023-08-16 21:48:16 -05:00
Cameron Gutman 774f13aecb Fix race condition inserting new process into our job object
Before this fix, it could spawn a child that would escape our tracking if it ran before we added it to our job object.
2023-08-16 21:48:16 -05:00
LizardByte-bot 1086d4dfa2 Bump ffmpeg (#1544) 2023-08-15 21:26:34 -04:00
Chase Payne 06a6d94e87 removing debug code left from another commit 2023-08-15 18:37:24 -05:00
Chase Payne 2c953a3ce7 bugfix: fixed a bug that caused SUNSHINE_CLIENT_HDR to always be false 2023-08-15 18:37:24 -05:00
Chase Payne 980e396c4f Command Resource Exhaustion bug fix (#1531)
Co-authored-by: kirksaunders <kirksaunders12@gmail.com>
2023-08-14 19:50:23 -04:00
ns6089 def9b2d76f Add missing software device creation override 2023-08-13 15:15:32 -05:00
ns6089 f2f63cdfff nvenc: properly apply minqp to I-frames 2023-08-13 15:15:32 -05:00
ns6089 6c5fa8a08d Mark nvapi_QueryInterface as cdecl
Shouldn't matter on x64 since everything is fastcall here, but cdecl is
the correct declaration.
2023-08-13 07:01:09 -05:00
ns6089 68fa43a61c Add standalone NVENC encoder 2023-08-13 07:01:09 -05:00
ns6089 7fe52bc5f8 Update nv-codec-headers submodule 2023-08-13 07:01:09 -05:00
ns6089 b5816be104 Remove extra namespace typo 2023-08-13 07:01:09 -05:00
Cameron Gutman 166924427e Use existing H.264 SPS as a template rather than building it from scratch 2023-08-13 05:37:16 -05:00
Cameron Gutman e465014433 Fix stack exhaustion in make_sps_hevc() 2023-08-13 05:37:16 -05:00
ReenigneArcher 3017a405af ci(codeql): detect cpp and charp (#1526) 2023-08-12 15:53:45 -04:00
LizardByte-bot 9f4f2aa583 ci: update global workflows (#1525) 2023-08-12 14:52:16 -04:00
Cameron Gutman cadd3da9a7 Use UTF-8 conversion for log output and C standard library functions 2023-08-11 20:15:14 -05:00
Cameron Gutman 4186d83027 Disable HDR encoding for AMF versions below 1.4.23 2023-08-11 18:27:39 -05:00
ReenigneArcher 5a97b86fe3 ci(docker): bump cmake from 3.26 to 3.27 for Fedora (#1522) 2023-08-11 17:29:40 -04:00
dependabot[bot] be01fb112d build(deps): bump sphinx from 7.0.1 to 7.1.2 (#1495)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-10 22:27:51 -04:00
dependabot[bot] 90a192309d build(deps): bump furo from 2023.5.20 to 2023.7.26 (#1474)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-10 21:23:31 -04:00
LizardByte-bot 5528f5c7e8 ci: update global cpp (#1519)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-08-10 20:32:43 -04:00
LizardByte-bot 2c81518dda ci: update global workflows (#1518) 2023-08-09 09:08:57 -04:00
Cameron Gutman eafb018516 Fix clamping mouse position to aspect ratio adjusted viewport
Fixes #1512
2023-08-08 23:42:29 -05:00
ReenigneArcher 3fee592669 ci(windows): prevent winget action from creating an update when running on forks (#1505) 2023-08-04 18:52:51 -04:00
Cameron Gutman 21dbde9467 Fix touch input on UAC secure desktop and login screen 2023-08-03 23:04:13 -05:00
Cameron Gutman d7c76cfd2b Update gamepad touch support with latest protocol changes 2023-08-03 19:16:09 -05:00
Cameron Gutman bd68aebe4c Implement pen and touch support for Windows 2023-08-03 19:16:09 -05:00
Django 43463a9d1e Add default_value parameter to get_env for use in make_launch_session (#1490) 2023-08-01 23:08:45 -04:00
ahmadali shafiee 172a2193d3 Fix QRes command typo (#1488)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-07-31 15:50:09 -04:00
ReenigneArcher e2577193f0 ci(docker): bump gcc-10 in ubuntu 20.04 image (#1489) 2023-07-31 15:20:38 -04:00
Cameron Gutman f3a257b150 Fix QoS code build with new MinGW headers 2023-07-30 16:35:24 -04:00
Cameron Gutman d07f5dbd1b Fix audio code build with new MinGW headers 2023-07-30 16:35:24 -04:00
dependabot[bot] ba8c5ef3db build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `49fef03` to `f2cea4d`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/49fef0383020272941c4704d2ecf3e1e71174092...f2cea4d6b0e5a784150e90cd505f76015c2ace81)

---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-30 16:35:24 -04:00
ReenigneArcher 79085f0d5c ci(linux): free additional space on runner (#1480) 2023-07-30 15:36:33 -04:00
Elia Zammuto 3b2a098640 Expose Connection environment variables to the app start (#1430)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-07-29 14:21:58 -04:00
ReenigneArcher 4b986b26c2 build(deps): use submodule for nvapi opensource (#1458) 2023-07-21 08:48:15 -04:00
ReenigneArcher f541f22137 docs(website): add gh-pages (#1395) 2023-07-20 11:44:02 -04:00
ns6089 f245f777f7 Modify and restore NVIDIA control panel settings
Namely:
- Power profile for sunshine.exe
- Global OpenGL/Vulkan DXGI swapchain
2023-07-19 01:14:08 -05:00
ns6089 6992d424a8 Add nvapi-opensource files 2023-07-19 01:14:08 -05:00
ReenigneArcher 16d69f40fd build(distro): add debian bookworm package (#1455) 2023-07-18 16:29:03 -04:00
ReenigneArcher 48f05aa8c4 build(docker): free additional space on runners (#1450) 2023-07-18 15:01:56 -04:00
Vitorvlv 1193f07559 docs(app_examples): Add Plasma-Compatible Resolution Example (#1448) 2023-07-15 19:44:32 -04:00
ReenigneArcher 9e882ed4b7 style(clang-format): ignore third-party directory (#1449) 2023-07-15 10:07:01 -04:00
Cameron Gutman 50f353d183 Fix handling of gamepad feedback with multiple clients connected
We need to use the client-relative index rather than the global index
when sending feedback to the client.
2023-07-10 21:45:37 -05:00
Cameron Gutman 65b2e19b07 Rework active gamepad mask handling to be multi-channel-safe
We may get activeGamepadMask changes out of order between different
controller channels, so only check the bit of the mask corresponding to the
controller number specified in the event itself.

This also fixes the "ControllerNumber not allocated" warning each time a
gamepad is removed.
2023-07-10 21:45:37 -05:00
Cameron Gutman 3acc7ef557 Remove unused variable 2023-07-10 21:45:37 -05:00
Cameron Gutman 2ed2dd5e0e Implement touch, motion, and battery for DS4 2023-07-10 21:45:37 -05:00
Cameron Gutman 309fcc4142 Convert rumble_queue into a generic feedback_queue for gamepad messages 2023-07-10 21:45:37 -05:00
Cameron Gutman fd77230964 Stub controller battery, touch, and motion packets 2023-07-10 21:45:37 -05:00
Cameron Gutman 1ef8cb1111 Send feature flags in RTSP DESCRIBE response 2023-07-10 21:45:37 -05:00
lns103 d3578e9711 fix(installer): use the system proxy to download ViGEmBus if it is enabled (#1406) 2023-07-10 19:51:13 -04:00
Vitorvlv e1b0c98496 docs(troubleshooting): add warning about usage with Gamescope (#1438)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-07-10 09:44:41 -04:00
ns6089 6dfe56518c Decrease gpu scheduling priority for NVIDIA
Fixes #1031
2023-07-09 18:50:10 -05:00
Cameron Gutman c5bf78176e Remove GetAsyncKeyState() check before sending mouse button events
It's unnecessary and breaks in cases where event processing is slow

Fixes #1433
2023-07-08 22:58:12 -05:00
jcj83429 d075424225 Add support for Applications (context menu) key in the Windows platform
I will add corresponding support in moonlight-qt.
2023-07-08 21:21:18 -05:00
Casey Korver f3871c4449 Correct typos on web portal 2023-07-08 19:56:56 -05:00
Casey Korver 881af5b566 Correct typos in logging 2023-07-08 19:56:56 -05:00
Casey Korver b1ffa8a6c5 Correct typos in comments 2023-07-08 18:56:27 -05:00
Cameron Gutman 70dc582f38 Refactor gamepad emulation code to use the DS4 extended report format
This has the side-effect of fixing #1407 due to the incorrect assumption that
it's safe to cast our gamepad_state_t to a XUSB_REPORT.
2023-07-08 11:34:16 -05:00
Cameron Gutman b248e8b6b8 Clear additional disk space for Flatpak builds 2023-07-08 10:47:29 -05:00
aetheryx c972fa880f fix: consider link-local addresses as LAN 2023-07-06 22:53:38 -05:00
Cameron Gutman 810945f5bf Allow use of multiple ENet channels 2023-07-04 15:48:31 -05:00
Cameron Gutman 11aedf56a2 Implement controller arrival metadata support 2023-06-30 20:47:29 -05:00
Cameron Gutman 12e6774035 Fix max gamepad count to match protocol limitation 2023-06-27 21:11:19 -05:00
Cameron Gutman feedede6f9 Implement extended controller button support 2023-06-27 21:11:19 -05:00
Cameron Gutman 737be029ec Move input packet debug prints off the control stream thread
The control stream thread is extremely performance-sensitive.
2023-06-27 18:53:01 -05:00
Cameron Gutman 62606a62f9 Implement input batching for reduced latency 2023-06-27 18:53:01 -05:00
Cameron Gutman 99225c0256 Pull in latest protocol extension from moonlight-common-c 2023-06-27 18:53:01 -05:00
Era Dorta ed74492e4e fix(deps): replace libboost chrono and thread with standard chrono and thread (#1364)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-06-26 11:50:10 -04:00
ReenigneArcher 29fc20671d fix(ui): fix nightly release notifications (#1394) 2023-06-25 17:10:35 -04:00
ReenigneArcher 5c6b383b60 docs(linux): add information about mesa (#1393) 2023-06-24 17:00:46 -04:00
ReenigneArcher 5b61b7230a docs: add linux ssh example (#1388) 2023-06-22 20:48:02 -04:00
Elia Zammuto 8ff2022aaf Fix WebUI Stable Update notification (#1358) 2023-06-06 18:31:15 -04:00
ReenigneArcher cdbc0e699c docs(badges): force badges to use svg (#1342) 2023-05-31 22:07:26 -04:00
dependabot[bot] 262bed6a0d build(deps): bump bootstrap from 5.2.3 to 5.3.0 (#1339)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-31 07:11:33 -04:00
Conn O'Griofa 72d63aae68 windows: fix header conflict for msys2-w32api-headers 11.0.1+ (#1332) 2023-05-29 20:00:52 -04:00
Cameron Gutman 7cc6fcd612 v0.20.0 release prep (#1321) 2023-05-28 20:20:35 -05:00
Cameron Gutman 8090fb496b Fix software encoding defaulting to HEVC instead of H.264
Regression introduced by d973e5bbc7
2023-05-28 19:29:07 -05:00
Cameron Gutman f734d6684f Reset the default audio device on startup if Steam Streaming Speakers are selected
Fixes lack of audio device restoration if Sunshine crashes while streaming
2023-05-27 14:24:38 -05:00
Cameron Gutman bca61bfc0d Always change the sink if it differs from the active sink
Fixes audio sink field not changing devices properly
2023-05-27 14:24:38 -05:00
dependabot[bot] 1bafa5a856 build(deps): bump sphinx from 6.2.0 to 7.0.1 (#1286)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-26 20:52:39 -04:00
dependabot[bot] f37914d320 build(deps): bump furo from 2023.3.27 to 2023.5.20 (#1299)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-26 19:46:54 -04:00
Cameron Gutman 9a65c91671 Rename SunshineSvc to SunshineService
This avoids a MalwareBytes false positive.

Fixes #1126
2023-05-26 17:54:38 -05:00
Cameron Gutman 60ebafd15a Expand core component group by default 2023-05-26 17:54:38 -05:00
Cameron Gutman fe62b10324 Add an option to control whether Sunshine starts on boot 2023-05-26 17:54:38 -05:00
Cameron Gutman a87d8335bd Add a friendly name for SunshineSvc 2023-05-26 17:54:38 -05:00
Cameron Gutman 5c9750a6fb Clean up installer options now that the service is mandatory 2023-05-26 17:54:38 -05:00
Cameron Gutman 8da919f411 Rename Back Button Timeout and disable it by default
Users don't expect long presses of the back button to not work out of the box.
2023-05-25 20:03:53 -05:00
Cameron Gutman b3f57cf90d Fix emulated Home/Guide presses being missed
Fixes #1048
2023-05-25 20:03:53 -05:00
Cameron Gutman 2f4cc9ace0 Add option to always send scancodes
Default is enabled to match v0.19.1 behavior

Fixes #1233
2023-05-25 19:31:39 -05:00
Cameron Gutman 0f1dc1bb05 Print a warning if GameStream is using conflicting ports 2023-05-25 19:07:13 -05:00
Cameron Gutman f22ce25dad Fix systray after Explorer restart 2023-05-25 18:38:49 -05:00
Cameron Gutman 0e2eacb0ee Reduce opacity of placeholder text
This makes it more obvious that it's a placeholder
2023-05-24 20:34:13 -05:00
Cameron Gutman fbb77aa7cd Prefer virtual sink over audio sink if host playback is disabled
Fixes "Play audio on host PC" option not working when audio sink is manually set
2023-05-24 20:34:13 -05:00
Cameron Gutman 78737d7611 Adjust descriptions on the A/V page to discourage manual settings 2023-05-24 20:34:13 -05:00
Cameron Gutman f5e3353f82 Fix resolutions reported by dxgi-info.exe on high DPI systems 2023-05-24 18:23:32 -05:00
Cameron Gutman 5a4fd95765 Rewrite UPnP support
- Fixes port mappings expiring after a day
- Fixes support for IGDv1 gateways
- Fixes handling of gateway reboots/resets
2023-05-22 22:53:36 -05:00
Cameron Gutman 25e0244705 Stop reporting ExternalIP field to clients
At best, it doesn't help compared to Moonlight's STUN logic.

At worst, it makes things worse by providing an incorrect WAN address that overrides STUN.
2023-05-22 22:53:36 -05:00
Cameron Gutman 85af19150c Fix leak of AVPackets 2023-05-22 19:44:04 -05:00
Cameron Gutman 5b24148cfa Fix leak of VA driver resources on each encoder init 2023-05-22 19:44:04 -05:00
Cameron Gutman 8a9eed2f6f Fix leak of X509 on each HTTPS request 2023-05-22 19:44:04 -05:00
Cameron Gutman 31f72cdbff Remove Boost_NO_BOOST_CMAKE=ON to fix Windows build (#1298) 2023-05-22 09:55:13 -04:00
Arthur Kasimov 8da2caf764 Do not add 'lizard' user inside Fedora 38 container to 'input' group (#1291) 2023-05-17 10:41:54 -04:00
Cameron Gutman 32ca9d41de Fix crash on exit if a process is currently running 2023-05-15 19:11:51 -06:00
Cameron Gutman 9955890023 Fix console session changes via fast user switching
We need to respawn Sunshine.exe in the new console session.
2023-05-15 19:11:51 -06:00
ReenigneArcher f41e57ea8c ci!: remove fedora 36 (#1244) 2023-05-15 20:12:35 -04:00
Cameron Gutman 33dafbc801 Add warning when Desktop Duplication API masks protected content from capture 2023-05-14 14:28:03 -05:00
Cameron Gutman 17124deb22 Fix const-correctness bugs in round_robin.h 2023-05-11 20:52:44 -05:00
Cameron Gutman fabadaad2a Fix const-correctness bugs in uniq_ptr and code that uses it 2023-05-11 20:52:44 -05:00
Cameron Gutman 0fa406dbb7 Remove unnecessary moves in return statements 2023-05-11 20:52:44 -05:00
Cameron Gutman ff046bb707 Fix and enable -Wmissing-braces 2023-05-11 20:52:44 -05:00
Cameron Gutman 390dc1c245 Fix unused-but-set-variable warnings on Mac and Linux 2023-05-11 20:52:44 -05:00
Cameron Gutman 2571682886 Fix pessimizing move warnings on Clang 2023-05-11 20:52:44 -05:00
Cameron Gutman 8db0ad0cc6 Fix and enable -Wmaybe-uninitialized 2023-05-11 20:52:44 -05:00
Cameron Gutman f08ba0fd7c Fix missing override specifier on set_frame() 2023-05-11 20:52:44 -05:00
Cameron Gutman a4f788f853 Replace Win32 UTF-16 conversion with std::wstring_convert
Removes VLA that upsets Clang and MSVC
2023-05-11 20:52:44 -05:00
Cameron Gutman 1c83a44222 Fix const reference and const pointer types in wrap_ptr
They were const refs to a T rather than a ref to a const T.
2023-05-11 20:52:44 -05:00
Cameron Gutman f4bb410277 Treat dependency includes as system headers to suppress warnings 2023-05-11 20:52:44 -05:00
dependabot[bot] 8c85bcf64b build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `2055784` to `2cd175b`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/2055784e5d5bfb3df78d4d3645f345f19062dce2...2cd175b30366b6e295991ee0540e3e875cce6f2e)

---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-11 20:02:30 -05:00
istori1 9e23b39634 Add NO_RC_BUF_LIMIT vaapi 2023-05-11 18:59:13 -05:00
Cameron Gutman 71dcef8259 Fix systray icon sometimes not appearing after login 2023-05-11 18:32:33 -05:00
Cameron Gutman 53125ffeca Add support for installing the Steam Streaming Speakers driver (#1262)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-05-09 20:02:28 -05:00
Cameron Gutman 4ae412b219 Allow localAudioPlayMode to change on /resume
Newer clients send all /launch parameters to /resume too
2023-05-08 18:57:55 -05:00
Cameron Gutman 66989a4690 Set the default back to the virtual sink if it's changed
Fixes #976
2023-05-08 18:57:55 -05:00
Cameron Gutman bc392093a3 Reinitialize capture if the default audio device changes
We already reinitialized if the default device was removed, but we didn't in the case a new default device was set without removing the old one.
2023-05-08 18:57:55 -05:00
Cameron Gutman ccdc882c13 Fix pessimising move warning with GCC 13.1 2023-05-08 18:57:55 -05:00
ReenigneArcher 7e8c43c796 fix(ui): use release url for nightly releases (#1260) 2023-05-07 21:03:20 -04:00
ReenigneArcher 4ca6dc6c8e docs: update file level doxygen blocks (#1258) 2023-05-07 18:12:39 -04:00
ReenigneArcher 07808de447 docs: correct typo for task_pool (#1257) 2023-05-07 17:41:48 -04:00
ReenigneArcher 8f6ee0bc3c ci: add fedora 38 (#1114) 2023-05-07 15:46:14 -04:00
ReenigneArcher 979f7f4e60 docs: improvements to source code documentation (#1236) 2023-05-07 15:01:44 -04:00
Cameron Gutman 97f18d6353 Fix audio capture reinitialization
We returned instead of continuing, so audio never worked after reinit.

We also had no retry logic if no audio device was available.
2023-05-07 11:52:57 -05:00
Cameron Gutman 86c854ce97 Allow streaming even if no audio sink is available 2023-05-07 11:52:57 -05:00
Cameron Gutman e8963b8255 Only modify channel-related format attributes
Specifying sample rate will fail on devices using 192 KHz sample rate
2023-05-07 11:52:57 -05:00
Cameron Gutman e1651461fb Add 5.1 Side and Quadraphonic configs 2023-05-07 11:52:57 -05:00
Cameron Gutman e821f4d140 Fix misleading channel support information
All formats except the mix format were reported as unsupported, even if they were subsets of the mix format
2023-05-07 11:52:57 -05:00
Cameron Gutman 1d6ea8c759 Allow audio sinks to match on device names
Names are more stable than IDs on Windows
2023-05-07 11:52:57 -05:00
Cameron Gutman 3fa5f74635 Archive Win32 binaries with debug info for crash analysis
These can be used with cv2pdb to symbolicate memory dumps in WinDbg
2023-05-06 22:34:42 -05:00
kodemeister 343f200c75 Remove group and mode assignment from the udev rule 2023-05-06 14:37:45 -05:00
kodemeister 89b8cada0a Do not add 'lizard' user inside Docker container to 'input' group 2023-05-06 14:37:45 -05:00
kodemeister 3e2cb07774 Fix path to udev rules in AppRun script 2023-05-06 14:37:45 -05:00
kodemeister f6b3cdf842 Remove setup of 'input' group from documentation 2023-05-06 14:37:45 -05:00
kodemeister 5d3034701d Remove setup of 'input' group from Linux packaging scripts 2023-05-06 14:37:45 -05:00
kodemeister 06a1609aef Change udev rule to automatically grant access to virtual input devices 2023-05-06 14:37:45 -05:00
dependabot[bot] ba3b0be2c9 build(deps): bump peter-evans/create-pull-request from 4 to 5 (#1138)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-06 09:18:00 -04:00
ReenigneArcher 91460f3c72 fix(ui): allow case-insensitive username (#1249) 2023-05-06 08:45:35 -04:00
Cameron Gutman f21b1951b4 Add notes about GPU, display, and encoder compatibility 2023-05-05 23:14:04 -05:00
Cameron Gutman 020d5cd8c3 Add status messages for client errors 2023-05-05 23:14:04 -05:00
Cameron Gutman 6a3b7708bb Remove unnecessary uniqueid check for /applist
We already perform access control via client certificates
2023-05-05 23:14:04 -05:00
Cameron Gutman b59b885dbd Fix pairing error handling when the hash doesn't match
We shouldn't proceed to signature verification if we already failed hash verification
2023-05-05 23:14:04 -05:00
Cameron Gutman 663bf750d9 Add missing cstdint include 2023-05-05 22:49:39 -05:00
Cameron Gutman a7c1252fd9 Fix accidental concatenation of resolution strings
Spotted by @ns6089
2023-05-05 17:42:59 -05:00
Cameron Gutman 27f9d6d3a5 Clear the PIN field after a successful pairing 2023-05-05 17:42:59 -05:00
Cameron Gutman 2fca9cd0da Fix launching apps with a log file specified 2023-05-05 17:42:59 -05:00
Cameron Gutman a6d295b273 Wait for pending sessions to connect before breaking on app termination
If we don't wait, clients may fail control stream establishment if the app terminates early.
2023-05-05 17:42:59 -05:00
Cameron Gutman eb8aaf0093 Fix graceful termination messages being discarded by Moonlight 2023-05-05 17:42:59 -05:00
Cameron Gutman 10ea67719e Fix crash if capture is stopped before completing startup 2023-05-05 17:42:59 -05:00
Cameron Gutman df1286ac88 Fix crash if the app terminates before the control stream is connected 2023-05-05 17:42:59 -05:00
ReenigneArcher 5779a4bd89 packaging: fix macos dmg (#1141) 2023-05-04 21:07:41 -04:00
Cameron Gutman 81aecff301 Pass the SID instead of the group name to icacls
Group names are localized but well-known SIDs work everywhere.
2023-05-03 20:35:33 -05:00
Cameron Gutman c706ba4ca2 Add Windows-specific warnings if Sunshine is unable to access config or credentials
http::init() failure must be fatal because attempting to start the web servers will crash due to null creds.
2023-05-03 00:33:06 -05:00
Cameron Gutman e8f3dfe32c Reset ACLs on the config directory and migrated config files 2023-05-03 00:33:06 -05:00
Cameron Gutman 65b7f2373c Fix merging user environment variables during process launch 2023-05-03 00:33:06 -05:00
Cameron Gutman 292ef7eca3 Don't show a console window when opening a URL 2023-05-03 00:33:06 -05:00
Cameron Gutman c4c04694ac Restore the start menu shortcut as a proper launcher for the UI and service 2023-05-03 00:33:06 -05:00
Cameron Gutman 14fd7ad498 Don't recursively reset ACLs on our install directory
This will wipe out our stricter credential dir ACLs
2023-05-03 00:33:06 -05:00
Cameron Gutman 4730f4a3af Ensure the credentials dir exists before setting ACLs on it 2023-05-03 00:33:06 -05:00
Cameron Gutman c8d4fd9f69 Keep/turn the display on during streaming
IDXGIDuplication::DuplicateOutput() may fail with 0x80070005 if the display is off and cause streaming to fail
2023-05-03 00:07:01 -05:00
ns6089 8347824eee Print frame processing latency to debug log 2023-05-02 23:41:13 -05:00
ns6089 bd533dc31b Extend packet header with frame processing latency 2023-05-02 23:41:13 -05:00
ReenigneArcher 590733b313 build(deps): unpin docker dependencies (#1243) 2023-05-02 23:04:33 -04:00
ReenigneArcher 3cfb520217 fix(audio)!: remove policy config for Windows Vista (#1235) 2023-04-30 20:41:45 -04:00
Cameron Gutman 50f689ff80 Implement restart support for all platforms 2023-04-29 21:22:18 -05:00
Cameron Gutman 4668ff59e5 Fix ringing with non-truthy values in alarm_t
The Windows mDNS registration code does this in the failure path and ends up deadlocking.
2023-04-29 20:43:16 -05:00
Cameron Gutman d05dc731be Add RFC 6598 CGN CIDR block to LAN addresses list 2023-04-29 20:01:45 -05:00
Cameron Gutman 4c407c1662 Fix Fedora 37 build 2023-04-29 19:35:12 -05:00
Chase Payne 430a439698 Elevated Commands Redesign (#1123) 2023-04-29 00:22:01 -05:00
Cameron Gutman 18ab7dcf6c Remove 3-byte NALU prefix fixup
The bug in Moonlight that required it has been fixed since the middle of last year.
2023-04-28 22:20:09 -05:00
ReenigneArcher 82d6bc28c3 docs(diagrams): add diagrams using graphviz (#1228) 2023-04-27 18:28:16 -04:00
Zach Sirotto eed4df1eee fix: header guards on system tray (#1222)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-04-27 10:19:33 -04:00
ReenigneArcher 4459e54583 docs(doxygen): enable macro expansion (#1226) 2023-04-27 09:50:22 -04:00
ReenigneArcher db5c03282c refactor(tray icon): update header definitions (#1221) 2023-04-26 09:27:08 -04:00
istori1 5ad5699456 build(linux): honor install prefix for tray icon (#1208) 2023-04-25 21:45:32 -04:00
dependabot[bot] 5a8b6c3ed0 build(deps): bump sphinx from 6.1.3 to 6.2.0 (#1212)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 10:16:38 -04:00
ReenigneArcher 2138d0c9bc docs(advanced_usage): fix nvlax url (#1205) 2023-04-22 20:41:32 -04:00
ReenigneArcher 25d0f434c5 build(deps): update fedora dependencies (#1206) 2023-04-22 17:43:01 -04:00
ReenigneArcher 2215ab98b4 fix(web ui): add response headers (#1190) 2023-04-18 17:41:45 -04:00
ReenigneArcher 91afe331be build(deps): bump git from 2.39.2 to 2.40.0 for fedora 37 (#1196) 2023-04-18 17:15:13 -04:00
ReenigneArcher 820a20dc70 build(docker): update dependencies (#1193) 2023-04-17 10:56:51 -04:00
Cameron Gutman f51876893e Stop the service if the user quits via the tray icon 2023-04-16 16:16:03 -05:00
Cameron Gutman dd6fcbd7b8 Grant everyone SYNCHRONIZE access to our systray thread
Explorer requires this access right to remove our tray icon if we terminate unexpectedly
2023-04-16 16:16:03 -05:00
Cameron Gutman d33bd00bb4 Fix HEVC mode if the encoder changes 2023-04-16 15:53:02 -05:00
Cameron Gutman 006a6984c3 Use a faster probe for launch-time encoders that weren't available before 2023-04-16 15:53:02 -05:00
Cameron Gutman d973e5bbc7 Avoid unnecessary encoder probing during startup and launch 2023-04-16 15:53:02 -05:00
Cameron Gutman 8f74c3b482 Leave reference frames unspecified if REF_FRAMES_RESTRICT is not supported
FFmpeg codecs specify their own defaults that we shouldn't override.
2023-04-16 15:53:02 -05:00
dependabot[bot] 808187397d build(deps): bump sphinx-copybutton from 0.5.1 to 0.5.2 (#1182)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-16 12:02:54 -04:00
ns6089 7da33f7951 Remove unnecessary reference 2023-04-15 15:16:14 -05:00
ns6089 045d4b81a4 Switch between img and surface in last frame 2023-04-15 15:16:14 -05:00
ns6089 7b11b48317 Delayed capture buffer trim 2023-04-15 14:37:23 -05:00
Cameron Gutman 242a146712 Add DXGI_FORMAT_B8G8R8X8_UNORM as a supported capture format 2023-04-14 19:34:06 -05:00
Cameron Gutman b5c8bbaa24 Fix color conversion for SDR FP16 capture formats 2023-04-14 19:34:06 -05:00
Morgan Helton 010440dbd3 add X11 to PLATFORM_LIBARIES when found 2023-04-11 21:20:24 -05:00
ns6089 7038c1aeb0 Create config directories recursively 2023-04-11 20:48:55 -05:00
Cameron Gutman 6467e10def Reprobe encoders each time streaming begins
Available encoders can change due to driver updates, GPU hotplugging, primary monitor changes, etc.
2023-04-11 20:21:18 -05:00
Cameron Gutman 44f89de33b Respect modifier flags in keyboard events
Fixes capital letters from Android soft keyboard
2023-04-11 19:53:46 -05:00
Cameron Gutman 4e04604696 Add support for keyboard input that is not normalized to US English layout
This is used by the soft keyboards on Android and iOS
2023-04-11 19:53:46 -05:00
ns6089 ae7ae8a870 Raise capture buffer normal size to 2
Temporal measure until dynamic resize is merged.
2023-04-11 18:17:48 -05:00
ns6089 eed27d3c0a Decrease normal capture buffer to single image 2023-04-11 18:17:48 -05:00
Chase Payne 191b929ab0 Make installer DPI aware so it doesn't appear blurry to 4k screens 2023-04-11 00:00:33 -05:00
Cameron Gutman a9b7fd7fa3 Remove useless Flush() call 2023-04-08 20:36:23 -05:00
ns6089 abf4ab42a0 Don't zero-initialize non-dummy textures 2023-04-08 19:41:22 -05:00
aseligmann 0e92bdd29c Use DS4_BUTTON_SHARE as BACK action 2023-04-08 16:27:48 -05:00
Cameron Gutman 036aa2e470 Free dummy images when they are no longer needed 2023-04-08 15:15:02 -05:00
Cameron Gutman bd443395c6 Don't test HDR encoding with H.264
It doesn't work on any GPU, and even if it did, Moonlight doesn't support it.
2023-04-06 22:37:05 -05:00
Cameron Gutman 65268212ee Saturate RGB values in non-PQ shaders to improve SDR streams of HDR displays
This avoids color shift caused by RGB values > 1.0f.
2023-04-06 22:37:05 -05:00
Cameron Gutman f04d5e12de Combine the separate HDR and SDR capture formats
Since we support multi-encoding from a single display context, we have
to ensure our capture format allows for HDR color even if the initial
encoding session is SDR.
2023-04-06 22:37:05 -05:00
ns6089 290c9b3e20 Fix compilation on macOS (#1132) 2023-04-05 20:54:49 -05:00
ReenigneArcher 809d7f9d0e config: fix 4K resolution typo (#1139) 2023-04-05 10:12:02 -04:00
ReenigneArcher 01167569ab versioning: fix release versions (#1122) 2023-04-01 16:52:34 -04:00
ReenigneArcher fd7760b553 docs: use project_copyright alias (#1110) 2023-03-30 16:09:59 -04:00
LizardByte-bot 240266cc39 ci: update global workflows (#1109) 2023-03-30 09:57:33 -04:00
ReenigneArcher ee3522fb6d v0.19.1 prep (#1108) 2023-03-30 09:10:58 -04:00
LizardByte-bot bf76c1e0f2 ci: update global workflows (#1106) 2023-03-30 08:34:29 -04:00
KuleRucket cd2fe18140 Hotfix - keep platform guard in scope (#1104)
Co-authored-by: KuleRucket <luke.d.tucker@gmail.com>
2023-03-30 08:06:19 -04:00
ReenigneArcher 972f726ff9 installer: auto install vigembus (#1100) 2023-03-29 17:15:33 -04:00
ReenigneArcher f169c6d116 v0.19.0 release prep (#1097) 2023-03-29 10:00:40 -04:00
KuleRucket 70674325ba Fix system tray Open Sunshine (#1095)
Co-authored-by: KuleRucket <luke.d.tucker@gmail.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-03-28 18:51:10 -04:00
KuleRucket 57a722a3fb Continue in the face of failure (#1094)
Co-authored-by: KuleRucket <luke.d.tucker@gmail.com>
2023-03-28 17:54:46 -04:00
luk1337 1ab1b7920e Don't skip disconnected X11 outputs (#1071) 2023-03-28 16:44:32 -04:00
dependabot[bot] 44f1984af0 Bump third-party/moonlight-common-c from d3cb813 to c9426a6 (#1089)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 14:34:59 -04:00
dependabot[bot] 4b2f5befce Bump @fortawesome/fontawesome-free from 6.3.0 to 6.4.0 (#1088)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 13:57:49 -04:00
dependabot[bot] c222e343b0 Bump third-party/miniupnp from 014c9df to e439318 (#1093)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 10:53:49 -04:00
luk1337 648df66b98 Fix X11 fallback during init (#1087) 2023-03-28 10:01:11 -04:00
ReenigneArcher 21eb4eb6dd clang: adjust formatting rules (#1015) 2023-03-27 21:45:29 -04:00
pgrunzjr 79cf382cd9 Add missing setup for default global prep command exclusion dropdown (#1085) 2023-03-27 20:55:28 -04:00
ns6089 be74b740f5 Properly handle libcurl flags in CMakeLists.txt on Windows (#1079) 2023-03-27 18:59:35 -04:00
ReenigneArcher 014ca7e8a1 commands: fix prep commands when empty (#1083) 2023-03-27 16:46:25 -04:00
ReenigneArcher e1fddcc99c versioning: fix dirty commit notifications (#1084) 2023-03-27 15:55:21 -04:00
dependabot[bot] 3791edcec1 Bump third-party/nanors from 395e5ad to e9e242e (#1039)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27 15:01:06 -04:00
dependabot[bot] 1dfe9ea0f6 Bump third-party/moonlight-common-c from 02f12e4 to c9426a6 (#1038)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27 13:06:16 -04:00
dependabot[bot] e18e4f433b Bump furo from 2023.3.23 to 2023.3.27 (#1082)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27 12:42:27 -04:00
pgrunzjr 8c86baf627 Add support for global prep commands (#977) 2023-03-27 12:02:20 -04:00
Chase Payne c2fba6f651 Add Support for Safely Elevating Administrator Privileges (#1036) 2023-03-27 10:51:48 -04:00
pgrunzjr 6a914f7016 Execute do/undo commands non-elevated (#1022) 2023-03-27 10:15:35 -04:00
ReenigneArcher 6f02274dc4 docs: suppress epub mimetype warnings (#1081) 2023-03-27 09:30:22 -04:00
Conn O'Griofa bf24d0e7a6 Flatpak: update to org.freedesktop.Platform 22.08 (#936)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-03-26 21:00:41 -04:00
Chase Payne 9b0e0565b1 Nightly Notification Bug Fixes (#1073) 2023-03-26 19:28:57 -04:00
KuleRucket a487fb31ea Fix compiler warnings due to deprecated elements in C++17 (#1077)
Co-authored-by: KuleRucket <luke.d.tucker@gmail.com>
2023-03-25 21:52:46 -04:00
KuleRucket c6548f4271 Provide ability to force a capture method via configuration. (#1063)
Co-authored-by: KuleRucket <luke.d.tucker@gmail.com>
2023-03-25 21:26:28 -04:00
luk1337 455155a1c9 Add missing <string> include (#1057) 2023-03-24 19:37:06 -04:00
ReenigneArcher a0d7250c33 docs: update config defaults (#1070) 2023-03-24 19:00:27 -04:00
KuleRucket 8162d5f0d0 Change text input to select (#1067) 2023-03-24 18:18:14 -04:00
ReenigneArcher 5cdc0accad qodana: use workflow dispatch (#1069) 2023-03-24 17:41:30 -04:00
dependabot[bot] 79991654d0 Bump furo from 2022.12.7 to 2023.3.23 (#1065)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-24 08:14:50 -04:00
ReenigneArcher c820f0a670 qodana: fix notification conditions (#1053) 2023-03-21 16:41:27 -04:00
ReenigneArcher 744b54ffd4 ci: add qodana (#1052) 2023-03-21 15:37:36 -04:00
Mathias Tillman a192c504cd Use xdg-desktop-autostart.target for systemd service. (#901) 2023-03-20 10:47:14 -04:00
ReenigneArcher e20ca7a8f0 tray-icon: execute as user (#1046) 2023-03-17 08:59:13 -04:00
ReenigneArcher 7e9b18458d ui: fix apply settings (#1045) 2023-03-16 11:27:48 -04:00
ReenigneArcher d85b234f1b docs: add favicon (#1044) 2023-03-15 23:33:42 -04:00
ReenigneArcher afc6966f10 config: only save non default values (#1023) 2023-03-15 17:05:06 -04:00
ReenigneArcher 014d693112 add tray icon (#1035) 2023-03-15 16:30:18 -04:00
dependabot[bot] 237f21573b Bump third-party/miniupnp from 014c9df to e439318 (#944)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-11 13:16:14 -05:00
ReenigneArcher 27c9c0e521 docs: add wayland resolution example (#1028) 2023-03-11 11:24:31 -05:00
Mark Dietzer fbe5e2486f Fix startup when /dev/dri doesn't exist (#1027) 2023-03-11 10:27:07 -05:00
LizardByte-bot 21a728ccd2 Bump ffmpeg (#1026) 2023-03-10 13:32:45 -05:00
dependabot[bot] a72b77de71 Bump third-party/moonlight-common-c from d3cb813 to 02f12e4 (#1003)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-10 12:00:12 -05:00
Brian Kendall 80aa61b6e4 Support compiling for earlier releases of macOS (#960) 2023-03-10 09:53:29 -05:00
ReenigneArcher 6d54356166 logging: change client verified messages to debug (#1020) 2023-03-10 09:05:52 -05:00
ReenigneArcher dfb5293224 archlinux: disable downlaod timeout (#1024) 2023-03-10 08:19:42 -05:00
Joe bf4ed899d9 Skip irrelevant submodules when building on Arch (#817)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-03-09 22:29:06 -05:00
Elia Zammuto c29c917474 Versioning improvements (#768)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-03-09 18:13:57 -05:00
ReenigneArcher 889b93da2d input: invert default config settings (#1017) 2023-03-08 21:44:11 -05:00
Mathias Tillman c3f3e1606d Fix linux clang build errors (#879)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-03-08 18:05:38 -05:00
ReenigneArcher 8f1465d950 Docs improve source code documentation (#1016) 2023-03-08 17:31:19 -05:00
dependabot[bot] c89fd83040 Bump third-party/ViGEmClient from 9e842ba to 726404e (#913)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 12:03:46 -05:00
dependabot[bot] 91f5d39540 Bump @fortawesome/fontawesome-free from 6.2.1 to 6.3.0 (#900)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-08 11:19:39 -05:00
Mark Dietzer 8227e8f8e5 Add XTest input fallback (#997) 2023-03-08 09:26:06 -05:00
ABeltramo 7d01b50498 feat: implemented unicode input mode (#966)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-03-08 08:35:34 -05:00
Brian Kendall f238cf5303 Add setting for suppressing input from mouse, keyboard, or gamepads (#941) 2023-03-08 07:47:19 -05:00
ReenigneArcher 31885434f2 docs: add doxygen (#1004) 2023-03-07 20:26:03 -05:00
dependabot[bot] a1e6f441e4 Bump babel from 2.11.0 to 2.12.1 (#991)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 16:34:10 -05:00
ReenigneArcher 4ac8c5c8ec docs: improve examples (#1000) 2023-03-06 11:10:40 -05:00
Conn O'Griofa 845749d525 windows: input: activate US keyboard layout for scancode mapping (#975) 2023-02-25 14:08:42 -05:00
ReenigneArcher 9e0c72e45d github: move feature requests to moonlight board (#970) 2023-02-24 09:05:01 -05:00
dependabot[bot] e229d80466 Bump third-party/moonlight-common-c from 07beb0f to d3cb813 (#968)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 09:20:19 -05:00
ReenigneArcher e113ac6918 ci: rename windows artifacts (#953) 2023-02-20 17:39:49 -05:00
ReenigneArcher 77deff12a6 docker: updates to docker images (#942) 2023-02-20 15:03:03 -05:00
ReenigneArcher e5d5256aed build(deps): add pkg-config for macOS build (#952) 2023-02-18 16:14:52 -05:00
ReenigneArcher 032680ca9d aur: move docker build (#895) 2023-02-13 15:27:51 -05:00
ReenigneArcher 0d100a57a6 changelog: v0.18.2 (#925) 2023-02-13 09:58:10 -05:00
Conn O'Griofa 55a225d21c AMF: add missing encoder tunables (#902) 2023-02-13 09:23:29 -05:00
dependabot[bot] ae12424279 Bump vedantmgoyal2009/winget-releaser from 1 to 2 (#921)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-13 08:58:06 -05:00
Conn O'Griofa 3c223eb289 CMake: CPack: use correct Boost dependency versions (#920) 2023-02-12 21:03:35 -05:00
ReenigneArcher 9ac1e3dcd6 web: ui: add macos audio sink (#912) 2023-02-09 19:41:52 -05:00
ReenigneArcher a21e231cae web: api: add mimes type map (#890) 2023-02-08 21:35:02 -05:00
LizardByte-bot 2c4e293e21 Bump ffmpeg (#898)
Co-authored-by: LizardByte-bot <108553330+RetroArcher-bot@users.noreply.github.com>
2023-02-07 16:26:12 -05:00
Conn O'Griofa 1b45b57d07 Linux/VAAPI: implement vaSyncBuffer stub for libva <2.9.0 (#886) 2023-02-07 16:02:42 -05:00
LizardByte-bot 905904960d ci: update global docker (#897) 2023-02-07 14:21:42 -05:00
LizardByte-bot 48559a5876 ci: update global workflows (#896) 2023-02-07 13:52:39 -05:00
Grider d2461e1908 Fix wayland capture on nvidia for kms (#884) 2023-02-05 18:41:35 -05:00
dependabot[bot] f8819d32e3 Bump m2r2 from 0.3.3 to 0.3.3.post2 (#861)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 21:04:06 -05:00
ReenigneArcher 16e2789197 cmake: v0.18.1 (#874) 2023-01-31 16:43:38 -05:00
ReenigneArcher 08ac580bc6 changelog: v0.18.1 (#873) 2023-01-31 16:02:16 -05:00
Conn O'Griofa cdfcdf2dc7 CMake: CPack: set Intel MediaSDK as arch-specfic depend (#868) 2023-01-31 08:39:20 -05:00
Conn O'Griofa fb7c9e22ff CMake: Linux: update dependencies & use dynamic Boost (#864) 2023-01-30 21:29:44 -05:00
ReenigneArcher 98d61b16f6 changelog: fix parsing issue with single quotes (#858) 2023-01-29 18:38:47 -05:00
ReenigneArcher df6e15f1f7 changelog: fix v0.18.0 formatting (#857) 2023-01-29 17:42:53 -05:00
ReenigneArcher 6cc13b8ef6 docs: update changelog for v0.18.0 (#836) 2023-01-29 17:00:14 -05:00
Cameron Gutman 592f3a70a3 Display initialization and frame ownership fixes (#850) 2023-01-28 23:15:37 -06:00
istori1 9155e39e91 Flatpak build improvements (#784) 2023-01-28 15:21:16 -05:00
Cameron Gutman 142f06714f Windows installer fixes (#843) 2023-01-27 19:16:32 -06:00
Cameron Gutman a3e2c4fa31 Free AVFrame before calling eglTerminate() (#842) 2023-01-27 09:21:05 -06:00
Conn O'Griofa 8b507d2b30 Fix image leak of hardware parallel encoder on display reinit (#823) 2023-01-26 12:12:49 -05:00
manteuffel723 0698210ce1 Fix Error: Couldn't import RGB Image: 00003002 and 00003004 (#761) 2023-01-26 11:23:44 -05:00
Костадин Дамянов d33e3a2882 Restart the systemd service in case of a crash (#830) 2023-01-26 09:10:13 -05:00
Cameron Gutman bcd5188ac5 Implement HDR support for Windows (#825) 2023-01-25 19:48:55 -06:00
Jari 1f2ad8da00 Scrub basic auth header from logs (#834) 2023-01-25 19:14:59 -05:00
Aaron Rumpler 5a60090ddc Rename 'Steam BigPicture' to 'Steam Big Picture' in apps.json (#827) 2023-01-25 18:16:03 -05:00
ReenigneArcher 3bb784b379 update docker tag information (#785) 2023-01-25 17:00:21 -05:00
Jari 35b660851c Fix SimpleWeb arbitrary file read vulnurability (#829) 2023-01-25 16:26:41 -05:00
Jari d625dda4ea Steam Deck Gamingmode fix (#711) 2023-01-24 20:47:52 -06:00
Cameron Gutman 9181028bcf HDR prep work (#808) 2023-01-23 20:54:08 -06:00
LizardByte-bot fa6c279efc ci: update global workflows (#816) 2023-01-22 17:13:33 -05:00
ReenigneArcher 9d6d59aa55 cd: fix aur publish conditions (#815) 2023-01-22 13:23:24 -05:00
ReenigneArcher 9df6283da4 cd: fix aur publish conditions (#814) 2023-01-22 12:24:25 -05:00
ReenigneArcher c8c80807da fix aur nightly publishing (#813) 2023-01-22 11:44:36 -05:00
ReenigneArcher 3f202be09a docker build dependent on event type (#812) 2023-01-22 09:53:42 -05:00
Cameron Gutman 4b642f6e01 Implement horizontal scrolling and Sunshine detection for Moonlight (#793) 2023-01-21 17:42:08 -06:00
Cameron Gutman da390c37db Improve reliability of hybrid graphics detection (#801) 2023-01-20 22:12:16 -06:00
Cameron Gutman 7242202291 CMake: Default to Release build and stop hardcoding optimization flags (#777) 2023-01-20 00:18:30 -06:00
LizardByte-bot f213aae7b8 ci: update global docker (#803) 2023-01-19 17:08:47 -05:00
LizardByte-bot bfd1e81a25 ci: update global workflows (#802) 2023-01-19 12:35:16 -05:00
Lukas Senionis c81aa99c38 Fix child process spawning on linux (#773) 2023-01-19 00:40:12 -06:00
Cameron Gutman c4c0413f9e Fix streaming to multiple clients from hardware encoder on Windows (#798) 2023-01-18 07:47:00 -06:00
Cameron Gutman 49fc618682 Add support for hybrid graphics systems (NVIDIA Optimus) (#782) 2023-01-17 23:55:44 -06:00
Cameron Gutman 1fbbab9df7 QSV performance optimization and HEVC hang fix (#786) 2023-01-17 18:12:14 -06:00
Cameron Gutman 7f6383833c Replace frame capture busy loop with waitable timer (#778) 2023-01-17 09:09:15 -05:00
KuleRucket 4ef97c755a Fix multi-character character constant compiler warning (#765)
Co-authored-by: KuleRucket <luke.d.tucker@gmail.com>
2023-01-16 22:19:26 -05:00
Cameron Gutman fa14b6ead7 Network performance optimizations (#771) 2023-01-16 18:17:04 -05:00
LizardByte-bot 42f6634e85 Bump ffmpeg (#769) 2023-01-16 12:52:09 -05:00
Brad Richardson e88dec22ee Link mfx on Linux (#781) 2023-01-16 07:31:03 -05:00
Conn O'Griofa f44ae4cc8d nvenc: add nvidia preset migration guide to docs (#685) 2023-01-15 22:20:10 -05:00
ReenigneArcher 3510b8636a build with docker and improve CUDA compute capability support (#714) 2023-01-15 09:31:37 -05:00
Cameron Gutman 9fe539f87d Avoid redundant padding fills in display_vram_t::convert() (#763) 2023-01-14 20:14:55 -05:00
Cameron Gutman 4fc444b5b3 Intel QuickSync support for Windows (#758) 2023-01-14 16:23:49 -05:00
Cameron Gutman 5480d3d59d Switch to faster nanors Reed-Solomon implementation (#753) 2023-01-14 09:45:12 -05:00
Cameron Gutman 696a11942c Enforce 10 FPS encoding frame rate floor to improve static image quality (#754) 2023-01-11 11:02:53 -05:00
dependabot[bot] 43d47c6f3c Bump third-party/miniupnp from 207cf44 to 014c9df (#734)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 16:54:01 -05:00
Conn O'Griofa b405888088 CMake: Windows: harden install by including zlib1.dll (#743) 2023-01-10 16:25:09 -05:00
dependabot[bot] 3771062499 Bump sphinx from 6.1.1 to 6.1.3 (#749)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 15:46:53 -05:00
Cameron Gutman 44ad28ebf4 Fix a reference leak of hw_frames_ctx and prepare for QSV (#736) 2023-01-10 14:52:15 -05:00
Tony Langhammer 5477f58f18 Move the check for UPnP enabled up to avoid error messages (#748) 2023-01-10 13:25:16 -05:00
ReenigneArcher 7dbd5b41b2 Fix typo in Shortcuts section (#744) 2023-01-10 09:26:42 -05:00
dependabot[bot] f210b89dd7 Bump third-party/nv-codec-headers from b550d40 to 2055784 (#704)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 10:53:39 -05:00
LizardByte-bot 6ff236727f Bump ffmpeg (#693)
Co-authored-by: LizardByte-bot <108553330+RetroArcher-bot@users.noreply.github.com>
2023-01-09 10:07:27 -05:00
Brad Richardson 3af1744c9b FFmpeg updates with QSV-enabled builds (#730) 2023-01-09 08:24:21 -05:00
ReenigneArcher 009975dc7b prepare v0.17.0 (#708) 2023-01-08 20:10:13 -05:00
ReenigneArcher 23ef23159a revert windows build libpsl version lock (#729) 2023-01-08 19:41:33 -05:00
Conn O'Griofa d51afbe19d CMake: win32: fix API version, disable boost-cmake detection (#732) 2023-01-08 19:06:56 -05:00
ReenigneArcher a26877a917 fix submodule names (#725) 2023-01-08 10:05:29 -05:00
Cameron Gutman 6607062648 Fix divisor for YUV range (#728) 2023-01-08 09:04:07 -05:00
Cameron Gutman 77d3a7e2ab Color conversion fixes and BT.2020 support (#723) 2023-01-07 22:28:47 -05:00
Cameron Gutman 7770b5f708 Enable Mouse Keys while streaming for systems with no mouse plugged in (#721) 2023-01-07 15:11:14 -05:00
Cameron Gutman e2fce257b5 Fix Windows masked cursor blending with GPU encoders (#720) 2023-01-07 14:25:02 -05:00
Cameron Gutman c95f54f874 Migrate Windows config files into specific config directory (#716) 2023-01-07 13:34:06 -05:00
Brad Richardson 9b6d0b7a06 Generated app id with hashed input data (#715) 2023-01-07 09:42:40 -05:00
dependabot[bot] effa98f76a Bump sphinx from 6.0.0 to 6.1.1 (#713)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-05 19:59:41 -05:00
Cameron Gutman 65574a02d4 Add an Apply button to the Web UI when running as a Win32 Service (#700) 2023-01-05 14:26:54 -05:00
Cameron Gutman 5980e520b9 Improve robustness of encoder selection (#710) 2023-01-05 12:28:40 -05:00
Cameron Gutman 00aa23b342 Fix hang on stream termination if no frames can be captured (#709) 2023-01-05 11:21:38 -05:00
Cameron Gutman f1c225fccc Terminate Sunshine if a session doesn't terminate for more than 10 seconds (#707) 2023-01-05 09:05:25 -05:00
Cameron Gutman 08cb5fc2f2 Minor UI fixes (#696) 2023-01-04 18:44:23 -05:00
Dmitry Khlestkov 1a929cc37b Fix origin_web_ui_allowed binding (#697) 2023-01-04 12:24:20 -05:00
Cameron Gutman c72aeef67b Only increase rc_buffer_size when software encoding with more than one slice (#692) 2023-01-04 11:50:36 -05:00
Cameron Gutman 76896eba88 Fix NVENC profile values not applying (#695) 2023-01-04 11:18:28 -05:00
Cameron Gutman 1c1a7fa8c0 Fix 7.1 surround channel mapping (#694) 2023-01-04 10:08:33 -05:00
Jackson Garner ff883058e6 Fix wayland capture on nvidia (#649) 2023-01-04 09:13:09 -05:00
dependabot[bot] a3922d9eef Bump third-party/moonlight-common-c from 9da6329 to ef9ad52 (#690)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-03 22:41:25 -05:00
Cameron Gutman cc688c7845 Implement process and thread priority adjustments (#691) 2023-01-03 22:05:00 -05:00
dependabot[bot] 997e8c6e5a Bump @fortawesome/fontawesome-free from 6.2.0 to 6.2.1 (#639)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-03 19:50:59 -05:00
dependabot[bot] e410426257 Bump bootstrap from 5.0.0 to 5.2.3 (#638)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-03 19:07:03 -05:00
Tony Langhammer 30a790ba40 Fix UPnP IGD detection (#689) 2023-01-03 16:09:07 -05:00
Brad Richardson 052297a1a5 Update app id on edit (#670)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-01-02 21:02:10 -05:00
ReenigneArcher 12efe96297 fix docs badges for epub (#679) 2023-01-02 18:18:29 -05:00
ReenigneArcher 952e142ffa fix aur publish trigger event (#680) 2023-01-02 17:24:39 -05:00
Cameron Gutman 0439d7a83a Use separate encoding and capture devices to enable parallel encoding and capture (#668) 2023-01-02 15:56:58 -05:00
Cameron Gutman 76ffa2a0b5 Fix unexpected format switching in display_vram (#667) 2023-01-02 12:11:45 -05:00
ReenigneArcher f9963ed39b update clang-format (#666) 2023-01-02 11:17:02 -05:00
LizardByte-bot a7a9df3b9d ci: update global workflows (#673) 2023-01-02 10:12:06 -05:00
ReenigneArcher cfe7129100 windows: pin libpsl version (#669) 2023-01-01 23:59:53 -05:00
LizardByte-bot 97b1790d0c ci: update release notifier (#665) 2023-01-01 09:36:24 -05:00
LizardByte-bot 9ae46e1325 ci: update global docker (#663) 2023-01-01 00:35:39 -05:00
LizardByte-bot e5dedbbe46 ci: update global python (#662) 2023-01-01 00:09:29 -05:00
LizardByte-bot 17cd230c55 ci: update global workflows (#661) 2022-12-31 22:38:46 -05:00
Elia Zammuto a5213c6225 Logs inside the WebUI (#634) 2022-12-31 20:12:36 -05:00
Cameron Gutman 248b1bfa19 Fix launching apps when Sunshine is running as admin (#659) 2022-12-31 19:05:22 -05:00
Cameron Gutman 0c6d0edacf Dynamic capture format selection (IDXGIOutput5) (#654)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
2022-12-31 17:38:29 -05:00
Cameron Gutman 03b62730ae Convert keyboard input to scancodes using the US English layout (#651) 2022-12-30 13:30:11 -05:00
ReenigneArcher 91f4f15c49 set concurrency limit for CI workflow (#657) 2022-12-30 12:24:35 -05:00
dependabot[bot] 3b53734eab Bump sphinx from 5.3.0 to 6.0.0 (#653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 11:46:31 -05:00
dependabot[bot] 2dc150761c Bump third-party/ViGEmClient from f719a1d to 9e842ba (#558)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 11:02:46 -05:00
ReenigneArcher 8aaf9fd141 remove automatic desktop entry (#652) 2022-12-30 09:31:50 -05:00
ReenigneArcher 8b3b00059e Merge pull request #650 from cgutman/term_logging_feedback
Remove Enter prompt on exit and make log levels for execution messages consistent
2022-12-29 15:27:32 -05:00
Cameron Gutman e00aa4f0f3 Make log priority consistent for execution messages 2022-12-29 12:47:44 -06:00
Cameron Gutman a95a553970 Remove prompt to press enter after Sunshine exits 2022-12-29 12:47:20 -06:00
Cameron Gutman d6db10afb4 Remove/fix calls to std::abort() (#648) 2022-12-29 11:09:11 -05:00
Cameron Gutman 8ad7af86c0 Graceful termination on shutdown, logoff, and service stop (#647) 2022-12-29 09:32:23 -05:00
ReenigneArcher dc5571ba98 add cmake-lint action (#646) 2022-12-29 08:24:13 -05:00
ReenigneArcher 88a450bf1f update docs (#574) 2022-12-28 16:30:32 -05:00
Conn O'Griofa 27919697a7 CMake: NSIS: improve user upgrade experience (#587) 2022-12-28 15:39:05 -05:00
Cameron Gutman a996902a33 Generate certificates with unique serial numbers (#645) 2022-12-28 14:03:41 -05:00
LizardByte-bot ad20572dde ci: update global workflows (#643) 2022-12-28 10:48:29 -05:00
Cameron Gutman f4a48f44e4 Rework audio bitrate and quality handling (#642) 2022-12-28 09:30:51 -05:00
Cameron Gutman c7fe8f65bd windows: Fix audio when host is not using 48 KHz sample rate (#640) 2022-12-28 08:53:58 -05:00
Conn O'Griofa 215c86455f nvenc, amdvce: rework all user presets/options (#623) 2022-12-27 21:27:47 -05:00
Cameron Gutman 05f5370efe Launch games under the correct user account on Windows (#600) 2022-12-27 15:52:41 -05:00
ReenigneArcher c1f0daa024 fix npm path (#635) 2022-12-27 14:03:00 -05:00
Conn O'Griofa c0b042fa8a windows/vram: fix fringing in NV12 colour conversion (#622) 2022-12-27 11:05:57 -05:00
LizardByte-bot d69d540031 Bump ffmpeg (#631) 2022-12-27 10:24:19 -05:00
Brad Richardson 95437d15f3 FFmpeg 5 and pre-built CBS (#509) 2022-12-27 09:13:54 -05:00
Brad Richardson cbb5ec3f29 Remove duplicate boost port (#630) 2022-12-27 08:11:01 -05:00
Conn O'Griofa c3ec53c0ae CMake: win32: further fix for boost linker incompatibility (#632) 2022-12-26 23:20:46 -05:00
LizardByte-bot 5adbd2988c ci: update global workflows (#613) 2022-12-22 22:47:24 -05:00
Cameron Gutman 1e037db7bd Fix pixel pitch handling for DXGI_FORMAT_R16G16B16A16_FLOAT (#605) 2022-12-22 21:58:39 -05:00
Cameron Gutman bb092c0723 Fix streaming with non-B8G8R8A8 desktop mode (#609) 2022-12-22 20:48:31 -05:00
Cameron Gutman 1041f87a5d Spawn Sunshine.exe in a job object, so it is terminated if SunshineSvc.exe dies (#602) 2022-12-22 13:09:45 -05:00
LizardByte-bot 2b1514b547 Bump ffmpeg (#603) 2022-12-21 23:04:58 -05:00
Cameron Gutman 8a99187562 Fix SunshineSvc hanging if an error occurs during startup (#598) 2022-12-21 16:41:48 -05:00
ReenigneArcher b1ac4bc57c Merge pull request #599 from cgutman/path_env
Fix PATH variable handling on Windows
2022-12-21 11:44:47 -05:00
Cameron Gutman 6c5a323b4a Use the proper environment variable for the Program Files (x86) folder 2022-12-21 09:48:30 -06:00
Cameron Gutman dfb8d9d87f Fix PATH environment variable handling on Windows
PATH needs to be matched case-insensitively on Windows or we will just clobber the pre-existing PATH
2022-12-21 09:48:30 -06:00
Brad Richardson 7a23d6aa81 macOS arm64 (#591) 2022-12-20 14:38:50 -05:00
Conn O'Griofa 302bf58631 CMakeLists: win32: fix build against boost 1.81.0-1+ (#576) 2022-12-17 15:16:35 -05:00
dependabot[bot] 66f1ac664a Bump third-party/miniupnp from 6f848ae to 207cf44 (#557)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-12-16 18:48:09 -05:00
ReenigneArcher 223e87f30b set submodule branches (#570) 2022-12-16 17:27:28 -05:00
Cameron Gutman 633f0035c2 Send a valid PTS in the RTP video header (#529) 2022-12-16 15:56:44 -05:00
Cameron Gutman 66f46ab341 Send valid frame type value in frame header (#516) 2022-12-16 14:53:34 -05:00
Cameron Gutman f4edce318c Avoid using functions deprecated in OpenSSL 3.0 (#515) 2022-12-15 21:21:57 -05:00
Conn O'Griofa a54830cf39 video: vaapi: reduce async_depth to 1 (#545) 2022-12-15 20:37:55 -05:00
dependabot[bot] 63c105bfb1 Bump third-party/moonlight-common-c from 8169a31 to 9da6329 (#559)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-15 16:43:57 -05:00
dependabot[bot] a1d07ff0e0 Bump third-party/TPCircularBuffer from bce9170 to 8833b3a (#555)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-15 16:07:24 -05:00
Cameron Gutman 5e6a42abb2 Migrate to upstream Simple-Web-Server submodule (#517) 2022-12-15 15:32:31 -05:00
Conn O'Griofa 3fd38b3a2e video: reduce nvenc delay/async_depth to 0 (#507) 2022-12-15 14:18:11 -05:00
Conn O'Griofa cb406bce06 Video: revert software bitrate change & use more conservative bufsize (#482) 2022-12-15 13:12:25 -05:00
Conn O'Griofa a4a5d30603 AMD encoder improvements (#480) 2022-12-15 11:23:59 -05:00
ReenigneArcher 5e40248fdf update ffmpeg submodules (#565) 2022-12-15 09:31:45 -05:00
ReenigneArcher 12f1ec6b25 update issue template (#554) 2022-12-14 09:52:06 -05:00
ReenigneArcher 8c8a7bb886 update ffmpeg submodules (#552) 2022-12-14 06:51:42 -05:00
Conn O'Griofa 37c0f794b0 CMake: Linux: use standard FreeDesktop udev/systemd paths (#550) 2022-12-13 22:19:44 -05:00
ReenigneArcher fe1321f33c Merge pull request #548 from LizardByte/prepare/v0.16.0
prepare v0.16.0
2022-12-12 21:49:32 -05:00
ReenigneArcher 5b239c17d0 prepare v0.16.0 2022-12-12 21:16:19 -05:00
LizardByte-bot c60ebb76b9 ci: update global workflows (#547) 2022-12-12 20:04:06 -05:00
dependabot[bot] 6f369398b3 Bump furo from 2022.9.29 to 2022.12.7 (#531)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-11 21:16:33 -05:00
ReenigneArcher 84fdc7ee08 change linux build matrix (#468) 2022-12-11 20:26:25 -05:00
Brad Richardson e8aa7499af Sunshine prebuilts (#510) 2022-12-11 17:46:19 -05:00
LizardByte-bot a7b19f48fe ci: update release notifier (#534) 2022-12-10 10:45:09 -05:00
LizardByte-bot a6e47ff033 ci: update global workflows (#532) 2022-12-10 10:27:26 -05:00
LizardByte-bot dbe56ee583 ci: update global cpp (#533) 2022-12-10 10:02:33 -05:00
ReenigneArcher ed5ee24efb Merge pull request #530 from psyke83/restrict_boost_ver
CMake: win32: fix linker errors with mingw boost 1.80.0-2
2022-12-10 08:11:23 -05:00
ReenigneArcher 97716fa0c8 fix aur build 2022-12-10 04:17:51 +00:00
Conn O'Griofa 7648496b89 CMake: win32: fix linker errors with mingw boost 1.80.0-2 2022-12-08 14:57:21 +00:00
ReenigneArcher 5ed17fb89d Merge pull request #511 from cgutman/utf8_events
Add support for UTF-8 input messages on Windows
2022-12-08 09:11:23 -05:00
Cameron Gutman e39d9bc662 Add support for Unicode input messages on Windows 2022-11-23 21:45:26 -06:00
Cameron Gutman d912cce5ba Update moonlight-common-c to pick up new input structures 2022-11-23 21:45:26 -06:00
ReenigneArcher fbd6807eb8 Merge pull request #504 from LizardByte/update/use-npm-dependencies 2022-11-20 12:41:20 -05:00
ReenigneArcher f0cfc4aa8a update build instructions 2022-11-19 18:58:37 -05:00
ReenigneArcher 67a569c0b8 Merge branch 'nightly' into update/use-npm-dependencies 2022-11-19 12:58:58 -05:00
ReenigneArcher 981d878082 use npm dependencies 2022-11-19 12:58:29 -05:00
istori1 4c1371aaeb Add install scripts (Flatpak) (#471)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-11-18 18:52:58 -05:00
LizardByte-bot 9af770e217 ci: update global workflows (#505) 2022-11-18 17:14:22 -05:00
LizardByte-bot 4cbf8c01d2 ci: update global docker (#502) 2022-11-18 12:30:39 -05:00
LizardByte-bot 8132c82b07 ci: update global workflows (#501) 2022-11-18 12:09:31 -05:00
ReenigneArcher 4a924acbc3 Merge pull request #498 from LizardByte/dependabot/github_actions/nightly/KSXGitHub/github-actions-deploy-aur-2.6.0
Bump KSXGitHub/github-actions-deploy-aur from 2.5.0 to 2.6.0
2022-11-18 11:33:29 -05:00
dependabot[bot] 390c664e84 Bump KSXGitHub/github-actions-deploy-aur from 2.5.0 to 2.6.0
Bumps [KSXGitHub/github-actions-deploy-aur](https://github.com/KSXGitHub/github-actions-deploy-aur) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/KSXGitHub/github-actions-deploy-aur/releases)
- [Commits](https://github.com/KSXGitHub/github-actions-deploy-aur/compare/v2.5.0...v2.6.0)

---
updated-dependencies:
- dependency-name: KSXGitHub/github-actions-deploy-aur
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 16:13:29 +00:00
Mariotaku 01b8ba353a Cover Finder (#216)
Adds functionality to search and add game cover images automatically.

Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-11-18 11:07:22 -05:00
ReenigneArcher 66615a0be0 Merge pull request #500 from LizardByte/dependabot/pip/nightly/sphinx-copybutton-0.5.1
Bump sphinx-copybutton from 0.5.0 to 0.5.1
2022-11-16 09:08:01 -05:00
dependabot[bot] e924e2eedb Bump sphinx-copybutton from 0.5.0 to 0.5.1
Bumps [sphinx-copybutton](https://github.com/executablebooks/sphinx-copybutton) from 0.5.0 to 0.5.1.
- [Release notes](https://github.com/executablebooks/sphinx-copybutton/releases)
- [Changelog](https://github.com/executablebooks/sphinx-copybutton/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/sphinx-copybutton/compare/v0.5.0...v0.5.1)

---
updated-dependencies:
- dependency-name: sphinx-copybutton
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-16 00:31:17 +00:00
ReenigneArcher 4190667d94 Merge pull request #473 from LizardByte/add/docker-platform-arm64
add linux/arm64/v8 docker platform
2022-11-02 18:46:36 -04:00
ReenigneArcher 0bdb887e2c add linux/arm64/v8 docker platform 2022-11-02 18:11:37 -04:00
ReenigneArcher 92f5c49685 Merge pull request #472 from LizardByte/fix/CI-winget-releaser
fix winget release
2022-11-02 10:29:03 -04:00
ReenigneArcher 89a0109fa7 fix winget release
Fixes #464
2022-11-02 10:09:01 -04:00
ReenigneArcher cf2de6e81e Merge pull request #470 from LizardByte/dependabot/pip/nightly/babel-2.11.0
Bump babel from 2.10.3 to 2.11.0
2022-11-02 09:21:43 -04:00
dependabot[bot] 6a2a485435 Bump babel from 2.10.3 to 2.11.0
Bumps [babel](https://github.com/python-babel/babel) from 2.10.3 to 2.11.0.
- [Release notes](https://github.com/python-babel/babel/releases)
- [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-babel/babel/compare/v2.10.3...v2.11.0)

---
updated-dependencies:
- dependency-name: babel
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 12:40:43 +00:00
ReenigneArcher b310436bdb Merge pull request #469 from CrazyStevenz/patch-1
Fix credentials command typo in docs
2022-11-01 22:25:26 -04:00
Stefanos Papanatsios bea78dd3eb Fix credentials command typo in docs 2022-11-01 19:32:04 +02:00
ReenigneArcher 447a00936b Merge pull request #466 from bananaman2020/patch-1
fix typo
2022-11-01 12:11:20 -04:00
Kuba ca3bab3242 fix typo 2022-10-31 20:35:03 +00:00
ReenigneArcher 949506208e Merge pull request #459 from LizardByte/fix/CI-workflow
fix env variables for setup_release job
2022-10-30 20:56:03 -04:00
ReenigneArcher 84ae033a37 fix env variables for setup_release job 2022-10-30 20:38:32 -04:00
ReenigneArcher 8a853fc79d Merge pull request #457 from LizardByte/fix/CI-env-variables
fix CI env variables
2022-10-30 19:09:20 -04:00
ReenigneArcher c665e211cd fix CI env variables 2022-10-30 18:51:37 -04:00
ReenigneArcher 71d249b32e Merge pull request #455 from LizardByte/fix/CI-setup-release
fix CI setup-release
2022-10-30 15:45:56 -04:00
ReenigneArcher bfdcfbb357 fix CI setup-release 2022-10-30 15:25:38 -04:00
ReenigneArcher 5af39cbbb0 Merge pull request #454 from LizardByte/update/v0.15.0-changelog
prep v0.15.0
2022-10-30 13:50:45 -04:00
ReenigneArcher f34e3b03fb v0.15.0 2022-10-30 13:21:18 -04:00
ReenigneArcher 4428054d03 Merge pull request #400 from w0utert/nightly
Fix CUDA RGBA to NV12 conversion
2022-10-30 12:52:08 -04:00
ReenigneArcher b210356dfd Merge branch 'nightly' into nightly 2022-10-30 12:05:40 -04:00
ReenigneArcher 1905163b26 Merge pull request #452 from LizardByte/update/docs-theme-furo
change docs theme to `furo`
2022-10-30 11:16:12 -04:00
ReenigneArcher 3cab7e1067 change docs theme to furo 2022-10-30 10:13:59 -04:00
ReenigneArcher 42a990a12b Merge pull request #450 from LizardByte/update/nightly-release-builds
update nightly release builds
2022-10-29 17:39:08 -04:00
ReenigneArcher 5f3a466631 update nightly release builds 2022-10-29 16:53:58 -04:00
ReenigneArcher e1efdadce1 Merge pull request #447 from LizardByte/update/nightly-release-commit
fix `setup_release` outputs
2022-10-28 22:55:02 -04:00
ReenigneArcher 2183f8eb0f fix setup_release outputs 2022-10-28 22:39:45 -04:00
ReenigneArcher 3df9f3de17 Merge pull request #445 from LizardByte/update/nightly-releases
update nightly releases
2022-10-28 21:30:27 -04:00
ReenigneArcher cf5460bd80 update nightly releases
- use github sha for nightly tag
- specifically provide commit to release action
- build aarch64 flatpak on nightly release
2022-10-28 20:46:46 -04:00
ReenigneArcher 3113de6bfe Merge pull request #443 from LizardByte/add/nightly-release
add nightly release
2022-10-28 19:54:21 -04:00
ReenigneArcher 6e9aac3b83 add nightly release 2022-10-28 19:34:51 -04:00
ReenigneArcher f932d6c18c Merge pull request #442 from LizardByte/fix/winget-releaser
fix winget releaser
2022-10-28 16:23:45 -04:00
ReenigneArcher d0ce0a67f2 fix winget releaser 2022-10-28 15:44:27 -04:00
ReenigneArcher a82a9f8ada Merge pull request #441 from LizardByte/update/docs
update docs
2022-10-28 15:22:23 -04:00
ReenigneArcher 548eeb8889 update docs 2022-10-28 15:04:31 -04:00
ReenigneArcher dcdd716a57 update docker (#325)
* update docker
* remove legacy docker builds
* update docker documentation
* update docker build

Co-authored-by: ABeltramo <beltramo.ale@gmail.com>
2022-10-27 21:51:24 -04:00
ReenigneArcher dc491fa5d4 Merge pull request #432 from LizardByte/update/flatpak-apps-config-file
update apps.json
2022-10-27 11:33:14 -04:00
ReenigneArcher 322da7ea30 Merge branch 'nightly' into update/flatpak-apps-config-file 2022-10-27 11:11:44 -04:00
ReenigneArcher a043dfcf6c Update apps.json
- reformat `apps.json` files
- use `sed` to add required prefixes for flatpak build
2022-10-26 21:43:24 -04:00
ReenigneArcher 3ee511cabb Merge branch 'nightly' into nightly 2022-10-26 16:19:05 -04:00
ReenigneArcher c9c93a265a Merge pull request #345 from brownj85/master
Add missing EGL extension for linux
2022-10-26 16:16:46 -04:00
ReenigneArcher b484060831 Merge branch 'nightly' into master 2022-10-26 15:35:47 -04:00
ReenigneArcher 894cb6507e Merge pull request #431 from LizardByte/add/discord-notifier
Create release-notifier-moonlight.yml
2022-10-25 11:34:54 -04:00
ReenigneArcher 4769a9348b Create release-notifier-moonlight.yml 2022-10-25 10:38:03 -04:00
ReenigneArcher 7ad91e2dab Merge pull request #430 from istori1/patch-1
Remove libcheck and libevent
2022-10-25 09:31:36 -04:00
istori1 c1b4dccd7e Merge branch 'nightly' into patch-1 2022-10-24 17:48:34 -04:00
istori1 166f9f73e0 Enabled x264 and removed libevent 2022-10-24 17:47:19 -04:00
ReenigneArcher 1295096568 Merge pull request #428 from LizardByte/update/localize-workflow
update localize workflow
2022-10-24 14:54:08 -04:00
istori1 db55ff8ea1 Remove libcheck and disable x265 2022-10-24 07:05:13 -04:00
ReenigneArcher 88d67277f6 update localize workflow
- fix git diff comparison
- add current date to created PR
2022-10-23 13:21:00 -04:00
ReenigneArcher 83c8a460e1 Merge pull request #425 from istori1/patch-2
[Flatpak] Do not cache cuda module
2022-10-22 10:12:03 -04:00
istori1 cc0ac47f29 Update CI.yml 2022-10-21 19:40:54 -04:00
istori1 272368b59c Do not cache cuda module 2022-10-21 19:28:36 -04:00
ReenigneArcher 87856862dd Merge pull request #424 from LizardByte/add/flatpak-builder-cache
add flatpak-builder cache
2022-10-21 08:24:59 -04:00
ReenigneArcher b5ec178cd6 add flatpak-builder cache 2022-10-20 20:56:04 -04:00
istori1 49afefc43f Export Debug Bundle [Flatpak] (#422) 2022-10-20 13:37:34 -04:00
istori1 e2bb1a720a Adding back CPU encoding (#419) 2022-10-20 10:34:29 -04:00
LizardByte-bot cd89808a21 ci: update global cpp (#421) 2022-10-19 20:18:25 -04:00
LizardByte-bot 9f0af0f8ae ci: update global workflows (#417) 2022-10-19 19:34:36 -04:00
ReenigneArcher afd52ba5e0 Merge pull request #416 from istori1/patch-1
Update dev.lizardbyte.sunshine.yml
2022-10-19 19:03:46 -04:00
istori1 87f01fc0b8 Update dev.lizardbyte.sunshine.yml 2022-10-19 17:29:27 -04:00
ReenigneArcher 952d961871 Merge pull request #415 from LizardByte/add/flatpak-matrix
use matrix build for flatpak
2022-10-19 11:17:15 -04:00
ReenigneArcher ef2ca538a3 use matrix build for flatpak
Co-Authored-By: istori1 <107304850+istori1@users.noreply.github.com>
2022-10-19 10:14:28 -04:00
ReenigneArcher f9b2686547 Merge pull request #413 from istori1/patch-6
Reduce build time and cleanup for Flatpak
2022-10-18 16:00:21 -04:00
istori1 35cdc2c89b Update dev.lizardbyte.sunshine.yml 2022-10-17 20:28:45 -04:00
istori1 3baace6711 Reduce build time and cleanup 2022-10-17 17:31:12 -04:00
ReenigneArcher afe661db56 Merge pull request #411 from LizardByte/dependabot/pip/nightly/sphinx-5.3.0
Bump sphinx from 5.2.3 to 5.3.0
2022-10-17 08:48:28 -04:00
dependabot[bot] b6ae848bb5 Bump sphinx from 5.2.3 to 5.3.0
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.2.3 to 5.3.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v5.2.3...v5.3.0)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 01:22:31 +00:00
ReenigneArcher 64b52205ab Merge pull request #410 from LizardByte/update/workflows
Update workflows
2022-10-16 20:34:22 -04:00
ReenigneArcher 93315f280e Update CI.yml
- use `GITHUB_OUTPUT` instead of `set-output`
2022-10-16 17:53:22 -04:00
ReenigneArcher 9b66a5a16b Bump actions/checkout from 2 to 3 2022-10-16 14:12:48 -04:00
ReenigneArcher 09c9a1a16b Merge pull request #346 from LizardByte/fix/image-paths
fix image paths
2022-10-16 09:33:27 -04:00
ReenigneArcher b4703efbef Merge branch 'nightly' into fix/image-paths 2022-10-16 08:44:15 -04:00
ReenigneArcher 264c9272df fix string concatenation of image in assets dir 2022-10-15 20:04:40 -04:00
w0utert 79ce11fe72 Merge branch 'nightly' into nightly 2022-10-13 22:08:20 +02:00
ReenigneArcher 9213037ad4 Merge pull request #401 from istori1/patch-5
Update Flatpak sources to Kinetic
2022-10-13 14:27:49 -04:00
istori1 25a64bff44 Update Flatpak sources to Kinetic 2022-10-12 19:01:23 -04:00
ReenigneArcher f51a84c9ec Merge pull request #372 from Logical-sh/no-sink-path-rebased
[Linux Pulse/Pipewire] No sink path *rebased*
2022-10-11 08:35:16 -04:00
ReenigneArcher 907798f9da Merge branch 'nightly' into no-sink-path-rebased 2022-10-11 06:58:19 -04:00
Wouter Bijlsma 7f53388304 Fix CUDA RGBA to NV12 conversion
On linux hosts with Nvidia GPU and CUDA support enabled, a CUDA kernel
is used to convert captured RGBA frames to NV12 before encoding. This
kernel contained a bug affecting image quality, in particular when
rendering high-contrast colored text and sharp lines. See [1] for more
information.

This commit fixes the format conversion kernel by taking 2x2 RGBA blocks
to generate 4 luma (Y) values and 1 chroma (UV) pair, ie: 12 bits per
pixel YUV420 (NV12). Previous code incorrectly generated 1 UV pair for
every 2 pixels.

[1] https://github.com/LizardByte/Sunshine/issues/154
2022-10-10 21:39:58 +02:00
ReenigneArcher 43525415fd Merge pull request #322 from LizardByte/dependabot/github_actions/nightly/KSXGitHub/github-actions-deploy-aur-2.5.0
Bump KSXGitHub/github-actions-deploy-aur from 2.4.1 to 2.5.0
2022-10-10 15:29:36 -04:00
dependabot[bot] 96b3bf30f6 Bump KSXGitHub/github-actions-deploy-aur from 2.4.1 to 2.5.0
Bumps [KSXGitHub/github-actions-deploy-aur](https://github.com/KSXGitHub/github-actions-deploy-aur) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/KSXGitHub/github-actions-deploy-aur/releases)
- [Commits](https://github.com/KSXGitHub/github-actions-deploy-aur/compare/v2.4.1...v2.5.0)

---
updated-dependencies:
- dependency-name: KSXGitHub/github-actions-deploy-aur
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 18:42:42 +00:00
ReenigneArcher 8e63b2523a Merge branch 'nightly' into fix/image-paths 2022-10-10 14:41:44 -04:00
ReenigneArcher e1f0e3a719 Merge pull request #385 from LizardByte/dependabot/pip/nightly/sphinx-5.2.3
Bump sphinx from 5.1.1 to 5.2.3
2022-10-10 14:28:44 -04:00
dependabot[bot] 6800fc00f4 Bump sphinx from 5.1.1 to 5.2.3
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.1.1 to 5.2.3.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/5.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v5.1.1...v5.2.3)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 17:40:24 +00:00
LizardByte-bot e0f2d3affc ci: update issue templates (#398) 2022-10-10 13:37:52 -04:00
LizardByte-bot ac1feb386c ci: update global python (#397) 2022-10-10 12:49:59 -04:00
LizardByte-bot de091570b9 ci: update global workflows (#396) 2022-10-10 12:07:07 -04:00
ReenigneArcher 99f9174353 Merge pull request #394 from istori1/patch-3
Change Flatpak sources to jammy
2022-10-10 11:16:00 -04:00
istori1 b40d414346 Update CI.yml 2022-10-10 07:14:12 -04:00
istori1 eedcd49713 Update dev.lizardbyte.sunshine.yml 2022-10-10 06:56:22 -04:00
istori1 418d3cc76c Change Flatpak sources to jammy 2022-10-09 09:40:19 -04:00
Michael Rogers cf6107971d Merge branch 'nightly' into no-sink-path-rebased 2022-09-16 11:54:02 -05:00
Michael Rogers 62af7d255c Clang Format Applied 2022-09-16 11:47:10 -05:00
Michael Rogers d4a4096bba Added some sanity checks for no sink being detected. 2022-09-16 11:46:41 -05:00
ReenigneArcher 5e5ae0b4b8 Merge branch 'nightly' into fix/image-paths 2022-09-11 20:35:24 -04:00
ReenigneArcher 636a928fc0 Merge pull request #330 from LizardByte/fix/paths
fix path issues
2022-09-11 20:28:28 -04:00
ReenigneArcher 5f9101f72d Merge branch 'nightly' into fix/paths 2022-09-11 19:41:30 -04:00
ReenigneArcher f9040a55d5 Merge pull request #341 from istori1/patch-3
Update boost to 1.80.0 (flatpak/macport)
2022-09-11 19:28:41 -04:00
istori1 674a9da166 Update boost version in portfile 2022-09-11 08:34:52 -04:00
ReenigneArcher 2298cbbe20 remove debugging commands from add-firewall-rule.bat 2022-08-30 12:39:12 -04:00
ReenigneArcher 58ed5ba3ce fix typos and comment formatting 2022-08-28 16:42:00 -04:00
ReenigneArcher f7d4f49809 fix windows add-firewall-rule script 2022-08-28 15:51:17 -04:00
ReenigneArcher 43fa4100d2 update docs
- add information about various ports
- correct typos in macos installation instructions
2022-08-26 20:25:03 -04:00
ReenigneArcher b3a1615170 fix image paths 2022-08-26 19:40:53 -04:00
Jack Brown b421c8e2e9 Merge branch 'nightly' into master 2022-08-26 19:00:12 -04:00
Jack Brown 977a4d3d4a Add dma import modifiers EGL ext 2022-08-26 18:20:49 -04:00
ReenigneArcher 642c4a9ed7 add home directory access for flatpak 2022-08-25 08:38:56 -04:00
ReenigneArcher 83ea433857 update docs 2022-08-24 21:40:53 -04:00
ReenigneArcher 0ac67f13d7 fix assets directory for flatpak and AUR 2022-08-24 15:46:02 -04:00
istori1 f32387f67e Update boost to 1.80.0 2022-08-24 12:20:49 -04:00
ReenigneArcher 6980ee36b3 fix windows install extra commands and...
- prompt to remove install directory on uninstall
- delete start menu icons on uninstall
- create appdata folder if it doesn't exist
2022-08-20 22:18:25 -04:00
ReenigneArcher e04ed497a6 Enable firewall rules for Windows 2022-08-17 14:41:04 -04:00
ReenigneArcher 7b8abc49e2 Merge branch 'nightly' into fix/paths 2022-08-17 13:51:43 -04:00
ReenigneArcher 53bd9ea82b Merge pull request #321 from sitiom/firewall-rules
Add batch files to add and remove firewall rules
2022-08-17 13:50:13 -04:00
ReenigneArcher adeb99f8c2 Merge branch 'nightly' into firewall-rules 2022-08-17 10:26:54 -04:00
Ryan Caezar Itang 65b557d003 Add batch files to add and remove firewall rules 2022-08-16 11:57:14 +08:00
ReenigneArcher ccd568af3e Merge pull request #329 from LizardByte/update/templates
use org level PR template
2022-08-15 18:47:12 -04:00
ReenigneArcher 749bfa89ef cleanup commented out AppImage CI code 2022-08-15 18:45:05 -04:00
ReenigneArcher 663a92ce33 install bat scripts on windows 2022-08-14 22:16:20 -04:00
ReenigneArcher 8b0e6a28c2 single AppImage file
- simplify cmake install prefix and assets directory
2022-08-14 18:29:05 -04:00
ReenigneArcher 9a95ce5132 simplify portable config for AppImage 2022-08-12 18:33:40 -04:00
ReenigneArcher 7dc8546c25 remove config backup and restore 2022-08-12 16:13:04 -04:00
ReenigneArcher 30c178baa1 move default configs to assets directory 2022-08-12 16:00:19 -04:00
ReenigneArcher 911035c711 use org level PR template 2022-08-12 15:25:56 -04:00
ReenigneArcher 6000b85b1a Merge pull request #283 from LizardByte/nightly
v0.14.1
2022-08-09 19:42:10 -04:00
ReenigneArcher d661568536 Merge pull request #317 from LizardByte/prepare-v0.14.1
prepare v0.14.1
2022-08-09 18:44:36 -04:00
ReenigneArcher c4e3687c01 Merge branch 'nightly' into prepare-v0.14.1 2022-08-09 17:22:14 -04:00
ReenigneArcher a6b8371178 v0.14.1 2022-08-09 17:20:46 -04:00
ReenigneArcher f546ee8551 Merge pull request #316 from LizardByte/prepare-v0.14.1
Prepare v0.14.1
2022-08-09 08:23:20 -04:00
ReenigneArcher db28239939 v0.14.1 2022-08-08 22:40:13 -04:00
ReenigneArcher 9f87401173 fix source directory 2022-08-08 22:40:01 -04:00
ReenigneArcher 4100f790ee Merge pull request #304 from LizardByte/bot/manual-update-global-workflow-nightly-cnnsp
ci: update global workflows
2022-08-08 20:35:16 -04:00
ReenigneArcher a4acaf15b0 move sunshine to src
- this will allow for common cpp workflow files within org
2022-08-07 23:37:57 -04:00
ReenigneArcher 0de52efdb1 move TPCircularBuffer submodule 2022-08-07 23:13:19 -04:00
ReenigneArcher 1d242aed7c fix yaml-lint errors 2022-08-07 21:19:05 -04:00
LizardByte-bot 4d3c9b0be8 ci: update global workflows 2022-08-07 23:33:19 +00:00
ReenigneArcher 8164c09ea0 Merge pull request #215 from sitiom/winget-releaser
Add winget releaser action
2022-08-07 19:32:13 -04:00
ReenigneArcher b464902f25 Merge branch 'nightly' into winget-releaser 2022-08-07 18:35:09 -04:00
ReenigneArcher 844f041a58 Merge pull request #302 from LizardByte/update/html
Update/html
2022-08-07 18:16:39 -04:00
ReenigneArcher de628e843e Merge branch 'nightly' into update/html 2022-08-07 17:29:03 -04:00
ReenigneArcher de6779ed83 Merge pull request #303 from LizardByte/fix/archlinux-package-action
fixed archlinux-package-action
2022-08-07 17:28:45 -04:00
ReenigneArcher 2afa3a4390 Change docs nav header background color 2022-08-07 17:01:25 -04:00
ReenigneArcher 094ab4eb1a fixed archlinux-package-action 2022-08-07 16:46:02 -04:00
ReenigneArcher c184f16e28 fix support link and...
- remove AUR `sunshine-git` badge
2022-08-07 16:39:59 -04:00
ReenigneArcher 15aca474eb fix button formatting 2022-08-07 16:34:39 -04:00
ReenigneArcher d963bd1daa add discord widgetbot crate 2022-08-07 16:34:15 -04:00
istori1 d38392aea0 sunshine.conf and apps.json on user's home config dir (#269) 2022-08-05 20:47:21 -04:00
sitiom b7ef109d95 Update Winget badge link (#284)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-08-03 15:56:35 -04:00
dependabot[bot] dc8bda0e1b Bump KSXGitHub/github-actions-deploy-aur from 2.3.0 to 2.4.1 (#292)
Bumps [KSXGitHub/github-actions-deploy-aur](https://github.com/KSXGitHub/github-actions-deploy-aur) from 2.3.0 to 2.4.1.
- [Release notes](https://github.com/KSXGitHub/github-actions-deploy-aur/releases)
- [Commits](https://github.com/KSXGitHub/github-actions-deploy-aur/compare/v2.3.0...v2.4.1)

---
updated-dependencies:
- dependency-name: KSXGitHub/github-actions-deploy-aur
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-08-03 15:13:31 -04:00
Ryan Caezar Itang 7cc5e1345c Add Winget Releaser workflow 2022-08-03 23:31:29 +08:00
Robert 49147694de Fix minor typo (#287)
Correct 'verfied' to 'verified'

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-08-02 09:20:34 -04:00
istori1 58a71bf3e7 Add permission for Flatpak. (#291)
* Add permission for Flatpak.

Adding --talk-name=org.freedesktop.Flatpak as this is needed to launch applications on the host. Example flatpak-spawn --host sleep 1m.

* Alphabetical order
2022-07-31 20:52:39 -04:00
LizardByte-bot 5ac84fd03f ci: update global workflows (#286) 2022-07-30 21:48:13 -04:00
LizardByte-bot 1439c8d951 ci: update release notifier (#282) 2022-07-30 15:14:28 -04:00
LizardByte-bot ce9934ca52 ci: update issue templates (#281) 2022-07-30 13:44:57 -04:00
LizardByte-bot 7451c1bd17 ci: update global cpp (#280) 2022-07-29 23:18:06 -04:00
LizardByte-bot 7340f7660b ci: update dependabot (#278) 2022-07-29 22:29:35 -04:00
LizardByte-bot a9af8472df ci: update global workflows (#279) 2022-07-29 21:45:02 -04:00
LizardByte-bot b5fa9bb1be ci: update global python (#277)
Co-authored-by: LizardByte-bot <108553330+RetroArcher-bot@users.noreply.github.com>
2022-07-29 19:28:15 -04:00
dependabot[bot] f850b037bc Bump sphinx from 5.0.2 to 5.1.1 in /scripts (#268)
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 5.0.2 to 5.1.1.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/5.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v5.0.2...v5.1.1)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-29 10:47:41 -04:00
ReenigneArcher da3c39e9e3 change org to LizardByte (#263)
- updates issue template
- updates docker readme
2022-07-29 09:45:26 -04:00
ReenigneArcher 7d4df19cdc fix aur build (#273)
* fix aur build

* Update both aur repos
2022-07-29 08:56:07 -04:00
istori1 d19c883067 Add CUDA to Flatpak (#218) 2022-07-05 19:27:14 -04:00
ReenigneArcher 42eda48ce4 Merge pull request #232 from SunshineStream/fix-CI-for-outside-pull-requests
Fix flatpak CI for outside pull requests
2022-06-29 20:32:25 -04:00
ReenigneArcher fd0dc9ab8e Fix flatpak CI for outside pull requests 2022-06-29 20:02:15 -04:00
ReenigneArcher 1415c8b200 Merge pull request #204 from SunshineStream/macports-improvements
Macports improvements
2022-06-29 19:44:46 -04:00
ReenigneArcher 8ba3c073e7 Remove macOS requirements table 2022-06-29 19:08:14 -04:00
ReenigneArcher 92f1313993 Merge branch 'nightly' into macports-improvements 2022-06-29 19:06:33 -04:00
ReenigneArcher 2b3c514aad Merge pull request #214 from SunshineStream/add-aur-publish
Integrate AUR package `sunshine-git`
2022-06-29 18:57:16 -04:00
ReenigneArcher 819501c4e7 Use v2.3.0 of KSXGitHub/github-actions-deploy-aur action 2022-06-28 20:39:58 -04:00
ReenigneArcher 3b2226c4ea Add paths for aur package 2022-06-28 20:39:33 -04:00
ReenigneArcher 00405892cb Don't rename default config files 2022-06-28 19:26:34 -04:00
ReenigneArcher 3cd3d261e9 Update macOS documentation 2022-06-28 19:16:24 -04:00
ReenigneArcher 4f07672cfa CI cleanup 2022-06-28 19:00:13 -04:00
ReenigneArcher 25e21ee807 Fix removing directories for macos uninstall_pkg 2022-06-25 19:10:47 -04:00
ReenigneArcher 270d4ddffe Fix paths for AUR and...
- Rename udev rules file
- Refactor CI to properly collect clone url for PRs (AUR only)
2022-06-23 23:55:48 -04:00
ReenigneArcher 46dede3381 Disable matrix for Macports
- Currently cannot build Sunshine on macOS < 10.8 due to missing video toolbox framework
2022-06-23 22:58:27 -04:00
ReenigneArcher 7019756fa1 Fix macos uninstall pkg script 2022-06-23 20:42:18 -04:00
ReenigneArcher a1d8cc2296 Update installation.rst 2022-06-22 21:43:18 -04:00
ReenigneArcher c61b31e8a6 Create uninstall_pkg.sh 2022-06-22 21:42:10 -04:00
ReenigneArcher 802e5c79fa Add config option SUNSHINE_MACOS_PACKAGE
- Refactor UNIX/APPLE packaging
2022-06-22 19:52:48 -04:00
ReenigneArcher 6b64149591 Update Portfile
- Add `compiler.cxx_standard`
- Don't overwrite config files
- Fix `maintainers`
- Correct cmake configure arguments
- Remove `destroot`
- Use `git` instead of `github.setup`
- Set revision to 0
- Add long description
2022-06-21 22:35:03 -04:00
ReenigneArcher 8fc8884dbc Update PKGBUILD
- Add `avahi` as dependency
- Order dependencies in alphabetical order
- Use fast compilation for `make` command
2022-06-20 20:35:19 -04:00
ReenigneArcher 2b76111e51 Remove AUR from issue template config 2022-06-20 19:44:20 -04:00
ReenigneArcher 54221ae938 Use cached responses for AUR badges 2022-06-20 19:19:47 -04:00
ReenigneArcher f07171315f Configure PKGBUILD according to github event
- Release to AUR on push into `master`
- Update AUR installation instructions
- Use common linux directories for `PKGBUILD`
2022-06-19 23:35:02 -04:00
ReenigneArcher f4074341a5 Add AUR PKGBUILD 2022-06-19 14:42:19 -04:00
ReenigneArcher 9c4763af75 Configure Portfile in Macports job 2022-06-18 14:19:34 -04:00
ReenigneArcher 6dc10a4d60 Merge branch 'nightly' into macports-improvements 2022-06-18 12:48:35 -04:00
ReenigneArcher 4b332d6fa0 Merge branch 'macports-improvements' of https://github.com/SunshineStream/Sunshine into macports-improvements 2022-06-18 12:13:05 -04:00
ReenigneArcher 12a361a3d9 Merge pull request #195 from SunshineStream/add-flatpak
Initial flatpak packaging
2022-06-18 11:59:00 -04:00
ReenigneArcher 840013ec78 Update documentation for Flatpak 2022-06-18 11:10:07 -04:00
sitiom e45452b9bc Add Winget in Third Party Packages (#207)
* Add Winget in Third Party Packages
* Add etiquette tip in Contributing section

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-06-18 09:42:05 -04:00
ReenigneArcher 8509260194 Fix branch for PUSH events
- This partially fixes #194
2022-06-17 19:18:56 -04:00
ReenigneArcher 2a13697fef Replace hardcoded paths for unix and...
- Add cache for flatpak job

Co-Authored-By: istori1 <107304850+istori1@users.noreply.github.com>
2022-06-17 17:58:07 -04:00
ReenigneArcher bd51a7d5fa Refactor assets and config directories 2022-06-17 15:30:56 -04:00
ReenigneArcher 1cf0360520 Initial flatpak packaging
- adds `com.github.sunshinestream.sunshine.yml`
- moves and renames `sunshine.desktop`
- moves and renames `Portfile`
- adds cmake options for configuration only

Co-Authored-By: istori1 <107304850+istori1@users.noreply.github.com>
2022-06-17 14:29:34 -04:00
ReenigneArcher 4a0d632c6e Lint and built Portfile 2022-06-17 11:14:34 -04:00
ReenigneArcher d336de68a2 Merge pull request #202 from SunshineStream/dependabot/pip/scripts/nightly/babel-2.10.3
Bump babel from 2.9.1 to 2.10.3 in /scripts
2022-06-17 10:19:15 -04:00
dependabot[bot] 1175a3184e Bump babel from 2.9.1 to 2.10.3 in /scripts
Bumps [babel](https://github.com/python-babel/babel) from 2.9.1 to 2.10.3.
- [Release notes](https://github.com/python-babel/babel/releases)
- [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-babel/babel/compare/v2.9.1...v2.10.3)

---
updated-dependencies:
- dependency-name: babel
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 14:03:34 +00:00
ReenigneArcher dde56c2bb7 Merge pull request #209 from SunshineStream/dependabot/pip/scripts/nightly/sphinx-5.0.2
Bump sphinx from 4.5.0 to 5.0.2 in /scripts
2022-06-17 10:02:54 -04:00
dependabot[bot] 7da652e299 Bump sphinx from 4.5.0 to 5.0.2 in /scripts
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.5.0 to 5.0.2.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/5.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.5.0...v5.0.2)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 13:25:50 +00:00
ReenigneArcher 3663e35ecf Lint and built Portfile 2022-06-16 17:40:26 -04:00
ReenigneArcher e78ec5c2ce Add notes 2022-06-16 16:18:59 -04:00
ReenigneArcher 70ae7a2fa9 Merge pull request #190 from SunshineStream/nightly
v0.14.0
2022-06-15 18:29:04 -04:00
ReenigneArcher 651d75fce7 Update version 2022-06-15 18:17:12 -04:00
ReenigneArcher c3dfcc1f11 Merge pull request #189 from SunshineStream/update-changelog-v0.14.0
Update CHANGELOG.md for v0.14.0
2022-06-15 18:07:50 -04:00
ReenigneArcher a02d314dde Update CHANGELOG.md for v0.14.0 2022-06-15 17:50:11 -04:00
ReenigneArcher b5fd69a9ed Merge pull request #164 from psyke83/DwmFlush
platform/windows: add DwmFlush() call to improve Windows capture
2022-06-15 17:49:45 -04:00
Conn O'Griofa 2d969c2ccc platform/windows: change dwmflush default, add autodetection
On each re/init, query the active monitor refresh rate via
DwmGetCompositionTimingInfo. If the client requested framerate exceeds
the host monitor refresh, automatically disable DwmFlush.

This avoids the problem by which DwmFlush would constrain the client
FPS if the host monitor runs at a lower refresh rate, thus allowing
the feature to be enabled by default.

If there are other issues caused by DwmFlush for certain systems,
it can still be disabled via configuration.
2022-06-15 22:23:09 +01:00
Conn O'Griofa 211b25848f platform/windows: add optional DwmFlush() call to improve Windows capture
Invoke DwmFlush() before acquiring the next frame to alleviate visual stutter
during mouse movement at the cost of constraining the capture rate to the host's
monitor refresh.

Disabled by default; enable via "dwmflush" boolean configuration parameter.
2022-06-15 22:23:09 +01:00
Conn O'Griofa d051b58190 webui: correct AMD AMF Coder name & pre-fill default setting 2022-06-15 22:23:09 +01:00
Conn O'Griofa ab0a6b5fa6 webui: remove erroneous v-bind properties
These were causing unusual behaviour (select dialogs displaying a blank label
when a value should be selected, and values randomly setting themselves to
undefined when switching tabs).
2022-06-15 22:23:09 +01:00
Conn O'Griofa 0c827690ec config: move VideoToolbox variables into correct video_t struct location 2022-06-15 22:23:09 +01:00
ReenigneArcher f5d7cf7692 Merge pull request #144 from SunshineStream/add-cpack
Add cpack
2022-06-15 17:12:19 -04:00
ReenigneArcher dd73f45175 Deactivate mac port job 2022-06-15 16:05:23 -04:00
ReenigneArcher e86207606a Use openssl for deb package instead of libssl1.1/3 2022-06-15 15:53:04 -04:00
ReenigneArcher ca21e6a8ac Update documentation 2022-06-15 15:52:38 -04:00
ReenigneArcher 9990b9b04b Separate job for Macports build 2022-06-15 15:02:57 -04:00
ReenigneArcher 341bc98730 Merge branch 'add-cpack' of https://github.com/SunshineStream/Sunshine into add-cpack 2022-06-13 20:26:16 -04:00
ReenigneArcher 1a1cf20152 Update MacOS build 2022-06-13 15:56:46 -04:00
ReenigneArcher 7a5890469c Update MacOS build 2022-06-12 22:31:59 -04:00
ReenigneArcher 65c4f01998 Update documentation
- Add copy button to code blocks
- Fix some badges
- Improve Linux installation instructions
2022-06-09 19:50:20 -04:00
ReenigneArcher 676b5559ec Merge pull request #179 from SunshineStream/dependabot/github_actions/nightly/actions/setup-python-4
Bump actions/setup-python from 3 to 4
2022-06-09 11:30:46 -04:00
dependabot[bot] e9b46201fd Bump actions/setup-python from 3 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-09 12:42:27 +00:00
ReenigneArcher 9b4fc8a270 Fix udev rules
- Adds to permission to create "Sunshine Mouse"
2022-06-08 23:00:18 -04:00
ReenigneArcher 7cb0286414 Fix paths for linux cpack build 2022-06-08 21:27:41 -04:00
ReenigneArcher 3b41888c66 Update CI.yml 2022-06-08 21:03:14 -04:00
ReenigneArcher 4a65d2cafc Fix libssl3 dependency for Ubuntu 22.04 2022-06-08 21:02:28 -04:00
ReenigneArcher 34f1e89366 Update linux installation instructions 2022-06-08 21:01:34 -04:00
ReenigneArcher 91cf3bcdcc Use portable config directory for AppImage 2022-06-08 21:01:08 -04:00
ReenigneArcher e7ec6050d9 Use portable config directory for AppImage 2022-06-07 23:32:08 -04:00
ReenigneArcher 0f3eaf0f84 Add pip for dependabot 2022-06-07 18:32:09 -04:00
ReenigneArcher c75efd3999 Merge pull request #170 from SunshineStream/dependabot/github_actions/nightly/DoozyX/clang-format-lint-action-0.14
Bump DoozyX/clang-format-lint-action from 0.13 to 0.14
2022-06-03 12:02:58 -04:00
dependabot[bot] f2934c620b Bump DoozyX/clang-format-lint-action from 0.13 to 0.14
Bumps [DoozyX/clang-format-lint-action](https://github.com/DoozyX/clang-format-lint-action) from 0.13 to 0.14.
- [Release notes](https://github.com/DoozyX/clang-format-lint-action/releases)
- [Commits](https://github.com/DoozyX/clang-format-lint-action/compare/v0.13...v0.14)

---
updated-dependencies:
- dependency-name: DoozyX/clang-format-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-03 12:35:18 +00:00
ReenigneArcher 4f6b001483 Update paths and dependencies
- Updates paths for Linux and MacOS builds
- Strategy matrix build for Linux (CPACK/AppImage)
- Fix dependencies for rpm package
2022-05-15 16:26:00 -04:00
ReenigneArcher de3c37969f Merge pull request #157 from KarlVogel/f35-libcap
f35: add libcap-devel to enable KMS code
2022-05-14 08:21:28 -04:00
Karl Vogel c719ddfc31 fedora: add libcap/libdrm-devel to enable KMS code 2022-05-14 12:16:14 +02:00
ReenigneArcher a5e56cf47d Merge branch 'nightly' into add-cpack 2022-05-12 21:05:23 -04:00
ReenigneArcher 84fd2c5766 Merge pull request #158 from cazzoo/nightly
Add missing dependencies to AppImage
2022-05-12 15:21:57 -04:00
ReenigneArcher 68ba1db24a Refactor assets and config directory 2022-05-11 23:10:46 -04:00
ReenigneArcher ca00949851 Refactor build_linux job 2022-05-11 19:23:05 -04:00
ReenigneArcher 88925c705f Add gtk plugin for linuxdeploy / AppImage 2022-05-10 20:39:14 -04:00
ReenigneArcher c2752262e5 Add missing AppImage libraries 2022-05-10 18:54:50 -04:00
Caz zoo 496e51d93a Fixes #8 and relates #146 Adding required missing dependencies for Arch base distro 2022-05-10 23:46:03 +02:00
ReenigneArcher 6c04065ba7 Set DEFAULT_SUNSHINE_DIR for CI builds
- Add libssl3.0 as CPACK_DEBIAN_PACKAGE_DEPENDS
2022-05-08 21:39:10 -04:00
ReenigneArcher fff419a7ff Fix AppImage source filename 2022-05-06 15:19:11 -04:00
ReenigneArcher a3e3da3136 Fix cmake project parameters 2022-05-06 14:39:26 -04:00
ReenigneArcher 49bfd2ba1f Rename apps.json files throughout project
- Remove `appveyor.yml`
- Add project description to CMakeLists.txt
- Add project homepage url to CMakeLists.txt
2022-05-06 14:24:39 -04:00
ReenigneArcher 93aebf461a Set assets dir for Windows 2022-05-06 13:21:47 -04:00
ReenigneArcher c409022df5 Combine AppImage and Linux build 2022-05-06 12:55:43 -04:00
ReenigneArcher c4441db606 Remove CPACK_COMPONENT_APPLICATION_DEPENDS 2022-05-06 10:16:59 -04:00
ReenigneArcher 0d0496adf3 Remove CPACK_NSIS_MUI_HEADERIMAGE 2022-05-06 10:04:29 -04:00
ReenigneArcher ca6f02c953 Modify windows installer 2022-05-05 23:58:08 -04:00
ReenigneArcher 8b86abfceb Reorganize assets 2022-05-05 23:09:35 -04:00
ReenigneArcher 5135c16bda Update Portfile and...
- Upload Portfile as artifact during builds and releases
- Update assets for cpack packages
2022-05-05 21:19:19 -04:00
ReenigneArcher e6d6d47be1 Create MacOS archive 2022-05-05 20:05:07 -04:00
ReenigneArcher 639af4f08a Add MacOS build 2022-05-03 20:40:01 -04:00
ReenigneArcher 12bf5cffc5 Use CMAKE_PROJECT_NAME 2022-04-30 19:06:19 -04:00
ReenigneArcher 6741997e59 Update documentation for cpack 2022-04-30 18:22:17 -04:00
ReenigneArcher 369a941c48 Fix artifacts folder for AppImage 2022-04-30 17:51:14 -04:00
ReenigneArcher 2a69385aed Revert workflow logic 2022-04-30 15:13:36 -04:00
ABeltramo 31f7faa6a5 win: installation directory fix 2022-04-30 10:25:40 +01:00
ABeltramo dc4393a583 CI: windows build packaging to ZIP, split artifacts upload for different packages 2022-04-30 10:25:40 +01:00
ABeltramo 5eb3e7c75f CI: use cpack for windows 7Z, split back deb/rpm and appimage, moved release action at the end 2022-04-30 10:25:38 +01:00
ABeltramo 6858f9c8d4 fix: testing CI 2022-04-30 10:25:00 +01:00
ABeltramo af342c8cc9 fix: CI, better jobs dependencies 2022-04-30 10:25:00 +01:00
ABeltramo 4e4a5c8df8 feat: testing out a better CI workflow 2022-04-30 10:25:00 +01:00
ABeltramo cc2d982ceb feat: testing out CI building for new packages 2022-04-30 10:25:00 +01:00
ABeltramo e2bef750b4 feat: created NSIS windows installer, fixed Linux packaging paths 2022-04-30 10:25:00 +01:00
ABeltramo ffdcf0fea8 feat: basic OSX .app generation
added default brew link libraries path
2022-04-30 10:24:59 +01:00
ABeltramo 2ea414d1d4 testing RPM package dependencies 2022-04-30 10:24:59 +01:00
ABeltramo c4977b5393 WIP: Moving to cpack in order to unify installers across all platforms 2022-04-30 10:24:57 +01:00
ReenigneArcher 13c2dce3f1 Merge pull request #143 from SunshineStream/update-localization-workflow
Do not fail workflow if `sunshine.po` doesn't exist
2022-04-29 21:20:16 -04:00
ReenigneArcher b0a02a5985 Do not fail workflow if sunshine.po doesn't exist
- Add proper keywords for boost::locale
- Minor documentation updates about localization
2022-04-29 19:48:07 -04:00
ReenigneArcher b0df4eabd1 Merge pull request #130 from Logical-sh/pipewire-compatibility
Improved Pulse/Pipewire Compatibility for Linux.
2022-04-29 15:59:04 -04:00
ReenigneArcher ceb7f5f41a Merge pull request #142 from SunshineStream/update-help-argument
Update help argument
2022-04-29 13:06:28 -04:00
ReenigneArcher aa46b8e293 Revert removing name argument from print_help function
- The existing method is better because it uses the binary name instead of the project name `Sunshine`.
2022-04-29 12:52:09 -04:00
Michael Rogers 63a83cdf7a Fix formatting 2022-04-29 11:22:35 -05:00
Michael Rogers bd033f9e15 Fixed formatting. 2022-04-29 11:20:45 -05:00
Michael Rogers 62ca9c31a0 Updated the linux for better pulse behavior. 2022-04-29 11:20:38 -05:00
Michael Rogers e8ef708034 Fix virtual sink overriding config sink. 2022-04-29 11:19:00 -05:00
ReenigneArcher ec450be8b5 Merge pull request #125 from Logical-sh/AVPacket-Fix
AVPacket Fix
2022-04-29 10:45:42 -04:00
ReenigneArcher d4df041210 Merge pull request #141 from thatsysadmin/nightly
Add dependencies for Fedora RPM package
2022-04-29 08:51:00 -04:00
ReenigneArcher ced0029abc Remove unused argument 2022-04-29 00:01:32 -04:00
ReenigneArcher a9cf0ebf18 Remove unused name variable
- Add documentation blocks
2022-04-28 23:24:17 -04:00
ReenigneArcher 3d6611fd50 Update help argument 2022-04-28 22:51:02 -04:00
h 74736c6b76 Merge branch 'nightly' of https://github.com/thatsysadmin/Sunshine into nightly 2022-04-28 17:38:23 -07:00
h 0e0b2ce366 Add RPMFusion/FFMPEG dependancy. 2022-04-28 17:38:20 -07:00
ReenigneArcher 3b49deac25 Merge pull request #140 from SunshineStream/general-cleanup
Workflow updates
2022-04-28 18:41:21 -04:00
ReenigneArcher 734400dc77 Remove white background from png logo 2022-04-28 18:20:53 -04:00
ReenigneArcher ef9abf2f15 Get version number from CMakeLists 2022-04-28 18:15:56 -04:00
ReenigneArcher b286c06144 Fix localize git diff and git reset steps 2022-04-23 20:50:42 -04:00
ReenigneArcher 521335c387 Add ffmpeg dependency 2022-04-23 16:20:06 -04:00
ReenigneArcher 780339d91b Add boost dependencies 2022-04-23 13:18:29 -04:00
ReenigneArcher b332633b07 Add submodules 2022-04-23 13:09:18 -04:00
ReenigneArcher 4cd1014bac Use apt_packages to install cmake 2022-04-23 13:01:57 -04:00
ReenigneArcher 7a1e5f43d9 Workflow updates
- Do not re-run PR tests on edited PRs
- Close added/fixed issues on published release
- Issues stale after 60 days instead of 30, close after 10 days instead of 5
- Use Vankka/pr-target-branch-action for checking that PR is made to proper branch
- Add version number to sphinx config, must use cmake to configure the file
- Add jobs to readthedocs.yaml configuration
2022-04-23 12:35:39 -04:00
ReenigneArcher c4054c75a7 Merge pull request #134 from SunshineStream/add-sphinx-docs
Add sphinx docs
2022-04-21 08:30:48 -04:00
ReenigneArcher f36d81954b Update rpm install commands 2022-04-19 20:38:06 -04:00
ReenigneArcher eacae3954e Fix typos 2022-04-18 16:21:05 -04:00
ReenigneArcher 56cf3e4ede Update admonitions 2022-04-18 16:05:17 -04:00
ReenigneArcher 293ee266af Add docker file build instructions and...
- Remove readme.md files
2022-04-18 15:26:53 -04:00
ReenigneArcher 536df759ae Initial version of sphinx documentation and...
- remove ubuntu 21.04 from CI (end of life)
- adjust matrix strategy for clang.yml
- Use lessons learned from RetroArcher on localize.yml, crowdin.yml, and locale.py
- Add end of life comments to Dockerfiles
- Adjust dependency order in Dockerfiles
2022-04-18 14:53:28 -04:00
ReenigneArcher 4bdf8375cc Merge pull request #129 from SunshineStream/dependabot/github_actions/nightly/actions/upload-artifact-3
Bump actions/upload-artifact from 2 to 3
2022-04-12 23:32:51 -04:00
h a6921fffad Add initial support for RPM packaging (#121)
- Add gen-rpm
- Package rpm in CI testing and releases
- Remove fedora 33 from testing (end of life)
- Update arguments for `build_private.sh` and `build_sunshine.sh`

Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2022-04-12 23:29:08 -04:00
Michael Rogers 1ad0c93ad8 Changed the video packet to contain AVPacket instead of extending it. 2022-04-12 16:13:05 -05:00
ReenigneArcher 97f333c970 Merge pull request #118 from HomerSp/fix-network-drop-crash
Properly catch exceptions in stream broadcast handlers
2022-04-11 18:29:56 -04:00
dependabot[bot] b854807d40 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 14:37:04 +00:00
Mathias Tillman a9b9d1bd09 Properly catch exceptions in stream broadcast handlers to prevent unhandled exception crash/termination. 2022-04-07 08:20:47 +02:00
ReenigneArcher 0044ec1d52 Merge pull request #104 from SunshineStream/general-cleanup
General cleanup
2022-03-16 18:58:10 -04:00
ReenigneArcher 9c976a23de Rename artifacts 2022-03-16 18:34:43 -04:00
ReenigneArcher 9930880ee6 Update README.md 2022-03-15 22:30:23 -04:00
ReenigneArcher 82e1b61a31 Delete gamepad.png 2022-03-15 22:30:10 -04:00
ReenigneArcher 5bb197ccfc Update sunshine.ico 2022-03-15 22:30:01 -04:00
ReenigneArcher 20c0426ace Update pull_request_template.md 2022-03-15 22:11:44 -04:00
ReenigneArcher 0a9cc511ed Update config.yml 2022-03-15 22:06:24 -04:00
ReenigneArcher 2a7af03f9a Rename packages 2022-03-15 22:02:16 -04:00
ReenigneArcher 7910ac78a5 Merge pull request #103 from SunshineStream/add-ubuntu-18.04
Add ubuntu 18.04 packaging
2022-03-15 19:54:11 -04:00
ReenigneArcher 67762aa445 Fix matrix.extension 2022-03-15 19:39:21 -04:00
ReenigneArcher 7f22774e08 Fix syntax error 2022-03-15 19:29:12 -04:00
ReenigneArcher cbafe09396 Add ubuntu 18.04 build and
- Prepare for rpm packaging
2022-03-15 19:23:08 -04:00
ReenigneArcher 615f7e5875 Use correct version of boost and cmake 2022-03-15 19:18:23 -04:00
ReenigneArcher 3f309832f7 Add comments 2022-03-15 19:17:22 -04:00
ReenigneArcher 719f4cef59 Add pipefail and comments 2022-03-15 19:17:06 -04:00
ReenigneArcher da582198db Merge pull request #97 from SunshineStream/dependabot/github_actions/nightly/actions-js/push-1.3
Bump actions-js/push from 1.2 to 1.3
2022-03-14 10:27:46 -04:00
dependabot[bot] 04a2ecaff4 Bump actions-js/push from 1.2 to 1.3
Bumps [actions-js/push](https://github.com/actions-js/push) from 1.2 to 1.3.
- [Release notes](https://github.com/actions-js/push/releases)
- [Commits](https://github.com/actions-js/push/compare/v1.2...v1.3)

---
updated-dependencies:
- dependency-name: actions-js/push
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 12:38:51 +00:00
ReenigneArcher 3b8b4653e9 Merge pull request #94 from SunshineStream/i10n
Initial support for localization
2022-03-13 16:54:25 -04:00
ReenigneArcher ea27955b16 Merge pull request #88 from HomerSp/fix-hwdevice-destroyed-before-ctx
Fix hwdevice being destroyed before context causing sigsegv on AMD
2022-03-13 16:50:30 -04:00
ReenigneArcher e223ba53f9 Merge pull request #87 from HomerSp/fix-rumble-hang
Fix rumble events causing game to freeze
2022-03-13 16:48:43 -04:00
ReenigneArcher 907d0bfcd5 Fix .po file extension 2022-03-13 16:39:33 -04:00
ReenigneArcher a014391ae7 Update for Crowdin Integration
- Rename extracted template file to `sunshine.po`
- Add `crowdin.yml`
- Remove `--init` and `--update` from `localize.yml`
  - Crowdin will initialize new languages and update existing ones
2022-03-13 16:29:51 -04:00
ReenigneArcher 84584c950b Update comment 2022-03-11 14:07:10 -05:00
ReenigneArcher f1d82a7d09 Update trigger conditions
- Only run when changes are made on files inside 'sunshine' directory
  - Prevents workflow from running again when this workflow pushes changes back into 'locale' directory
  - Should be cleaner than using 'paths-ignore'
2022-03-11 14:00:23 -05:00
ReenigneArcher 01155ef4a3 Update trigger events
- Don't run if commits are all in 'locale' directory
  - Allows pushing changes back into nightly from this workflow without triggering and endless loop
- Don't run job unless event is 'pull_request.merged'
2022-03-11 13:48:24 -05:00
ReenigneArcher 88cf616a48 Move _locale.py and requirements 2022-03-11 13:46:18 -05:00
ReenigneArcher b3cdadca86 Create localize.yml 2022-03-11 00:26:53 -05:00
ReenigneArcher 3bd9f6b710 Ignore translation templates and compilations 2022-03-11 00:22:29 -05:00
ReenigneArcher e28cc5e645 Create _locale.py 2022-03-11 00:21:12 -05:00
ReenigneArcher 045970bcc5 Create requirements.txt 2022-03-11 00:20:25 -05:00
Mathias Tillman 6fca2c593c Use session_t destructor to ensure the context and hwdevice are always destroyed in the correct order. 2022-03-10 09:09:24 +01:00
Mathias Tillman e61bbe87b4 Read revents from the temporary pollfds instead of copying them over to the old vector.
Decrement index for polls when erasing to make sure none of the events are skipped.
2022-03-09 22:23:38 +01:00
Mathias Tillman 80ebc9982e Fix another lint warning. 2022-03-09 17:27:42 +01:00
Mathias Tillman 9a2689692a Fix lint warning about code style. 2022-03-09 16:40:39 +01:00
Mathias Tillman a31c6c4cd0 Fix hwdevice being destroyed before context, causing a sigsegv because the context relies on the hwdevice still being active. 2022-03-09 16:20:51 +01:00
Mathias Tillman 1f79f4ed12 Fix rumble events causing hang because the received input events were not read properly. 2022-03-09 00:30:10 +01:00
ReenigneArcher 6da0483951 Merge pull request #82 from sitiom/nightly
Add TPCircularBuffer submodule
2022-03-03 11:10:25 -05:00
ReenigneArcher 3abb199697 Merge pull request #83 from SunshineStream/dependabot/github_actions/nightly/actions/stale-5
Bump actions/stale from 4.1.0 to 5
2022-03-03 09:05:00 -05:00
dependabot[bot] 4c7afc05c7 Bump actions/stale from 4.1.0 to 5
Bumps [actions/stale](https://github.com/actions/stale) from 4.1.0 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v4.1.0...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 21:55:46 +00:00
ReenigneArcher 222e53781d Merge pull request #84 from SunshineStream/dependabot/github_actions/nightly/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-03-02 16:41:50 -05:00
dependabot[bot] 8d4bd87ad2 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 12:36:17 +00:00
Ryan Caezar Itang 861331be1c Add TPCircularBuffer submodule 2022-03-02 11:19:05 +08:00
ReenigneArcher 2fa2afed56 Merge pull request #74 from SunshineStream/dependabot/github_actions/nightly/actions/stale-4.1.0
Bump actions/stale from 3 to 4.1.0
2022-02-27 23:26:29 -05:00
ReenigneArcher 5e910b5fab Update issues-stale.yml
- Remove skip-stale-issue-message
- Remove skip-stale-pr-message
2022-02-27 13:18:36 -05:00
dependabot[bot] 1520cb7bf9 Bump actions/stale from 3 to 4.1.0
Bumps [actions/stale](https://github.com/actions/stale) from 3 to 4.1.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v3...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-27 18:11:56 +00:00
ReenigneArcher 4b658cd86b Merge pull request #73 from SunshineStream/nightly
v0.13.0
2022-02-27 13:11:37 -05:00
ReenigneArcher f6311ceb3f Merge pull request #72 from SunshineStream/prepare-v0.13.0
Prepare v0.13.0
2022-02-27 12:54:55 -05:00
ReenigneArcher 9b2321a722 Merge pull request #71 from SunshineStream/improve-version-automation
Get version from CMakeLists
2022-02-27 12:54:20 -05:00
ReenigneArcher 1e91356155 Fix desktop file directory 2022-02-27 12:40:31 -05:00
ReenigneArcher fb7a3a0758 Bump version to v0.13.0 2022-02-27 12:21:48 -05:00
ReenigneArcher c2d4ffdaed Use master branch for create_release action
- Will always use latest version
2022-02-27 12:21:23 -05:00
ReenigneArcher c5e6b84e3d Get version from CMakeLists 2022-02-27 12:17:30 -05:00
ReenigneArcher 68f35f6ab1 Merge pull request #66 from abusse/staging
Initial support for MacOS
2022-02-27 11:44:09 -05:00
Anselm Busse 2b450839a1 Initial support for MacOS
This commit introduces initial support for MacOS as third major host platform.
It relies on the VideoToolbox framework for audio and video processing, which
enables hardware accelerated processing of the stream on most platforms.
Audio capturing requires third party tools as MacOS does not offer the
recording of the audio output like the other platforms do. The commit enables
most features offered by Sunshine for MacOS with the big exception of gamepad
support. The patch sets was tested by a few volunteers, which allowed to remove
some of the early bugs. However, several bugs especially regarding corner
cases have probably not surfaced yet.

Besides instructions how to build from source, the commit also adds a Portfile
that allows a more easy installation. After available on the release branch,
a pull request for the Portfile in the MacPorts project is planned.

Signed-off-by: Anselm Busse <anselm.busse@outlook.com>
2022-02-26 10:18:00 +01:00
Anselm Busse df3e7c5ca1 Prepare for ObjectiveC/ObjectiveC++ code
This commit modifies the clang-format configuration and workflow to support ObjectiveC and ObjectiveC++ code.

Signed-off-by: Anselm Busse <anselm.busse@outlook.com>
2022-02-24 21:10:25 +01:00
ReenigneArcher a4fa42fa96 Merge pull request #55 from SunshineStream/add-clang-linter
Add clang linter
2022-02-17 18:13:59 -05:00
ReenigneArcher d6183430ef clang lint 2022-02-16 18:23:56 -05:00
ReenigneArcher f54a32feac Update clang.yml 2022-02-16 18:13:16 -05:00
ReenigneArcher 37edcb1b55 Update clang.yml
- Fix syntax error
2022-02-16 18:10:54 -05:00
ReenigneArcher 320b691086 Update clang.yml
- Use job strategy matrix
  - inplace True allows artifacts to be uploaded; however workflow succeeds even if there are errors
  - inplace False fails workflow if there are errors
2022-02-16 18:09:23 -05:00
ReenigneArcher 5163ec93b4 Update clang.yml 2022-02-16 18:02:05 -05:00
ReenigneArcher 2be7790415 Update clang.yml
- Add upload artifacts
2022-02-16 17:58:06 -05:00
ReenigneArcher 27d2735454 Create clang.yml 2022-02-16 17:51:05 -05:00
ReenigneArcher 361e5f7ea7 Create dependabot.yml 2022-02-16 17:50:52 -05:00
ReenigneArcher 4a483078ad Merge pull request #30 from SunshineStream/nightly
v0.12.0
2022-02-14 14:09:15 -05:00
ReenigneArcher 4dff0c8384 Merge branch 'nightly' of https://github.com/SunshineStream/Sunshine into nightly 2022-02-13 13:04:41 -05:00
ReenigneArcher 543254691b v0.12.0 2022-02-13 13:04:17 -05:00
ReenigneArcher 96205dc48d Merge pull request #51 from SunshineStream/improve-version-verification
Improve version verification
2022-02-13 13:02:39 -05:00
ReenigneArcher ec5ea7cffb Update CI.yml
- Version from .desktop file needs to be 1.0 (this is not the sunshine version)
- Setting VERSION environment variable will set AppImage version, otherwise short commit hash will be used
2022-02-13 12:45:13 -05:00
ReenigneArcher 8bb7a63479 Fix job needs
- Build jobs didn't run if `check_versions` doesn't run (need to ENSURE PR check into master is successful before merging!)
2022-02-13 12:17:04 -05:00
ReenigneArcher 95302485a0 Improve version verification 2022-02-13 12:07:10 -05:00
ReenigneArcher 7a1347c1f5 Merge branch 'v0.12.0-changelog' into nightly 2022-02-13 09:31:46 -05:00
ReenigneArcher a78ad20142 Merge branch 'nightly' into v0.12.0-changelog 2022-02-13 09:30:33 -05:00
ReenigneArcher 9dd6576b26 Update CHANGELOG.md
- Update v0.12.0 release date
2022-02-13 09:25:41 -05:00
ReenigneArcher cf8a843b03 Merge pull request #43 from SunshineStream/update-web-ui
Update web ui
2022-02-13 09:21:45 -05:00
ReenigneArcher 8b423315d0 Use local fontawesome assets 2022-02-10 18:34:35 -05:00
ReenigneArcher 7417430659 Update .gitignore 2022-02-10 18:32:50 -05:00
ReenigneArcher a494bfa1e9 Merge pull request #49 from SunshineStream/fix-sample-config
Fix sample config
2022-02-10 07:08:10 -05:00
ReenigneArcher e239751f50 Update sunshine.conf
- Rename `amd_preset` to `amd_quality`
- Document `key_rightalt_to_key_win`
2022-02-09 19:44:45 -05:00
ReenigneArcher 91465ed257 Update config.html
- Fix some typos
- Reformat some tags
2022-02-09 19:44:05 -05:00
ReenigneArcher 830fa6567b Fix ico file
- All sizes available on separate layers
2022-02-08 23:09:10 -05:00
ReenigneArcher f347089312 Fix font-awesome stylesheet 2022-02-08 23:08:36 -05:00
ReenigneArcher a577f76d71 Fix favicon and logo 2022-02-08 21:35:48 -05:00
ReenigneArcher 89f05711e0 Use cdn for fontawesome 2022-02-08 21:35:00 -05:00
ReenigneArcher b19803564c Update issues.yml
- Label discussions
2022-02-06 17:42:38 -05:00
ReenigneArcher a9988cb346 Update issues-stale.yml
- Change time of scheduled trigger
2022-02-06 17:42:20 -05:00
ReenigneArcher b288993b86 Rename workflow 2022-02-06 17:32:55 -05:00
ReenigneArcher 37e608a889 Update CHANGELOG.md 2022-02-06 17:23:57 -05:00
ReenigneArcher 067214a9f9 Merge pull request #36 from cfajardo/add-application-image
Add application image
2022-02-06 16:44:43 -05:00
Christophe Fajardo b5896c8f26 remove NOTICE from CMakeLists.txt 2022-02-06 21:28:03 +01:00
ReenigneArcher 9f4ad530ca Update web ui
- Add fontawesome
- Add favicon
- Add logo
- Add support and legal links to index.html
- Improve layout of index.html
- Improve layout of navbar
2022-02-05 18:18:00 -05:00
ReenigneArcher c6d489da11 Merge pull request #42 from okkiv/master
fix git url in build scripts
2022-02-04 09:28:52 -05:00
okkiv c3d498e30c fetch correct sources 2022-02-04 11:54:20 +01:00
okkiv bd8ba66023 fetch correct sources 2022-02-04 11:53:49 +01:00
Christophe Fajardo cf859b7c13 NOTICE file added with Steam trademarks notice 2022-02-03 22:15:13 +01:00
Christophe Fajardo 3b2c70422a remove double quotes from path 2022-02-03 22:02:36 +01:00
Christophe Fajardo a9ebdf6785 fixed apps_linux typo 2022-02-03 09:58:57 +01:00
Christophe Fajardo 8164b514e1 apps page image path documentation update 2022-02-02 23:04:25 +01:00
Christophe Fajardo 398bf9819e steam.png added 2022-02-02 23:02:49 +01:00
Christophe Fajardo 59959d6397 extension bugfix and default app_windows.json image-path fixed 2022-02-01 23:14:05 +01:00
ReenigneArcher cbbd813c5a Merge pull request #38 from ReenigneArcher/add-version-argument
Add version argument
2022-01-25 16:51:06 -05:00
Christophe Fajardo f4344ade53 tolower on extension 2022-01-25 21:13:54 +01:00
Christophe Fajardo 8e1b718d7f reviews changes 2022-01-24 21:33:26 +01:00
ReenigneArcher ed62a1f93d Add "v" to --version argument output 2022-01-23 18:38:15 -05:00
ReenigneArcher 592cb002bd Add version test
- Add version test on push or PR targets to master branch (AppImage only)
2022-01-23 18:20:37 -05:00
ReenigneArcher ebc581e165 Merge pull request #34 from TheElixZammuto/web-ui-fixes
UI Web Fixes
2022-01-23 13:35:02 -05:00
ReenigneArcher c7a3f7f46e Add version argument 2022-01-23 13:05:35 -05:00
Elia Zammuto 41df9c658b Update welcome.html 2022-01-23 17:31:59 +01:00
Elia Zammuto 4bada2d9f6 Update pin.html 2022-01-23 17:31:32 +01:00
Christophe Fajardo 83da80f631 Fix HTTP content type for appassets 2022-01-23 16:27:31 +01:00
Christophe Fajardo 2bcb713b82 formating 2022-01-23 11:33:02 +01:00
ReenigneArcher e5239583b5 Merge pull request #28 from alvaromunoz/patch-1
Update index.html
2022-01-20 23:02:32 -05:00
ReenigneArcher 4126a1a98e Update CHANGELOG.md
- Update based on #33
- Fix year for 2021 releases
2022-01-20 22:56:53 -05:00
Christophe Fajardo abf2a5ea4e minor refactoring and Content-Type header 2022-01-20 18:10:30 +01:00
Christophe Fajardo a9bbadf8ad WebUI image path configuration added 2022-01-20 16:15:44 +01:00
Christophe Fajardo 38dcdcba2f fully working backend image posters 2022-01-20 15:55:06 +01:00
Christophe Fajardo 4a50fcafd8 send image as a binary stream 2022-01-20 14:31:16 +01:00
Christophe Fajardo 67f35dfc5f Merge branch 'nightly' into add-application-image 2022-01-20 09:17:39 +01:00
ReenigneArcher de9136c61e Merge pull request #33 from cfajardo/psyke83-bufsize-fix
video: use a better vbv-bufsize & correct software bitrate calculation
2022-01-19 20:23:33 -05:00
Elia Zammuto dd7736e806 UI Web Fixes 2022-01-19 21:27:17 +01:00
ReenigneArcher 720f44c03b Merge pull request #32 from SunshineStream/update-issue-template
Update bug-report.yml
2022-01-18 21:58:10 -05:00
Christophe Fajardo 3981ca0840 applist image attribute 2022-01-18 22:06:20 +01:00
Alvaro 9f707f9015 Update index.html 2022-01-18 11:08:23 -03:00
Conn O'Griofa 1b6bf8fa34 video: use a better vbv-bufsize & correct software bitrate calculation
* Increase vbv-bufsize to 1/10 of requested bitrate. The previous value
  was too low, which was resulting in poor encoding quality and failure to
  stabilize at the requested bitrate. Setting to 1/10 of bitrate is a
  good compromise, as it avoids quality loss but also prevents bandwidth
  spikes far above the bitrate/vbv-maxrate.
* With vbv-bufsize set to a more appropriate value, testing shows that
  the average bitrate vs client-requested bandwidth overshoots by ~20%.
  Adjust for this scenario in the software encoding case only.
2022-01-18 09:42:25 +01:00
ReenigneArcher 41e6344995 Update bug-report.yml
- Use form instead of template
2022-01-16 14:05:18 -05:00
ReenigneArcher 5993deadb2 Merge pull request #31 from SunshineStream/fix-changelog-parser-issue
Update create_package.yml
2022-01-15 19:32:35 -05:00
ReenigneArcher 7306a3468d Update create_package.yml
-Use master branch for verify_changelog action
2022-01-15 19:19:15 -05:00
ReenigneArcher 1513880f63 Merge pull request #29 from SunshineStream/fix-changelog-parser-issue
Fix changelog_parser action
2022-01-15 19:10:25 -05:00
ReenigneArcher 41044ab97f Update CHANGELOG.md
- changelog parser action fails if "v" is in prefix
2022-01-15 00:48:30 -05:00
Alvaro 1b392e3921 Update index.html
Update repo address
2022-01-13 23:38:32 -03:00
ReenigneArcher 870b6e2675 Merge pull request #27 from SunshineStream/nightly
v0.11.1
2022-01-13 16:17:32 -05:00
ReenigneArcher ac7fcfe056 Merge pull request #26 from ReenigneArcher/update-changelog
Update changelog
2022-01-12 19:08:40 -05:00
ReenigneArcher 55ac123d03 Update history 2022-01-12 19:01:00 -05:00
ReenigneArcher c748980f58 Merge branch 'SunshineStream:nightly' into nightly 2022-01-12 18:29:50 -05:00
ReenigneArcher d1a41ad8fe Merge pull request #6 from ReenigneArcher/add-build-checks
Automated PR tests and releases
2022-01-12 17:19:12 -05:00
ReenigneArcher db6e2a57ad Merge pull request #9 from ReenigneArcher/add-build-checks
Update create_package.yml
2022-01-11 19:10:36 -05:00
ReenigneArcher f2c53a52c2 Update create_package.yml
-Verify changelog requires checkout
2022-01-11 18:55:58 -05:00
ReenigneArcher adfb3619c3 Merge pull request #8 from ReenigneArcher/add-build-checks
Test
2022-01-11 18:52:43 -05:00
ReenigneArcher 8781fbcc20 Update create_package.yml
- github.base_ref is needed for pull request check
2022-01-11 18:35:05 -05:00
ReenigneArcher 2c0873332c Merge pull request #6 from ReenigneArcher/add-build-checks
Update create_package.yml
2022-01-11 18:20:41 -05:00
ReenigneArcher a2c45f8de0 Update create_package.yml
-Fix typo in Windows build
2022-01-11 18:03:30 -05:00
ReenigneArcher cefcaed358 Update create_package.yml 2022-01-11 17:40:58 -05:00
ReenigneArcher 6ba4b56f32 Merge pull request #4 from ReenigneArcher/test_release
Update CHANGELOG.md
2022-01-11 10:53:26 -05:00
ReenigneArcher bfda8558ea Update CHANGELOG.md 2022-01-11 10:39:20 -05:00
ReenigneArcher cc5c1a9b90 Merge pull request #3 from ReenigneArcher/add-build-checks
Add build checks
2022-01-11 10:32:21 -05:00
ReenigneArcher c5d782dac5 Remove Ubuntu 18.04 from strategy 2022-01-11 10:18:52 -05:00
ReenigneArcher 60d63fcd21 Update create_package.yml
-Remove push event for add-build-checks
2022-01-11 10:01:43 -05:00
ReenigneArcher 8f99d6cf01 Delete create_release.yml 2022-01-11 10:01:20 -05:00
ReenigneArcher 4c6a0cdc37 Package based on strategy matrix 2022-01-11 09:46:18 -05:00
ReenigneArcher 0cad1bf6a5 Revert changes 2022-01-11 09:45:45 -05:00
ReenigneArcher 95a478e55e Revert changes 2022-01-11 09:45:23 -05:00
ReenigneArcher 41a30b5826 Skip packaging/release for Fedora build 2022-01-11 01:13:57 -05:00
ReenigneArcher b1030b6601 Move gen-deb to Dockerfiles 2022-01-11 01:13:29 -05:00
ReenigneArcher 5dfd5d8027 set -e
Github not respecting -e in shebang
2022-01-11 00:46:47 -05:00
ReenigneArcher 51b7dc5b5c Update create_package.yml 2022-01-11 00:14:49 -05:00
ReenigneArcher 7bfbdd5bc0 Update create_package.yml 2022-01-11 00:12:54 -05:00
ReenigneArcher aa3137c0a9 Update create_package.yml
-Replace create_release.yml with common create_release action
2022-01-11 00:04:13 -05:00
ReenigneArcher c2027a5481 Remove token
The documentation states "The called workflow is automatically granted access to `github.token` and `secrets.GITHUB_TOKEN`."
2022-01-10 21:46:12 -05:00
ReenigneArcher 909e36b80d Update create_package.yml
-Use with instead of secrets on caller workflow
2022-01-10 21:20:36 -05:00
ReenigneArcher 4fa2624495 Update create_package.yml
-Initialize workflow
2022-01-10 21:17:20 -05:00
ReenigneArcher a97c88c45b Update create_package.yml
-Fix typo in uses path
2022-01-10 21:15:34 -05:00
ReenigneArcher c579f638fc Create CHANGELOG.md 2022-01-10 21:12:04 -05:00
ReenigneArcher 65fdf8f6d1 Create create_release.yml 2022-01-10 21:11:58 -05:00
ReenigneArcher f6fd1f7e84 Update and rename create_package.yml
-Create release on push to master (fails if changelog version matches latest release)
-Move windows package to artifacts folder
-Use re-usable workflow create_release.yml
2022-01-10 21:11:44 -05:00
ReenigneArcher 732f5bf21d Merge pull request #2 from TheElixZammuto/build-patch-windows
Build Checks - Fixed Windows Build
2021-12-27 10:19:47 -05:00
Elia Zammuto 6d2d3eca18 Manually Imported Upstream PR #296
https://github.com/loki-47-6F-64/sunshine/pull/296 by psyke83 should fix the header issue by compiling
2021-12-26 23:32:34 +01:00
Elia Zammuto 997738816d Update pull-requests_build-check.yml 2021-12-24 12:19:28 +01:00
Elia Zammuto 41906b6fab Use msys2 for Windows Build 2021-12-24 11:27:40 +01:00
ReenigneArcher c910de12ff Update Dockerfile-ubuntu_18_04 2021-12-21 19:34:42 -05:00
ReenigneArcher 2baed357f2 Update Dockerfile-ubuntu_18_04 2021-12-21 19:10:27 -05:00
ReenigneArcher ee513939aa Update Dockerfile-ubuntu_18_04 2021-12-21 18:51:55 -05:00
ReenigneArcher b843ab7b97 Update Dockerfile-ubuntu_18_04 2021-12-21 18:33:59 -05:00
ReenigneArcher 8c37fa8d8b Update Dockerfile-ubuntu_18_04 2021-12-21 18:19:38 -05:00
ReenigneArcher a46a14c6ac Update Dockerfile-ubuntu_18_04
-Test building glibc 2.31
2021-12-21 18:08:52 -05:00
ReenigneArcher 2fec2bfc51 Update pull-requests_build-check.yml
-Change version for MarkusJx/install-boost
2021-12-21 17:37:40 -05:00
ReenigneArcher ea1e6f20a8 Update Dockerfile-ubuntu_20_04 2021-12-21 00:07:51 -05:00
ReenigneArcher aeb72cba02 Update Dockerfile-ubuntu_18_04 2021-12-21 00:07:24 -05:00
ReenigneArcher 279fb8803e Update Dockerfile-ubuntu_18_04 2021-12-20 23:54:46 -05:00
ReenigneArcher 59394e23f4 Update Dockerfile-ubuntu_18_04 2021-12-20 23:43:23 -05:00
ReenigneArcher 8f78b599ae Use update-alternatives for gcc-10 and g++-10 2021-12-20 23:23:26 -05:00
ReenigneArcher cc4ec1b526 Update Dockerfile-ubuntu_18_04 2021-12-20 23:00:25 -05:00
ReenigneArcher 18a977fdf1 Update pull-requests_build-check.yml 2021-12-20 21:38:32 -05:00
ReenigneArcher bc945df0a7 Update pull-requests_build-check.yml 2021-12-20 21:31:22 -05:00
ReenigneArcher 32867d1bbf Update pull-requests_build-check.yml
-Try Windows build with Unix Makefiles
2021-12-20 21:15:24 -05:00
ReenigneArcher c844290c81 Update pull-requests_build-check.yml 2021-12-20 18:26:38 -05:00
ReenigneArcher 4a1f5194cc Update pull-requests_build-check.yml
-Remove libc++
-Try setting compiler to c++17
2021-12-20 18:15:16 -05:00
ReenigneArcher 0db8e634a8 Update pull-requests_build-check.yml
-Fix name of libc++ for windows build
2021-12-20 17:54:13 -05:00
ReenigneArcher 8309ee965a Update pull-requests_build-check.yml
-Add mingw-w64-libc++
2021-12-20 17:38:42 -05:00
ReenigneArcher 0fa4a89223 Merge pull request #2 from SunshineStream/nightly
Add TEMPLATES and WORKFLOWS
2021-12-20 17:22:50 -05:00
ReenigneArcher 9350afbe6a Test boost compiled with mingw 2021-12-20 15:52:01 -05:00
ReenigneArcher 7ce9d27a67 Update Dockerfile-ubuntu_18_04
-Add ffmpeg
2021-12-19 19:20:20 -05:00
ReenigneArcher 83a4440cad Update Dockerfile-ubuntu_18_04
-Add libboost-regex-dev
2021-12-19 18:53:16 -05:00
ReenigneArcher 85cd54fdfe Update Dockerfile-ubuntu_18_04
-Move wget
2021-12-19 18:37:52 -05:00
ReenigneArcher c3eabebd91 Update Dockerfile-ubuntu_18_04
-Try different cmake repo
2021-12-19 18:35:02 -05:00
ReenigneArcher 26aff26eb0 Update Dockerfile-fedora_35
-Add gcc-c++ package
2021-12-19 18:03:50 -05:00
ReenigneArcher 07b974d638 Update Dockerfile-fedora_33 2021-12-19 17:47:35 -05:00
ReenigneArcher 75cdac5dbf Update Dockerfile-ubuntu_18_04
-Remove cmake build
-Test pipefail
2021-12-19 17:19:01 -05:00
ReenigneArcher 7c6fecf13d Fix cmake 2021-12-19 16:46:47 -05:00
ReenigneArcher 7c96ee1e00 Fix cmake
-Add repo for updated cmake
2021-12-19 16:22:17 -05:00
ReenigneArcher 975c4e6b26 Install rpmfusion as separate command 2021-12-19 16:03:08 -05:00
ReenigneArcher c4838424db Remove --no-install-recommends option 2021-12-19 16:02:13 -05:00
ReenigneArcher e07279707a Update dockerfiles
-Fix spacing
2021-12-19 15:40:12 -05:00
ReenigneArcher 1e0db7df4e Rename deb to Linux 2021-12-19 15:39:39 -05:00
ReenigneArcher b41cbc8ab4 Fix fedora version 2021-12-19 15:24:02 -05:00
ReenigneArcher 906870d36f Back to single line install command
-Testing, dockerfiles fail when packages split into multiple lines
2021-12-19 15:23:11 -05:00
ReenigneArcher 95baeed75e Re-order RUN command 2021-12-19 15:05:23 -05:00
ReenigneArcher a622c1591e Rename job deb to Linux 2021-12-19 15:04:54 -05:00
ReenigneArcher 030269b596 Cleanup dockerfiles 2021-12-19 14:55:53 -05:00
ReenigneArcher 5ff5d46ba5 Cleanup dockerfiles 2021-12-19 14:41:04 -05:00
ReenigneArcher d1ab44912b Fix dockerfile 2021-12-19 13:23:06 -05:00
ReenigneArcher 23c6e455fe Update Dockerfile-ubuntu_18_04
-Fix gcc-10
2021-12-19 11:10:40 -05:00
ReenigneArcher 7b5ac1c869 Update Dockerfile-fedora_35 2021-12-19 11:06:09 -05:00
ReenigneArcher 143ca274f5 Update Dockerfile-fedora_33 2021-12-19 11:06:06 -05:00
ReenigneArcher 7d51a4bfbf change linux names to lowercase 2021-12-19 10:45:29 -05:00
ReenigneArcher 23e64f23a8 Add additional distros 2021-12-19 10:40:11 -05:00
ReenigneArcher a5e2df11eb Update pull-requests_build-check.yml 2021-12-19 00:42:34 -05:00
ReenigneArcher 4406f7428b Update pull-requests_build-check.yml 2021-12-19 00:11:15 -05:00
ReenigneArcher 17770fe130 Update pull-requests_build-check.yml 2021-12-19 00:04:20 -05:00
ReenigneArcher ff47a13bc3 Update pull-requests_build-check.yml 2021-12-18 23:44:02 -05:00
ReenigneArcher ed38b7e86c Update pull-requests_build-check.yml
-Testing
2021-12-18 23:35:41 -05:00
ReenigneArcher 3f2ee64293 Update pull-requests_build-check.yml
-Testing
2021-12-18 22:39:07 -05:00
ReenigneArcher 2512e7f445 Update pull-requests_build-check.yml
-Testing
2021-12-18 22:22:27 -05:00
ReenigneArcher 9fbfca5699 Update pull-requests_build-check.yml
-Try boost 1.72.0
2021-12-18 21:19:23 -05:00
ReenigneArcher 1039160d3a Update pull-requests_build-check.yml
-Try boost v1.73.0 built on windows server 2019
2021-12-18 20:57:11 -05:00
ReenigneArcher 214478760b Update pull-requests_build-check.yml
-Try older version of boost, new version failing with cmake 3.22
2021-12-18 19:37:32 -05:00
ReenigneArcher c49cbd3c3c Update pull-requests_build-check.yml 2021-12-18 19:15:05 -05:00
ReenigneArcher de8cff072d Update pull-requests_build-check.yml
-Add environment variable BOOST_ROOT
2021-12-18 18:41:58 -05:00
ReenigneArcher 2b0e1fb9dc Update pull-requests_build-check.yml
-Fix boost install directory
2021-12-18 18:21:12 -05:00
ReenigneArcher f6d9061441 Update pull-requests_build-check.yml
-Install boost
-Remove boost debug during cmake
2021-12-18 18:16:27 -05:00
ReenigneArcher 71b5495569 Update pull-requests_build-check.yml
-Boost debug on
2021-12-18 17:59:30 -05:00
ReenigneArcher 0fa68397b7 Update pull-requests_build-check.yml
-Fix path issue for pacman command
2021-12-18 17:39:49 -05:00
ReenigneArcher 2561886189 Update pull-requests_build-check.yml
-Add Windows build
2021-12-18 17:36:39 -05:00
ReenigneArcher b73ddc232b Update pull-requests_build-check.yml
-Fix permission denied error when moving deb package
2021-12-18 17:01:54 -05:00
ReenigneArcher 65b9b653d0 Update pull-requests_build-check.yml
-Fix command that moves deb package
-Separate setup, build, and package steps
2021-12-18 16:51:49 -05:00
ReenigneArcher ca8917dd1b Update pull-requests_build-check.yml
-build with -u for non interactive
2021-12-18 16:31:45 -05:00
ReenigneArcher bbdf9618ea Update pull-requests_build-check.yml 2021-12-18 11:41:06 -05:00
ReenigneArcher 23f9474e9e Update pull-requests_build-check.yml 2021-12-18 11:34:49 -05:00
ReenigneArcher 69642d2db3 Update pull-requests_build-check.yml 2021-12-18 11:03:56 -05:00
ReenigneArcher 47a7c5e27b Fix typo in docker build readme 2021-12-17 22:25:22 -05:00
ReenigneArcher 502bf8ebf8 Update pull-requests_build-check.yml
-Add deb job with matrix strategy
2021-12-17 22:00:37 -05:00
ReenigneArcher ecba80372d Merge pull request #1 from ReenigneArcher/add-build-checks
Add build checks (just AppImage for now)
2021-12-17 22:00:02 -05:00
ReenigneArcher f272b865cd Update pull-requests_build-check.yml
-recursive submodules
-only run on PR for master or nightly branch
2021-12-17 17:36:11 -05:00
ReenigneArcher 89cfbc6bd3 Update pull-requests_build-check.yml
-Checkout recursively with submodules
2021-12-17 14:15:23 -05:00
ReenigneArcher e2d3fef9db Update pull-requests_build-check.yml
-Attempt to fix build step at line 56
-Various tweaks to quoting and directory names
2021-12-17 13:30:19 -05:00
ReenigneArcher c5b8deff41 Update pull-requests_build-check.yml
-Fix syntax error
2021-12-17 10:59:55 -05:00
ReenigneArcher 8478ccca5d Create pull-requests_build-check.yml 2021-12-17 10:55:23 -05:00
ReenigneArcher a268cb552d Create sunshine.desktop 2021-12-17 10:55:20 -05:00
ReenigneArcher 1b0978f252 Create sunshine.png 2021-12-17 10:55:18 -05:00
ReenigneArcher 8730980ab8 Update config.yml
-Fix path for discussions url
2021-12-16 12:14:26 -05:00
ReenigneArcher caf70d703e Update bug-report.md
-Add lines for gpu information and capture method
2021-12-16 11:13:19 -05:00
ReenigneArcher 95ced89d5e Add .github 2021-12-16 10:39:14 -05:00
loki-47-6F-64 e4c9c292e5 Fix package generation when building with the scripts 2021-10-05 13:53:58 +02:00
loki-47-6F-64 fe7a7f4d77 Fix build scripts when used on Ubuntu 21.04 2021-10-04 20:53:40 +02:00
loki cb0b32f90a Add icon to windows executable 2021-10-03 21:12:06 +02:00
loki-47-6F-64 9e93bb2dd8 Merge branch 'master' into crct 2021-10-03 19:21:02 +02:00
loki-47-6F-64 0e6c41f823 Merge pull request #240 from luk1337/master
Explicitely link to Boost::log on non-win32 platforms
2021-10-03 19:19:32 +02:00
loki-47-6F-64 725212b8a4 Create scripts that handle building from source automatically 2021-10-03 18:46:34 +02:00
LuK1337 a275ee6b65 Explicitely link to Boost::log on non-win32 platforms
This fixes linker errors related to boost log library.
2021-10-03 00:18:05 +02:00
loki-47-6F-64 997095ce39 Resolve merge conflicts 2021-10-01 11:30:12 +02:00
loki-47-6F-64 8b9cd51134 Merge branch 'master' of github.com:loki-47-6F-64/sunshine 2021-09-27 19:12:51 +02:00
loki-47-6F-64 e7cbfb3ee9 Fix dependencies for debian bullseye 2021-09-27 19:54:32 +02:00
loki-47-6F-64 1f7bdb1b2a Fix segfault when multiple controllers connected 2021-09-27 19:35:06 +02:00
loki-47-6F-64 9f14b2278d Fix rate control for hevc with amdvce 2021-09-27 19:12:42 +02:00
loki-47-6F-64 4177b02064 Allow cuda kernel to run in parallell 2021-09-27 17:58:35 +02:00
loki-47-6F-64 847d7b6980 Fix minor error in README 2021-09-26 23:45:44 +02:00
diadatp ef1114512f test 3 2021-09-27 01:29:52 +05:30
diadatp 38c36c00c9 test 2 2021-09-27 00:54:53 +05:30
diadatp 846820f4ec test 1 2021-09-27 00:24:24 +05:30
diadatp c39e90b9b0 Trying again with full cuda install. 2021-09-26 22:36:22 +05:30
diadatp 096d7587c3 Forgot sudo in appveyor config file. 2021-09-26 19:06:29 +05:30
diadatp 27f5bb60e5 Testing AppVeyor CUDA install. 2021-09-26 18:55:28 +05:30
diadatp 70ed5ce829 Merge branch 'master' into cmake_cuda 2021-09-26 17:48:51 +05:30
diadatp e58dc8e446 Fix CUDA build via CMakeLists flags. 2021-09-26 16:01:59 +05:30
loki-47-6F-64 60e3538adc Attempt to fix ubuntu 20.04 build, again 2021-09-26 11:39:36 +02:00
loki-47-6F-64 e2fb02323c Attempt to fix ubuntu 20.04 build 2021-09-26 10:57:43 +02:00
loki-47-6F-64 57c7945847 Fix typo in README 2021-09-26 00:18:49 +02:00
loki-47-6F-64 68c723e135 Resolve merge conflicts 2021-09-26 00:16:14 +02:00
loki-47-6F-64 0241414dfb Merge branch 'cuda' of github.com:loki-47-6F-64/sunshine into cuda 2021-09-25 22:31:48 +02:00
loki-47-6F-64 c5a356f3e7 Fix compilation on ubuntu 20.04 2021-09-25 22:31:39 +02:00
loki-47-6F-64 deecd19af2 Update appveyor.yml 2021-09-25 21:50:47 +02:00
loki-47-6F-64 f4cb13aa0e Merge pull request #229 from hadicharara/master
Added warning for low version of ffmpeg
2021-09-25 21:16:26 +02:00
Hadi Charara 4385014049 Added warning for low version of ffmpeg 2021-09-25 15:09:03 -04:00
loki-47-6F-64 fcb84132f4 Sharper images when not scaling the image 2021-09-25 19:18:43 +02:00
loki-47-6F-64 50bd3094b4 More accurate capture rate for NvFBC 2021-09-25 17:46:26 +02:00
loki-47-6F-64 d7cb71f877 Update README 2021-09-25 15:35:44 +02:00
loki-47-6F-64 e287404992 Handle acquiring display names based on encoder 2021-09-25 14:44:38 +02:00
loki-47-6F-64 d332f11101 Update instructions in the config file 2021-09-25 13:12:13 +02:00
loki-47-6F-64 f78a9e2ccf Fix downscaling image when using cuda 2021-09-25 12:44:45 +02:00
loki-47-6F-64 bd7294e672 Fix cuda kernel launch when encoding in 4K 2021-09-22 19:12:20 +02:00
loki-47-6F-64 b3304a059d Target older cuda architecture for compatibility 2021-09-22 14:49:49 +02:00
loki-47-6F-64 d0529fb234 Make dependency on cuda development files optional 2021-09-22 14:17:08 +02:00
loki-47-6F-64 bb912786bd Added NvFBC on Linux 2021-09-22 11:36:59 +02:00
loki-47-6F-64 8f47190ffc Test for availability of crct info before using it 2021-09-20 18:37:51 +02:00
loki-47-6F-64 196f1f7471 Make changes in brightness of the color more visible 2021-09-20 00:21:54 +02:00
loki-47-6F-64 e3cc25f23f Use linear interpolation with the cuda kernel 2021-09-20 00:03:33 +02:00
loki-47-6F-64 a963b31c1d Ensure the background color is black 2021-09-19 23:00:42 +02:00
loki-47-6F-64 4d1689d6e9 Each cuda::sws_t has it's own color matrix 2021-09-19 21:27:31 +02:00
loki-47-6F-64 fed329568c Use an actual cuda kernel to convert RGB to NV12 2021-09-19 20:40:34 +02:00
loki-47-6F-64 e3f642ac25 Reduce cpu usage with x11grab 2021-09-15 12:10:12 +02:00
loki-47-6F-64 c94d922282 Fix windows build 2021-09-14 19:16:29 +02:00
loki-47-6F-64 7563a0fa1f Merge branch 'master' into cuda 2021-09-14 15:09:21 +02:00
loki-47-6F-64 f5db0e438b The background is black instead of green 2021-09-14 15:07:34 +02:00
loki-47-6F-64 9982ae4675 Convert images on the GPU on Linux for NVidia cards 2021-09-14 11:58:21 +02:00
loki 69eba9c493 Merge branch 'master' of github.com:loki-47-6F-64/sunshine 2021-09-13 20:55:16 +02:00
loki-47-6F-64 2c67d73f08 Merge pull request #214 from exetico/patch-1
Adding note about `sink` in pipewire
2021-09-13 20:54:35 +02:00
loki 7f4b9cf36c Change where keycode is mapped 2021-09-13 20:34:45 +02:00
loki 9c0ea17ada Update Linux specific code for fix in previous commit 2021-09-13 20:33:17 +02:00
loki 91a6e55f74 Fix segfault when connecting multiple controllers at the same ttime 2021-09-13 20:24:04 +02:00
Tobias Nordahl Kristensen fea650fbe4 Typo ipewire 2021-09-13 17:17:32 +02:00
Tobias Nordahl Kristensen 35e0497f86 Adding note about sink in pipewire
Also, splitting it up to two points, so it's a bit easier to read.
2021-09-11 16:07:52 +02:00
loki-47-6F-64 fbc3735f44 Merge pull request #210 from WisdomCode/master
Apply key rewrite also when keeping key pressed
2021-09-09 21:23:22 +02:00
WisdomCode 9be80c103e Shortcut Flags need to be adjusted as well 2021-09-09 21:15:35 +02:00
WisdomCode 640f2b1c55 Syntax 2021-09-09 15:05:04 +02:00
WisdomCode d8df57130a Apply key rewrite also when keeping key pressed 2021-09-09 14:57:04 +02:00
loki-47-6F-64 3ba0533773 Merge pull request #207 from WisdomCode/master
Add non US Backslash for international keyboards on Linux
2021-09-08 21:59:44 +02:00
Christian Rupp b1224032a1 Add non US Backslash for international keyboards on Linux 2021-09-08 17:18:27 +02:00
loki-47-6F-64 1a7ed53559 Merge pull request #205 from sethicis/patch-1
Update README.md
2021-09-07 09:10:37 +02:00
Kyle Blagg 9e9487617a Update README.md
Added a troubleshooting note for an issue encountered on Manjaro Linux due to Avahi.
2021-09-06 20:49:20 -04:00
Loki d68b8138a5 Detect x11/wayland at runtime 2021-09-06 20:40:41 +02:00
Loki 10ca72f934 Refactor egl::surface_descriptor_t, removed obj_count and plane_indices 2021-09-06 19:46:42 +02:00
loki-47-6F-64 9dbf0df67d Merge pull request #202 from angelnu/patch-1
libcap-dev is associated to libcap2
2021-09-05 11:18:31 +02:00
Loki b072af3082 Fix bad file descriptor when using wlgrab 2021-09-05 11:16:59 +02:00
Angel Nunez Mencias 35c8b74bb4 libcap-dev is associated to libcap2
at least since Ubuntu 18.04
2021-09-05 01:30:55 +02:00
Loki 7fbe9ba34f Added warning if only one of libcap or libdrm has been found 2021-09-04 20:15:08 +02:00
Loki 81c6ca5915 Merge branch 'master' into setcap-p 2021-09-04 18:30:29 +02:00
loki d73a4a38e5 Fix multi-monitor setup with KMSgrab 2021-09-04 18:16:36 +02:00
David Rosca 6309f478a2 kmsgrab: Only gain effective CAP_SYS_ADMIN when needed 2021-09-04 16:28:59 +02:00
loki-47-6F-64 4ca2c0e740 Merge branch 'cpu-usage' 2021-09-04 12:09:27 +02:00
loki-47-6F-64 ea9ada8d20 Trade slightly higher rumble latency for lower cpu usage 2021-09-04 12:09:12 +02:00
loki-47-6F-64 302b61090b Merge pull request #200 from nowrep/pabuf
pulse: Set pa_buffer_attr.maxlength when creating stream
2021-09-03 15:45:56 +02:00
David Rosca 75d224cd67 pulse: Set pa_buffer_attr.maxlength when creating stream 2021-09-03 14:53:53 +02:00
David Rosca 2ff9a129c0 Reduce CPU usage 2021-09-03 14:03:59 +02:00
loki-47-6F-64 a1a4ce1af8 Merge pull request #196 from nowrep/wlsoftware
wlgrab: Fix ram (software encoding) snapshot
2021-09-03 11:23:52 +02:00
David Rosca 44ac873100 wlgrab: Fix ram (software encoding) snapshot 2021-09-03 11:02:38 +02:00
loki-47-6F-64 3d179a869a Push the right change this time xD 2021-09-03 10:20:29 +02:00
loki-47-6F-64 530f2de79e Revert "Test for capability of modifiers when importing framebuffer to openGL"
This reverts commit 276aa23a61.
2021-09-03 10:16:46 +02:00
loki-47-6F-64 512e581d56 Revert "Revert "Linux: DRM modifier 0 is valid""
This reverts commit e5c2ad2069.
2021-09-03 10:16:10 +02:00
loki-47-6F-64 e5c2ad2069 Revert "Linux: DRM modifier 0 is valid"
This reverts commit e33a7ff53b.
2021-09-03 10:12:16 +02:00
loki-47-6F-64 6af961199e Remove redundent code 2021-09-03 10:01:51 +02:00
loki-47-6F-64 276aa23a61 Test for capability of modifiers when importing framebuffer to openGL 2021-09-02 20:38:45 +02:00
David Rosca e33a7ff53b Linux: DRM modifier 0 is valid
DRM_FORMAT_MOD_LINEAR = 0
2021-09-02 12:34:27 +02:00
David Rosca d9d50d8943 kmsgrab: Fix multi-plane import 2021-09-02 12:34:19 +02:00
loki-47-6F-64 7c753e2289 Merge branch 'master' into wlroots-drm 2021-09-01 21:50:24 +02:00
loki-47-6F-64 ff81a286bb Merge pull request #185 from TheElixZammuto/web-ui-troubleshooting
Web UI - Troubleshooting Page
2021-09-01 21:48:34 +02:00
Loki c7c3ac7c9c Merged with master 2021-09-01 14:22:41 +02:00
Loki 74f673e23c Fix build for SUNSHINE_ENABLE_WAYLAND=OFF 2021-08-31 21:19:02 +02:00
Loki 7c51fbfd18 Correlate KMS output to wayland xdg-output 2021-08-31 20:46:50 +02:00
Elia Zammuto 7839ff8057 Minor tweaks to troubleshooting page 2021-08-30 20:46:14 +02:00
loki-47-6F-64 8b91e168e5 Merge pull request #179 from nowrep/kmsgrab-multiplane
kmsgrab: Support multi-plane formats
2021-08-29 21:07:04 +02:00
David Rosca 08f056bb3f kmsgrab: Support multi-plane formats 2021-08-29 20:26:11 +02:00
Elia Zammuto 808af7fce1 Fix Alignment 2021-08-29 18:48:43 +02:00
Elia Zammuto 090d353f3d Added Visual Feedback on action 2021-08-29 18:42:09 +02:00
Elia Zammuto c4b371ccc9 Merge branch 'master' into web-ui-troubleshooting 2021-08-29 18:25:03 +02:00
Loki 06a1119512 Fix segfault for wlroots based capturing 2021-08-29 09:34:00 +02:00
Loki b80c4253f0 Make KMSgrab smooth on Wayland 2021-08-28 22:22:02 +02:00
Loki 3f306de5e1 Prevent OpenGL error when switching cursor image 2021-08-28 20:30:07 +02:00
Loki 39f9506446 Fix blank video for vaapi 2021-08-28 17:48:28 +02:00
Loki 00de30d336 Omit single copy of frame with VAAPI if possible 2021-08-26 23:59:32 +02:00
Loki b59df48dde Keep image on vram if at all possible with wlroots based compositors 2021-08-26 22:06:59 +02:00
loki-47-6F-64 3840b3c561 Merge pull request #169 from gamozolabs/master
Make Sunshine usable fully offline
2021-08-26 08:35:53 +02:00
loki-47-6F-64 b5424ec671 Merge pull request #171 from felipejfc/starting_dir
feat: add support to specifying start_dir to processes
2021-08-26 08:35:23 +02:00
Loki ec184fb2ab Screencast wlroots based compositors 2021-08-25 16:09:42 +02:00
Felipe Cavalcanti 4a750c7b16 fix: rename starting dir with working dir 2021-08-24 21:13:33 -03:00
Felipe Cavalcanti f38bbf90bb feat: add support to specifying start_dir to processes 2021-08-24 15:32:18 -03:00
Loki 05dcff4f87 Ask Wayland what monitor outputs are available 2021-08-23 18:22:59 +02:00
Brandon Falk b458118e34 Pulled in remote assets locally such that Sunshine can be used fully offline 2021-08-22 05:26:39 -07:00
loki 7a920da06d Removed unnecessary references to drmModeFB2 2021-08-21 20:35:36 +02:00
loki ec84f43b80 Bump up version number of debian package 2021-08-21 20:28:14 +02:00
loki 03d572fe10 Fix generated debian package 2021-08-20 22:21:13 +02:00
loki c41df22c88 Fix build errors when disabling KMS 2021-08-20 22:00:26 +02:00
loki 3b3b9e2bd9 Fix reinitializing KMS framebuffer 2021-08-20 21:01:33 +02:00
loki ebf9dbe931 Merge branch 'kmsgrab' 2021-08-19 22:19:46 +02:00
loki 0b3b78891b Update debian package 2021-08-19 22:16:02 +02:00
loki 12af30b75b Update README 2021-08-19 22:09:09 +02:00
loki-47-6F-64 a9775a0686 Merge pull request #164 from Jorys-Paulin/feature/welcome
Tweaks to the welcome page
2021-08-19 21:42:20 +02:00
loki ca9809ca7e Fix stream based on KMS freezing when switching resolutions 2021-08-19 21:40:14 +02:00
Jorys Paulin 97e14de63e Update welcome page layout 2021-08-19 12:54:40 +02:00
loki 0f4cdc2d21 Fix hanging when switching monitors 2021-08-18 21:13:55 +02:00
loki 869b6ed89d Fix VAAPI with intel iGPU's 2021-08-18 20:19:15 +02:00
loki 1876de0a68 Fix cursor disappearing on Windows 2021-08-18 11:05:14 +02:00
Jorys Paulin 019d064d8e Disable submit button when loading 2021-08-18 10:46:57 +02:00
Jorys Paulin d6b45eb825 Added autocompletion on welcome page 2021-08-18 10:39:24 +02:00
Jorys Paulin 556a6aaf33 Fixed labels on welcome page 2021-08-18 10:33:24 +02:00
loki fc7ec9e538 Better validation of vaapi capability 2021-08-17 21:15:38 +02:00
Elia Zammuto 1f239214a1 Troubleshooting page 2021-08-17 20:22:47 +02:00
loki-47-6F-64 9e224987f7 Merge pull request #162 from TheElixZammuto/web-ui-prettier
Fixed Formatting of HTML pages, added Prettier Support
2021-08-17 19:15:54 +02:00
Elia Zammuto 81317ce672 Fixed Formatting of HTML pages, added Prettier Support 2021-08-17 19:12:15 +02:00
loki fce23c482c Fix incorrect cursor location 2021-08-15 22:25:34 +02:00
loki 1d2e042240 Use standard function for create egl images 2021-08-15 22:19:08 +02:00
loki d852bb82a3 Only use graphics card connected to monitor if it's capable of h264 encoding 2021-08-15 22:15:24 +02:00
loki fdb7754043 Attempt to render cursor when X11 is available 2021-08-15 20:38:30 +02:00
loki-47-6F-64 62c3faaacb Merge branch 'master' of https://github.com/loki-47-6F-64/sunshine 2021-08-15 00:36:40 +02:00
loki-47-6F-64 b58279beea Omit one copy for display_vrm on Windows 2021-08-15 00:36:31 +02:00
loki 898d62bad9 Filter out cursors from drm planes 2021-08-13 16:09:05 +02:00
loki 446c8ace82 Merge branch 'master' into kmsgrab 2021-08-12 22:08:06 +02:00
loki e007ee9976 Handle monitors in different GPU's 2021-08-12 22:07:00 +02:00
loki 6721155155 Omit copy to RAM when possible with VAAPI 2021-08-12 21:11:40 +02:00
loki-47-6F-64 b80619fb0f Merge pull request #154 from guanzhangrtk/master
Update README about MSYS2 requirement on Windows
2021-08-10 15:38:53 +02:00
GuanZhang e75e26467f Merge branch 'loki-47-6F-64:master' into master 2021-08-09 15:54:26 +09:00
GuanZhang 2187f0b198 Merge pull request #1 from guanzhangrtk/guanzhangrtk-msys2-readme
MSYS2 is needed to build under Windows
2021-08-09 15:53:47 +09:00
GuanZhang 3382a5d03c MSYS2 is needed to build under Windows 2021-08-09 15:52:49 +09:00
loki-47-6F-64 fff9145680 Merge pull request #152 from guanzhangrtk/master
Add missing requirements for clean MSYS2 environment
2021-08-09 08:32:23 +02:00
GuanZhang 13e57bb183 Merge branch 'loki-47-6F-64:master' into master 2021-08-09 11:42:02 +09:00
GuanZhang 948500ae41 Added missing sv as requested by loki-47-6F-64 2021-08-09 11:38:12 +09:00
loki-47-6F-64 17bcdd7902 Merge pull request #153 from TheElixZammuto/password-validation
Welcome: Password Validation
2021-08-08 17:43:39 +02:00
Elia Zammuto 03837a9308 Password Validation 2021-08-08 16:47:38 +02:00
Loki b8bfc13cf9 Prevent segfault on empty string_view 2021-08-08 13:59:43 +02:00
loki 24403cdd25 Fix segfault when switching monitors with kmsgrab 2021-08-08 13:42:25 +02:00
loki 13d0106feb Don't shutdown stream if audio capture fails 2021-08-08 13:41:09 +02:00
GuanZhang dce64fc487 Add more detailed log message when config::nvhttp.file_state doesn't exist upon first run 2021-08-08 18:20:43 +09:00
GuanZhang 0629fe7846 Add missing requirements for clean MSYS2 environment 2021-08-08 18:04:48 +09:00
loki 315ec47523 Display single monitor only with kmsgrab 2021-08-07 21:31:25 +02:00
loki 9ed2141fc8 Fix X11 screengrabbing with vaapi 2021-08-07 14:39:18 +02:00
loki 5b40c5008f Merge branch 'master' of github.com:loki-47-6F-64/sunshine 2021-08-07 12:12:27 +02:00
loki 62db9ae01a fix reading config option for log level 2021-08-07 12:12:18 +02:00
loki-47-6F-64 8c2cd2f60d Load mDNS at runtime on Windows 2021-08-07 00:05:38 +02:00
loki 0812f6f3c3 Merge branch 'master' into kmsgrab 2021-08-06 15:56:10 +02:00
loki 065e9e718a Choose between x11grab and kmsgrab at runtime 2021-08-06 15:55:38 +02:00
loki-47-6F-64 27f1dc318b Merge pull request #137 from cgutman/win32_service
Add Win32 service to run Sunshine as LocalSystem
2021-08-06 09:26:39 +02:00
Loki ac5f439839 Skeleton of grabbing image with kms 2021-08-05 21:24:52 +02:00
Cameron Gutman b4255e22aa Write Sunshine log output to disk and hide the window 2021-08-03 19:27:23 -05:00
Cameron Gutman d15c1af152 Add uninstall-service.bat 2021-08-03 18:41:23 -05:00
Cameron Gutman 0140989f3a Add Win32 service to run Sunshine as LocalSystem on login 2021-08-03 18:41:23 -05:00
Loki 793e329fa5 Merge with master 2021-08-03 20:35:57 +02:00
Loki 6702802829 Load X11 libraries at runtime 2021-08-03 20:31:27 +02:00
loki dae9a67fe2 update README 2021-08-03 15:28:32 +02:00
loki b8e11b1272 Merge branch 'master' of github.com:loki-47-6F-64/sunshine 2021-08-03 15:24:15 +02:00
loki f08b6abc96 Make keybindings configurable 2021-08-03 15:24:04 +02:00
loki-47-6F-64 965812bc19 Merge pull request #146 from TheElixZammuto/web-ui-welcome
Show a Welcome Page if credentials are created the first time
2021-08-03 13:07:08 +02:00
Elia Zammuto 7f643345ce welcome now puts credentials instead of generating 2021-07-30 16:06:59 +02:00
Elia Zammuto 28fecbc50c Show a Welcome Page if credentials are created the first time Sunshine is started 2021-07-29 18:55:34 +02:00
loki 6c11e9f27d Switch monitors on Windows 2021-07-29 17:27:22 +02:00
loki 2af179630a Switch monitors based on keyboard shortcuts 2021-07-29 16:48:03 +02:00
loki c243e82047 Add shortcut for hiding and showing the cursor 2021-07-28 22:03:17 +02:00
loki 3de77b1849 Fix error 104 in Moonlight when starting Steam Bigpicture 2021-07-27 23:05:49 +02:00
loki 37d09b0bdb Merge branch 'capture_callback' 2021-07-27 18:57:11 +02:00
loki 9a5d23ebde Fix setting default SUNSHINE_DEFAULT_DIR 2021-07-27 18:55:41 +02:00
loki-47-6F-64 da3ed5ff79 Merge pull request #142 from JacekJagosz/master
Make Sunshine on Linux stateless
2021-07-27 16:01:15 +02:00
Jacek Jagosz 2e8b462fe5 Not create unnecessary variables and make fs use strings directly instead of converting them 2021-07-27 15:58:01 +02:00
loki 87b2b708f8 Update Linux build for callback code 2021-07-26 20:56:32 +02:00
loki 7ddf8bbe94 Capturing images by callback, rather than pulling 2021-07-26 18:09:07 +02:00
loki a87782b025 Fix stuttering on Windows 2021-07-26 14:37:57 +02:00
Jacek Jagosz c39f2b0c1f If config files don't exist in user specified directory copy files from default, not override user choice 2021-07-25 20:39:45 +02:00
Jacek Jagosz a07ad3e479 If CONFIG and DEFAULT directories haven't been configured, make them point to ASSETS 2021-07-25 14:09:47 +02:00
Jacek Jagosz c58f95b79e Try making sunshine on Linux stateless 2021-07-25 14:02:58 +02:00
loki d9f7952710 Fix weird bug where Sunshine couldn't accept user input from terminal on Linux 2021-07-25 13:16:17 +02:00
Loki ab70a056fc Add CQP for older intel iGPU's 2021-07-24 19:33:23 +01:00
loki 844ba53f54 Remove dependency on X11 for keyboard input 2021-07-24 14:51:33 +02:00
loki 63b920cd7b Merge branch 'master' into rumble 2021-07-23 20:07:03 +02:00
loki 2a5fd78789 Fix crackling audio on Linux 2021-07-23 18:43:35 +02:00
loki bc52fe9b82 Improve fps for software encoding on Windows 2021-07-23 17:36:32 +02:00
loki 667c113d5b Merge branch 'master' into rumble 2021-07-22 21:14:53 +02:00
loki 38915859ba Don't overwrite config files with debian package 2021-07-22 21:14:36 +02:00
loki 70d0be4b9a Add rumble effect on Linux 2021-07-22 18:19:25 +02:00
loki dad446ea41 Print request for rumble on the terminal for Linux 2021-07-21 20:24:23 +02:00
loki d283900e43 add config options for select gamepad to emulate 2021-07-18 15:46:46 +02:00
loki 4b043e31fe Support ds4 controller on Windows 2021-07-18 15:32:26 +02:00
loki f65882e42a Merge branch 'master' into rumble 2021-07-18 11:06:08 +02:00
loki 1fda8f6219 Support Rumble on Windows 2021-07-18 11:05:34 +02:00
loki-47-6F-64 620c629bb4 Merge pull request #135 from cgutman/partial_chain
Fix X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE error with some embedded clients
2021-07-18 10:46:33 +02:00
Cameron Gutman a1f63da057 Fix client auth error with some embedded clients 2021-07-17 19:34:08 -05:00
loki 5ff5942258 Fix video packet corruption after error correction 2021-07-11 16:18:49 +02:00
loki 8c803e6a34 Fix lack of audio for second client when multiple clients are connected simultaniously 2021-07-11 15:27:12 +02:00
loki a93a640d42 Merge branch 'master' into multi-block-fec 2021-07-10 23:49:56 +02:00
loki 62abd1ee19 Merge branch 'master' of github.com:loki-47-6F-64/sunshine 2021-07-10 23:49:38 +02:00
loki d55c6ee84c Fix incorrect scaling of absolute mouse coordinates (again) 2021-07-10 23:49:04 +02:00
loki-47-6F-64 d3419697a5 Merge pull request #125 from cgutman/yuv420_linux_nvenc
Reduce CPU usage with Linux NVENC
2021-07-10 19:10:58 +02:00
Cameron Gutman a7171d77db Reduce CPU usage with Linux NVENC
The internal assembly routines inside libswscale perform the
RGB->YUV conversion using a fully planar output format, then
have to perform an additional YUV420->NV12 conversion step.

NVENC can directly consume YUV420 input frames, so we can
completely avoid this NV12 conversion and save quite a bit of
CPU time in the process.
2021-07-10 11:24:13 -05:00
loki fccb8d080d Merge branch 'master' into multi-block-fec 2021-07-10 17:37:47 +02:00
loki 24acfabe07 Prevent fec encoding from exceeding DATA_SHARDS_MAX 2021-07-10 17:33:25 +02:00
loki-47-6F-64 61be0eb051 Merge pull request #120 from cgutman/nvenc_linux
Add basic NVENC support on Linux
2021-07-10 17:30:51 +02:00
loki-47-6F-64 c4b4393177 Merge pull request #123 from cgutman/longer_ping_timeout
Increase default ping timeout to 10 seconds
2021-07-10 17:30:20 +02:00
Cameron Gutman 388e4696ff Increase default ping timeout to 10 seconds
During periods of poor connectivity, the ping timeout of 2 seconds
can easily be exceeded, especially with ENet's RTO backoff active.

This causes an unnecessary disconnection when the connection would
have recovered on its own in a few seconds. Increasing the timeout
to 10 seconds should prevent spurious disconnections in most cases.
2021-07-09 23:45:59 -05:00
Cameron Gutman 43dc7cf7c0 Fix video bitstream corruption when matching replacement isn't found
NVENC doesn't always include the HEVC bitstream prefix that Sunshine
is looking to patch. When this happens replace() appends a spurious
00 00 00 01 28 NALU prefix to the end of the bitstream rather than
simply doing nothing.

This causes varying degrees of malfunctioning depending on the client,
with the worst being complete video corruption on iOS.
2021-07-09 20:04:07 -05:00
Cameron Gutman e8feb00b33 Use a valid RTP version to fix Wireshark parsing 2021-07-09 20:01:39 -05:00
Cameron Gutman 42472bec85 Enable NVENC configuration page on Linux 2021-07-09 20:01:39 -05:00
loki-47-6F-64 769c4c8f99 Merge pull request #121 from cgutman/update_gfe_version
Update GfeVersion to be consistent with AppVersion
2021-07-09 19:05:06 +02:00
Cameron Gutman 049044f768 Update GfeVersion to be consistent with AppVersion 2021-07-09 08:47:44 -05:00
Cameron Gutman 971c784f14 Add basic NVENC support on Linux
We're not offloading scaling and YUV conversion from the CPU yet,
so the gains aren't as high as one of the fully accelerated
backends like Windows NVENC or Linux VAAPI.

Still, offloading the H.264/HEVC encoding itself is an improvement
over doing everything on the CPU.
2021-07-09 08:13:05 -05:00
loki 747ba7f23a fix incorrect pix_fmt 2021-07-09 14:21:57 +02:00
loki 4a3f3622b8 Merge branch 'master' into encrypt_control_and_audio 2021-07-09 14:19:21 +02:00
loki 7d2705424a Use extended termination error code 2021-07-09 13:26:39 +02:00
loki b228fd371c Send back encrypted termination code 2021-07-09 12:27:38 +02:00
loki cbd2a8269c Encrypt audio when requested by Moonlight 2021-07-08 22:44:35 +02:00
loki 7f9467d759 Add support for IDR frame request for encrypted control 2021-07-07 17:10:06 +02:00
loki 9cf7c14a26 Improve speed quitting apps 2021-07-07 17:00:12 +02:00
loki f09aea81fe Update moonlight-common-c and Simple-Web-Server 2021-07-07 16:55:52 +02:00
loki 8249d41848 Let Moonlight know it's unauthorized, rather than just resetting the connection 2021-07-07 16:39:16 +02:00
loki-47-6F-64 d33f742241 Merge pull request #119 from cgutman/remove_superkey_workaround
Remove super key workaround
2021-07-07 07:36:54 +02:00
Cameron Gutman 6d0499b0e3 Remove super key workaround
Moonlight can now pass the super key natively
2021-07-06 23:34:11 -05:00
loki fd7a6d070b Merge branch 'master' into encrypt_control_and_audio 2021-07-06 20:54:52 +02:00
loki 3d81b0fe7a Remove redundant code 2021-07-06 20:54:29 +02:00
loki 1d37a19468 Merge branch 'master' into encrypt_control_and_audio 2021-07-06 19:31:18 +02:00
loki-47-6F-64 cc3cf60015 Merge pull request #116 from cgutman/fix_expired_certs
Allow expired or not-yet-valid client certificates
2021-07-06 19:30:08 +02:00
loki-47-6F-64 8d4e55fcbb Merge pull request #118 from cgutman/idr_frame_delay
Fix IDR frame delays after packet loss or client request
2021-07-06 19:29:47 +02:00
loki 25aa8b41a5 Don't keep reinitializing the cipher context for gcm 2021-07-06 19:11:16 +02:00
Cameron Gutman 667878d2eb Fix IDR frame delays after packet loss or client request
This can lead to spurious poor connection warnings in Moonlight.
2021-07-05 17:55:32 -05:00
Cameron Gutman 53a9f365ce Allow expired or not-yet-valid client certificates 2021-07-05 16:42:59 -05:00
loki a587338701 Fully encrypt control data 2021-07-05 20:58:53 +02:00
loki a52f547726 Correctly identify size of rtsp packet 2021-07-04 21:25:10 +02:00
loki 136e9c43a5 Handle RTSP packets that are broken up in more than two pieces 2021-07-04 18:57:55 +02:00
loki 616f62fb9f Add support for periodic ping 2021-07-04 17:12:41 +02:00
loki 9d10eaeef4 Merge branch 'master' into min_fec_packets 2021-07-04 16:30:40 +02:00
loki f23fcee382 Merge branch 'audio_fec' into min_fec_packets 2021-07-04 16:29:34 +02:00
loki 21b1a4a336 If all content has been read in RTSP request, no need for waiting for next message 2021-07-04 16:06:03 +02:00
loki b346ac2eb0 Use tcp instead of udp for RTSP setup 2021-07-04 15:50:28 +02:00
Cameron Gutman db5a9363ba Add support for minimum required FEC packets attribute 2021-07-04 00:14:22 -05:00
Cameron Gutman 0a637b2272 Parse additional SDP options 2021-07-03 23:38:45 -05:00
Cameron Gutman 169a53b568 Increase default FEC percentage to match GFE
Also increase the range to the maximum of 255
2021-07-03 23:37:43 -05:00
Cameron Gutman 109b48a108 Implement audio FEC support 2021-07-03 18:32:33 -05:00
Cameron Gutman 118707f37a Improve audio RTP header data to better match GFE 2021-07-03 16:05:18 -05:00
loki e169259f6f install systemd service for debian packages 2021-07-03 18:13:05 +02:00
loki 355df9a615 Listening on arbitrary ports now compatible with Moonlight 2021-07-03 13:14:23 +02:00
loki 96cfb1f368 add missing file 2021-07-01 12:17:10 +02:00
loki 545cca792b Fix inabillity to display secure desktop even when runnig as system account 2021-06-30 22:03:21 +02:00
loki ae04c4afbb Gracefully exit when stopped by systemd or pkill 2021-06-30 17:28:58 +02:00
loki e8fadd2848 Update version for debian package 2021-06-30 15:51:26 +02:00
loki beb6bdfadb Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
loki 8bf4ade9d8 Disable UPnP by default 2021-06-30 12:22:37 +02:00
loki ea928c53b4 Add support for upnp 2021-06-29 22:42:06 +02:00
loki c1697c8562 add comma's -_- 2021-06-28 21:56:21 +02:00
loki 57c4986f0e Add necessary dependencies for Debian package 2021-06-28 21:52:24 +02:00
loki 0cc7e35ed9 Automatic service discovery for Windows 2021-06-28 21:05:52 +02:00
loki d6eceaf0dc Fix incorrect instruction in the README 2021-06-26 16:25:46 +02:00
loki cf7eb14573 Remove redundent thread creation 2021-06-26 15:48:07 +02:00
loki ed5de34800 Dynamically load avahi libraries if they are available 2021-06-26 15:36:56 +02:00
loki 27d4f6063f refactored publish.cpp from C code to C++ code 2021-06-26 13:32:14 +02:00
loki 62662edc8d Merge with master 2021-06-26 12:40:06 +02:00
loki b67600962a Fix incorrect scaling for absolute mouse coordinates 2021-06-24 20:53:19 +02:00
loki 1eda45a81a Allow installation of debian package 2021-06-24 20:23:43 +02:00
loki 926e95f527 Fix absolute mouse coordinates with multiple monitors on Windows 2021-06-23 21:51:15 +02:00
loki 029194cb60 Fix incorrect abs mouse coordinates on Linux when scaling to different aspect ratio 2021-06-23 14:05:09 +02:00
loki 7e3abefc2c pass session event objects through safe::mail_t 2021-06-22 22:26:11 +02:00
loki cf9eb961fc Pass global event objects through mail_t 2021-06-21 21:21:52 +02:00
loki 0a05c28df8 fixed incorrect colors when scaling with software 2021-06-20 16:13:34 +02:00
loki 0034438c9e fixed incorrect colors when scaling with software 2021-06-20 15:58:13 +02:00
loki 2691489dab Merge branch 'vaapi' 2021-06-20 15:30:16 +02:00
loki 9e7ecf8db2 Allow replacement of hevc headers 2021-06-20 15:29:51 +02:00
loki-47-6F-64 32e6054435 Fix incorrect instruction in the README 2021-06-20 15:16:30 +02:00
loki-47-6F-64 bd2d846557 Merge pull request #100 from TheElixZammuto/master
Fix Config Page AMD RC settings
2021-06-18 22:52:07 +02:00
Elia Zammuto 0932d8bab9 Merge pull request #5 from TheElixZammuto/fix-config-page
Fix amd rc selection on config page
2021-06-18 22:44:25 +02:00
Elia Zammuto 82ac3becd8 Fix amd rc selection on config page 2021-06-18 22:43:55 +02:00
loki 7b86ea9e87 temporary workaround for hanging when interrupting application before http server started 2021-06-18 20:02:57 +02:00
loki 63d15333f2 Allow injecting more than one type of header data into video 2021-06-18 17:27:56 +02:00
loki ac862f9157 bump up version of debian package 2021-06-18 12:59:39 +02:00
loki 23b09e3d41 fix an issue causing free called on unallocated data 2021-06-17 23:26:25 +02:00
loki-47-6F-64 4024378772 Merge pull request #98 from luk1337/master
include FFMPEG_INCLUDE_DIRS for third-party/cbs module
2021-06-16 19:12:57 +02:00
LuK1337 64e1132579 include FFMPEG_INCLUDE_DIRS for third-party/cbs module 2021-06-16 18:32:11 +02:00
loki-47-6F-64 6749b64ed5 Merge pull request #93 from TheElixZammuto/master
Update README to accomodate Web UI Changes
2021-06-16 16:11:03 +02:00
loki 0c43b83598 make config files writable for Web Manager on Linux when installed web debian package 2021-06-16 16:06:36 +02:00
loki c47e3cb020 add missing file 2021-06-16 15:04:12 +02:00
loki f3b07efaf3 add advanced option for credentials file 2021-06-16 14:49:51 +02:00
loki 02360f7aef fix build windows 2021-06-16 14:34:05 +02:00
loki c21301a423 fix storing log level through web manager 2021-06-16 11:38:26 +02:00
loki 64a6c1419b store state in .config/sunshine on Linux 2021-06-16 11:26:54 +02:00
loki 6f95d360b5 fix web manager when installed through deb package 2021-06-15 21:56:32 +02:00
loki 71cef4b700 remove arch specific code 2021-06-15 18:31:40 +02:00
loki 56bb4ca865 removed redundent build dependency on Windows 2021-06-14 21:09:11 +02:00
loki fa0ff91d23 some minor refactoring 2021-06-14 20:47:30 +02:00
loki 13caabaec8 fix h264 vui params 2021-06-14 17:43:21 +02:00
Loki 8f2e00f31b minor refactoring 2021-06-14 14:54:09 +02:00
Loki 78244a48d2 remove two redundent tests for encoder validation 2021-06-14 14:44:17 +02:00
Loki 8be7c563a9 Fix windows build 2021-06-14 14:34:38 +02:00
loki 3fe134d8a6 attempt to fix ubuntu build 2021-06-13 21:59:10 +02:00
loki f4c145136c Attempt to compile on ubuntu 20.04 2021-06-13 21:51:49 +02:00
loki ee10a795bd Attempt to compile on ubuntu 20.04 2021-06-13 21:48:04 +02:00
loki 8e32c8e6f4 Inject VUI data in SPS header if missing 2021-06-13 21:29:32 +02:00
loki 30f7742f51 Test for presence of sps->vui parameters 2021-06-12 23:08:20 +02:00
loki 55ce46e6ed fix windows build 2021-06-12 19:51:58 +02:00
loki 9e03cdda42 constant bitrate for audio 2021-06-12 18:30:24 +02:00
loki 76f34be395 move third-party source files to folder third-party 2021-06-11 11:59:19 +02:00
loki ee89b211de include sstream in linux/audio.cpp to prevent compilation errors 2021-06-11 10:31:32 +02:00
loki 0c5daa44a1 Fix not responding to key modifiers on moonlight-embedded 2021-06-10 22:44:56 +02:00
loki 5495c8367a Search for active sink, rather than hardware sink 2021-06-10 18:39:16 +02:00
loki 988bf33b40 Fix bug not accepting paired device after reboot 2021-06-10 17:44:40 +02:00
loki e53f65c305 Remove use shutdown signal inside init function 2021-06-09 22:01:18 +02:00
loki 1afd1b7c94 generate user credentials based on command line iuput 2021-06-09 21:55:13 +02:00
loki 33fbd5f431 Show/Hide config options based on platform and added vaapi config options to UI 2021-06-09 20:40:17 +02:00
loki 17d3fcf0d0 fix adding and editing apps json 2021-06-09 19:12:00 +02:00
loki cf77b301bc centralize reading/writing file 2021-06-09 12:04:51 +02:00
loki 9d52174d6b fix selecting incorrect monitor on linux 2021-06-09 11:49:31 +02:00
loki e2874b40c1 unfinished vaapi encoder should not be default yet 2021-06-08 22:38:48 +02:00
loki 914f329eea removed unnessesary header includes 2021-06-08 22:23:39 +02:00
loki 877c739f1b Merge branch 'master' into vaapi 2021-06-08 22:18:27 +02:00
loki 61b195e9f4 some refactoring 2021-06-08 22:10:42 +02:00
loki c53564dd31 fixed calling terminate instead of gracefully ending 2021-06-08 21:58:32 +02:00
loki 9eb4eadda6 Fix linux build 2021-06-08 10:11:58 +02:00
Loki 44ebc4846b removed useless if statement 2021-06-07 14:27:42 +02:00
Loki 3a3d4928f9 Fix compilation on Windows 2021-06-07 14:22:23 +02:00
loki 84c55d6efc Fix file descriptor leak 2021-06-06 20:57:42 +02:00
loki 7f636a25a8 Look for VAAPI availabillity during runtime 2021-06-06 18:45:45 +02:00
loki 825a706139 Remove build dependency for gbm 2021-06-06 17:19:30 +02:00
loki 4df57a722e Grab whatever function we can 2021-06-06 17:19:11 +02:00
loki 45f9ce3a20 Allow va to have it's own file descriptor for the VAAPI device 2021-06-05 23:19:58 +02:00
loki f2863cceb7 Properly scale image on VAAPI 2021-06-05 12:25:19 +02:00
loki 6b9ed7fcb3 Add option to select render device for VAAPI 2021-06-05 10:20:36 +02:00
loki f33a587218 Fix software encoder 2021-06-04 21:35:00 +02:00
loki bdb9ed9001 Perform image format conversion for VAAPI on the gpu 2021-06-04 21:12:06 +02:00
Elia Zammuto 41911a26fb Update README to accomodate Web UI Changes 2021-06-03 21:27:11 +02:00
loki-47-6F-64 0942f2ee7f Merge pull request #92 from exalented/exalented-pipewire-docs
Add pipewire documentation
2021-06-02 22:41:40 +02:00
exalented a05a3b355c Update README.md
Add a bit of pipewire documentation in the README.
2021-06-02 11:55:25 -07:00
loki-47-6F-64 ff1722bbd1 Merge pull request #89 from TheElixZammuto/web-ui
Web UI
2021-05-30 17:36:39 +02:00
Elia Zammuto dc281119af Fix Header Link 2021-05-30 16:46:05 +02:00
Elia Zammuto b848db8f2b Config Update and PIN POST Method 2021-05-30 16:42:40 +02:00
Elia Zammuto bc261fddf2 Updated Config Page 2021-05-30 15:56:13 +02:00
Elia Zammuto bb251d5046 Code Cleanup 2021-05-30 14:58:38 +02:00
Elia Zammuto ec9481392a Password Change UI 2021-05-29 23:35:44 +02:00
Elia Zammuto 8961b0462e Fix Incldue Order 2021-05-29 23:05:37 +02:00
Elia Zammuto ffb80c5fc3 Fix Format 2021-05-29 22:29:10 +02:00
Elia Zammuto 4835366a0c Fixed Build 2021-05-29 22:26:17 +02:00
Elia Zammuto c09855f703 Merge branch 'loki-47-6F-64-master' into web-ui 2021-05-29 22:07:53 +02:00
Elia Zammuto 5761b05f3b Merge branch 'master' of https://github.com/loki-47-6F-64/sunshine into loki-47-6F-64-master 2021-05-29 22:06:28 +02:00
loki ff1ea1a63e Use VAAPI for hardware encoding on Linux 2021-05-29 16:25:37 +02:00
Elia Zammuto 0ea6363172 Username/Password Authentication for UI 2021-05-28 22:49:27 +02:00
loki fe5375f17b update debian package version 2021-05-26 21:40:23 +02:00
loki fd43ebc2bf add build status 2021-05-26 21:33:28 +02:00
loki 113e7a52d4 advertise display modes 2021-05-26 17:34:25 +02:00
loki 9f6b4ed93b Work around weird mapping for audio channels 2021-05-25 18:55:29 +02:00
loki 7aff15f743 Mainain aspect ratio when using nvenc and amdvce 2021-05-24 20:58:05 +02:00
loki 1c4435312e maintain aspect ratio when using software encoder 2021-05-24 18:08:32 +02:00
loki dcb32eaaf7 Skip error correction when a video frame is to large, the alternative is skipping the frame itself 2021-05-22 23:09:53 +02:00
loki ba07fd510e Upmix/Downmix audio 2021-05-22 19:51:01 +02:00
loki 2fb5f8a7d0 Add config option for virtual_sink on windows 2021-05-21 14:28:24 +02:00
loki b119121e10 Change default audio device on Windows 2021-05-21 13:53:12 +02:00
loki cb101eca16 Merge branch 'master' into surround 2021-05-20 11:02:26 +02:00
loki-47-6F-64 29674b8ed0 Merge pull request #87 from psyke83/hevc_forced_idr
Force IDR frames for libx265 encoder
2021-05-20 09:27:14 +02:00
Conn O'Griofa c6a0eeef3f Force IDR frames for libx265 encoder
Parameter is needed to avoid infinite black screen with
"Waiting for IDR frame" in moonlight-qt (3.1.3) on Windows.
2021-05-20 00:22:28 +01:00
loki 825efb512a Based on client request, mute the host on Linux 2021-05-19 21:44:42 +02:00
loki cd870bdcdd Guard against missing parameters 2021-05-19 20:02:03 +02:00
loki 0868d898f6 Create virtual audio sinks on Linux 2021-05-19 18:11:06 +02:00
loki 66a78f0d40 Fix windows build 2021-05-19 09:42:38 +02:00
loki 2b04e1428c Select audio output on Linux 2021-05-18 13:36:12 +02:00
Elia Zammuto 57f444357d Web UI IP Based Authentication 2021-05-17 21:56:55 +02:00
Elia Zammuto fe08c241ec Fixes 2021-05-17 21:30:03 +02:00
loki 3d8a99f541 clang-format 2021-05-17 21:21:57 +02:00
Elia Zammuto 03236a50e5 UI for Application Config 2021-05-16 20:06:06 +02:00
loki a6c1649493 Remove redundent code 2021-05-15 17:01:03 +02:00
loki 33a330fd6c Downmix surround 5.1 to stereo 2021-05-14 21:44:20 +02:00
loki 3901e404a9 Add forgotten requirement for compilation on ubuntu 2021-05-14 21:32:46 +02:00
Elia Zammuto 27a1144217 Moved Common HTTPS Initialization Logic in a common file 2021-05-11 23:38:45 +02:00
Elia Zammuto 04421d84a3 Fix Indentations and Shutdown Handling 2021-05-11 22:19:29 +02:00
Elia Zammuto fd8cbf0c7d Merge branch 'loki-47-6F-64:master' into web-ui 2021-05-09 18:59:36 +02:00
Elia Zammuto 4fe90dcbd6 Started Work on Web UI 2021-05-09 18:55:34 +02:00
arne 3ec4bf52e1 avahi service publishing cleanup & appveyor 2021-04-13 18:36:48 +02:00
arne ec44a4391a avahi service publishing 2021-04-13 18:15:53 +02:00
525 changed files with 88062 additions and 13448 deletions
+117
View File
@@ -0,0 +1,117 @@
---
# This file is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# Generated from CLion C/C++ Code Style settings
BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: BlockIndent
AlignConsecutiveAssignments: None
AlignEscapedNewlines: DontAlign
AlignOperands: Align
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AllowShortLoopsOnASingleLine: true
AlignTrailingComments: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: false
BinPackParameters: false
BracedInitializerIndentWidth: 2
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: true
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterUnion: false
BeforeCatch: true
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: true
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeTernaryOperators: false
BreakConstructorInitializers: AfterColon
BreakInheritanceList: AfterColon
ColumnLimit: 0
CompactNamespaces: false
ContinuationIndentWidth: 2
Cpp11BracedListStyle: true
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: Always
ExperimentalAutoDetectBinPacking: true
FixNamespaceComments: true
IncludeBlocks: Regroup
IndentAccessModifiers: false
IndentCaseBlocks: true
IndentCaseLabels: true
IndentExternBlock: Indent
IndentGotoLabels: true
IndentPPDirectives: BeforeHash
IndentWidth: 2
IndentWrappedFunctionNames: true
InsertBraces: true
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
LineEnding: LF
MaxEmptyLinesToKeep: 1
NamespaceIndentation: All
ObjCBinPackProtocolList: Never
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: Never
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 1
PenaltyBreakString: 1
PenaltyBreakFirstLessLess: 0
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 100000000
PointerAlignment: Right
ReferenceAlignment: Pointer
ReflowComments: true
RemoveBracesLLVM: false
RemoveSemicolon: false
SeparateDefinitionBlocks: Always
SortIncludes: CaseInsensitive
SortUsingDeclarations: Lexicographic
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: false
SpaceBeforeInheritanceColon: false
SpaceBeforeJsonColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: Never
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInLineCommentPrefix:
Maximum: 3
Minimum: 1
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 2
UseTab: Never
+11
View File
@@ -0,0 +1,11 @@
# install dependencies for C++ analysis
set -e
chmod +x ./scripts/linux_build.sh
./scripts/linux_build.sh --skip-package --ubuntu-test-repo
# Delete CUDA
rm -rf ./build/cuda
# skip autobuild
echo "skip_autobuild=true" >> "$GITHUB_OUTPUT"
+37
View File
@@ -0,0 +1,37 @@
# install dependencies for C++ analysis
set -e
# update pacman
pacman --noconfirm -Syu
# install dependencies
dependencies=(
"git"
"mingw-w64-ucrt-x86_64-boost"
"mingw-w64-ucrt-x86_64-cmake"
"mingw-w64-ucrt-x86_64-cppwinrt"
"mingw-w64-ucrt-x86_64-curl-winssl"
"mingw-w64-ucrt-x86_64-MinHook"
"mingw-w64-ucrt-x86_64-miniupnpc"
"mingw-w64-ucrt-x86_64-nlohmann-json"
"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"
)
pacman -S --noconfirm "${dependencies[@]}"
# build
mkdir -p build
cmake \
-B build \
-G Ninja \
-S . \
-DBUILD_DOCS=OFF \
-DBUILD_WERROR=ON
ninja -C build
# skip autobuild
echo "skip_autobuild=true" >> "$GITHUB_OUTPUT"
+29
View File
@@ -0,0 +1,29 @@
# install dependencies for C++ analysis
set -e
# install dependencies
dependencies=(
"boost"
"cmake"
"miniupnpc"
"ninja"
"node"
"openssl@3"
"opus"
"pkg-config"
)
brew install "${dependencies[@]}"
# build
mkdir -p build
cmake \
-B build \
-G Ninja \
-S . \
-DBOOST_USE_STATIC=OFF \
-DBUILD_DOCS=OFF \
-DBUILD_WERROR=ON
ninja -C build
# skip autobuild
echo "skip_autobuild=true" >> "$GITHUB_OUTPUT"
+26
View File
@@ -0,0 +1,26 @@
# ignore hidden files
.*
# do not ignore .git, needed for versioning
!/.git
# do not ignore .rstcheck.cfg, needed to test building docs
!/.rstcheck.cfg
# ignore repo directories and files
docker/
gh-pages-template/
scripts/
tools/
crowdin.yml
# don't ignore linux build script
!scripts/linux_build.sh
# ignore dev directories
build/
cmake-*/
venv/
# ignore artifacts
artifacts/
+6
View File
@@ -0,0 +1,6 @@
[flake8]
filename =
*.py
max-line-length = 120
extend-exclude =
venv/
+6
View File
@@ -0,0 +1,6 @@
# ensure dockerfiles are checked out with LF line endings
Dockerfile text eol=lf
*.dockerfile text eol=lf
# ensure flatpak lint json files are checked out with LF line endings
*flatpak-lint-*.json text eol=lf
+188
View File
@@ -0,0 +1,188 @@
---
name: Bug Report
description: Create a bug report to help us improve.
body:
- type: markdown
attributes:
value: >
**THIS IS NOT THE PLACE TO ASK FOR SUPPORT!**
Please use our [Support Center](https://app.lizardbyte.dev/support) for support issues.
Non actionable bug reports will be LOCKED and CLOSED!
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
- type: checkboxes
attributes:
label: Is your issue described in the documentation?
description: Please read our [documentation](https://docs.lizardbyte.dev/projects/sunshine)
options:
- label: I have read the documentation
- type: dropdown
attributes:
label: Is your issue present in the latest beta/pre-release?
description: Please test the latest [pre-release](https://github.com/LizardByte/Sunshine/releases).
options:
- "I didn't read the issue template"
- "I'm too lazy to test"
- "This issue is present in the latest pre-release"
- type: textarea
id: description
attributes:
label: Describe the Bug
description: A clear and concise description of the bug, list the reproduction steps.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
- type: textarea
id: additional
attributes:
label: Additional Context
description: Add any other context about the bug here.
- type: dropdown
id: os
attributes:
label: Host Operating System
description: What version operating system are you running the software on?
options:
- Docker
- Linux
- macOS
- Windows
- other, n/a
validations:
required: true
- type: input
id: os-version
attributes:
label: Operating System Version
description: Provide the version of the operating system. Additionally a build number would be helpful.
validations:
required: true
- type: dropdown
id: os-architecture
attributes:
label: Architecture
options:
- amd64/x86_64
- arm64/aarch64
- other, n/a
validations:
required: true
- type: input
id: version
attributes:
label: Sunshine commit or version
description: |
Use `sunshine --verison` to get the version, or get the version from web UI.
Please don't just copy the latest commit from our repo, if that's not the commit you're actually using.
validations:
required: true
- type: dropdown
id: package_type
attributes:
label: Package
description: The package you installed
options:
- Linux - AppImage
- Linux - AUR (Third Party)
- Linux - deb
- Linux - Docker
- Linux - Fedora Copr
- Linux - flathub/flatpak
- Linux - Homebrew
- Linux - LizardByte/pacman-repo
- Linux - nixpkgs (Third Party)
- Linux - pkg.tar.zst
- Linux - solus (Third Party)
- Linux - Unraid (Third Party)
- macOS - Homebrew
- macOS - Portfile
- Windows - Chocolatey (Third Party)
- Windows - installer (recommended)
- Windows - portable (not recommended)
- Windows - Scoop (Third Party)
- Windows - Winget
- other (not listed)
- other (self built)
- other (fork of this repo)
- n/a
validations:
required: true
- type: dropdown
id: graphics_type
attributes:
label: GPU Type
description: The type of the installed graphics card.
options:
- AMD
- Apple Silicon
- Intel
- NVIDIA
- none (software encoding)
- n/a
validations:
required: true
- type: input
id: graphics_model
attributes:
label: GPU Model
description: The model of the installed graphics card.
validations:
required: true
- type: input
id: graphics_driver
attributes:
label: GPU Driver/Mesa Version
description: The driver/mesa version of the installed graphics card.
validations:
required: true
- type: dropdown
id: capture_method
attributes:
label: Capture Method
description: The capture method being used.
options:
- AVCaptureScreen (macOS)
- KMS (Linux)
- NvFBC (Linux)
- wlroots (Linux)
- X11 (Linux)
- Desktop Duplication API (Windows)
- Windows.Graphics.Capture (Windows)
validations:
required: false
- type: textarea
id: config
attributes:
label: Config
description: |
Please copy and paste your config (`sunshine.conf`) file.
render: Shell
validations:
required: false
- type: textarea
id: apps
attributes:
label: Apps
description: |
If this is an issue with launching a game or app, please copy and paste your `apps.json` file.
render: json
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output
description: |
Please copy and paste any relevant log output. This will be automatically formatted into code,
so no need for backticks.
render: shell
validations:
required: true
+19
View File
@@ -0,0 +1,19 @@
---
# This file is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
blank_issues_enabled: false
contact_links:
- name: Discussions
url: https://github.com/orgs/LizardByte/discussions
about: Community discussions
- name: Questions
url: https://github.com/orgs/LizardByte/discussions
about: Ask questions
- name: Feature Requests
url: https://github.com/orgs/LizardByte/discussions
about: Request new features
- name: Support Center
url: https://app.lizardbyte.dev/support
about: Official LizardByte support
+78
View File
@@ -0,0 +1,78 @@
---
# This file is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
version: 2
updates:
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "daily"
time: "07:30"
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "daily"
time: "08:00"
open-pull-requests-limit: 10
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "08:30"
open-pull-requests-limit: 10
groups:
docker-actions:
applies-to: version-updates
patterns:
- "docker/*"
github-actions:
applies-to: version-updates
patterns:
- "actions/*"
- "github/*"
lizardbyte-actions:
applies-to: version-updates
patterns:
- "LizardByte/*"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
time: "09:00"
open-pull-requests-limit: 10
groups:
dev-dependencies:
applies-to: version-updates
dependency-type: "development"
- package-ecosystem: "nuget"
directory: "/"
schedule:
interval: "daily"
time: "09:30"
open-pull-requests-limit: 10
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
time: "10:00"
open-pull-requests-limit: 10
groups:
pytest-dependencies:
applies-to: version-updates
patterns:
- "pytest*"
- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
interval: "daily"
time: "10:30"
open-pull-requests-limit: 10
+49
View File
@@ -0,0 +1,49 @@
---
# This file is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# Configuration for Label Actions - https://github.com/dessant/label-actions
added:
comment: >
This feature has been added and will be available in the next release.
fixed:
comment: >
This issue has been fixed and will be available in the next release.
invalid:duplicate:
comment: >
:wave: @{issue-author}, this appears to be a duplicate of a pre-existing issue.
close: true
lock: true
unlabel: 'status:awaiting-triage'
-invalid:duplicate:
reopen: true
unlock: true
invalid:support:
comment: >
:wave: @{issue-author}, we use the issue tracker exclusively for bug reports.
However, this issue appears to be a support request. Please use our
[Support Center](https://app.lizardbyte.dev/support) for support issues. Thanks.
close: true
lock: true
lock-reason: 'off-topic'
unlabel: 'status:awaiting-triage'
-invalid:support:
reopen: true
unlock: true
invalid:template-incomplete:
issues:
comment: >
:wave: @{issue-author}, please edit your issue to complete the template with
all the required info. Your issue will be automatically closed in 5 days if
the template is not completed. Thanks.
prs:
comment: >
:wave: @{issue-author}, please edit your PR to complete the template with
all the required info. Your PR will be automatically closed in 5 days if
the template is not completed. Thanks.
+14
View File
@@ -0,0 +1,14 @@
---
# This file is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# This is the configuration file for https://github.com/Ezard/semantic-prs
enabled: true
titleOnly: true # We only use the PR title as we squash and merge
commitsOnly: false
titleAndCommits: false
anyCommit: false
allowMergeCommits: false
allowRevertCommits: false
File diff suppressed because it is too large Load Diff
+33
View File
@@ -0,0 +1,33 @@
---
name: CI Copr
on:
pull_request:
branches:
- master
types:
- opened
- synchronize
- reopened
release:
types:
- prereleased
- released
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
call-copr-ci:
uses: LizardByte/copr-ci/.github/workflows/copr-ci.yml@master
with:
copr_pr_webhook_token: "05fc9b07-a19b-4f83-89b2-ae1e7e0b5282"
github_org_owner: LizardByte
copr_ownername: lizardbyte
auto_update_package: true
job_timeout: 60
secrets:
COPR_BETA_WEBHOOK_TOKEN: ${{ secrets.COPR_BETA_WEBHOOK_TOKEN }}
COPR_STABLE_WEBHOOK_TOKEN: ${{ secrets.COPR_STABLE_WEBHOOK_TOKEN }}
COPR_CLI_CONFIG: ${{ secrets.COPR_CLI_CONFIG }}
+366
View File
@@ -0,0 +1,366 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# This workflow is intended to work with all our organization Docker projects. A readme named `DOCKER_README.md`
# will be used to update the description on Docker hub.
# custom comments in dockerfiles:
# `# platforms: `
# Comma separated list of platforms, i.e. `# platforms: linux/386,linux/amd64`. Docker platforms can alternatively
# be listed in a file named `.docker_platforms`.
# `# platforms_pr: `
# Comma separated list of platforms to run for PR events, i.e. `# platforms_pr: linux/amd64`. This will take
# precedence over the `# platforms: ` directive.
# `# artifacts: `
# `true` to build in two steps, stopping at `artifacts` build stage and extracting the image from there to the
# GitHub runner.
name: CI Docker
on:
pull_request:
branches: [master]
types: [opened, synchronize, reopened]
push:
branches: [master]
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
check_dockerfiles:
name: Check Dockerfiles
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Find dockerfiles
id: find
run: |
dockerfiles=$(find . -type f -iname "Dockerfile" -o -iname "*.dockerfile")
echo "found dockerfiles: ${dockerfiles}"
# do not quote to keep this as a single line
echo dockerfiles=${dockerfiles} >> $GITHUB_OUTPUT
MATRIX_COMBINATIONS=""
for FILE in ${dockerfiles}; do
# extract tag from file name
tag=$(echo $FILE | sed -r -z -e 's/(\.\/)*.*\/(Dockerfile)/None/gm')
if [[ $tag == "None" ]]; then
MATRIX_COMBINATIONS="$MATRIX_COMBINATIONS {\"dockerfile\": \"$FILE\"},"
else
tag=$(echo $FILE | sed -r -z -e 's/(\.\/)*.*\/(.+)(\.dockerfile)/-\2/gm')
MATRIX_COMBINATIONS="$MATRIX_COMBINATIONS {\"dockerfile\": \"$FILE\", \"tag\": \"$tag\"},"
fi
done
# removes the last character (i.e. comma)
MATRIX_COMBINATIONS=${MATRIX_COMBINATIONS::-1}
# setup matrix for later jobs
matrix=$((
echo "{ \"include\": [$MATRIX_COMBINATIONS] }"
) | jq -c .)
echo $matrix
echo $matrix | jq .
echo "matrix=$matrix" >> $GITHUB_OUTPUT
- name: Find dotnet solution file
id: find_dotnet
run: |
solution=$(find . -maxdepth 1 -type f -iname "*.sln")
echo "found solution: ${solution}"
# do not quote to keep this as a single line
echo solution=${solution} >> $GITHUB_OUTPUT
if [[ $solution != "" ]]; then
echo "dotnet=true" >> $GITHUB_OUTPUT
else
echo "dotnet=false" >> $GITHUB_OUTPUT
fi
outputs:
dockerfiles: ${{ steps.find.outputs.dockerfiles }}
matrix: ${{ steps.find.outputs.matrix }}
dotnet: ${{ steps.find_dotnet.outputs.dotnet }}
solution: ${{ steps.find_dotnet.outputs.solution }}
setup_release:
if: ${{ needs.check_dockerfiles.outputs.dockerfiles }}
name: Setup Release
needs:
- check_dockerfiles
outputs:
publish_release: ${{ steps.setup_release.outputs.publish_release }}
release_body: ${{ steps.setup_release.outputs.release_body }}
release_commit: ${{ steps.setup_release.outputs.release_commit }}
release_generate_release_notes: ${{ steps.setup_release.outputs.release_generate_release_notes }}
release_tag: ${{ steps.setup_release.outputs.release_tag }}
release_version: ${{ steps.setup_release.outputs.release_version }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Release
id: setup_release
uses: LizardByte/setup-release-action@v2025.102.14715
with:
dotnet: ${{ needs.check_dockerfiles.outputs.dotnet }}
github_token: ${{ secrets.GITHUB_TOKEN }}
docker:
needs: [check_dockerfiles, setup_release]
if: ${{ needs.check_dockerfiles.outputs.dockerfiles }}
runs-on: ubuntu-22.04
permissions:
packages: write
contents: write
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.check_dockerfiles.outputs.matrix) }}
name: Docker${{ matrix.tag }}
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@v10
with:
root-reserve-mb: 30720 # https://github.com/easimon/maximize-build-space#caveats
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Prepare
id: prepare
env:
NV: ${{ needs.setup_release.outputs.release_tag }}
run: |
# get branch name
BRANCH=${GITHUB_HEAD_REF}
RELEASE=${{ needs.setup_release.outputs.publish_release }}
COMMIT=${{ needs.setup_release.outputs.release_commit }}
if [ -z "$BRANCH" ]; then
echo "This is a PUSH event"
BRANCH=${{ github.ref_name }}
CLONE_URL=${{ github.event.repository.clone_url }}
else
echo "This is a PULL REQUEST event"
CLONE_URL=${{ github.event.pull_request.head.repo.clone_url }}
fi
# determine to push image to dockerhub and ghcr or not
if [[ $GITHUB_EVENT_NAME == "push" ]]; then
PUSH=true
else
PUSH=false
fi
# setup the tags
REPOSITORY=${{ github.repository }}
BASE_TAG=$(echo $REPOSITORY | tr '[:upper:]' '[:lower:]')
TAGS="${BASE_TAG}:${COMMIT:0:7}${{ matrix.tag }},ghcr.io/${BASE_TAG}:${COMMIT:0:7}${{ matrix.tag }}"
if [[ $GITHUB_REF == refs/heads/master ]]; then
TAGS="${TAGS},${BASE_TAG}:latest${{ matrix.tag }},ghcr.io/${BASE_TAG}:latest${{ matrix.tag }}"
TAGS="${TAGS},${BASE_TAG}:master${{ matrix.tag }},ghcr.io/${BASE_TAG}:master${{ matrix.tag }}"
else
TAGS="${TAGS},${BASE_TAG}:test${{ matrix.tag }},ghcr.io/${BASE_TAG}:test${{ matrix.tag }}"
fi
if [[ ${NV} != "" ]]; then
TAGS="${TAGS},${BASE_TAG}:${NV}${{ matrix.tag }},ghcr.io/${BASE_TAG}:${NV}${{ matrix.tag }}"
fi
# parse custom directives out of dockerfile
# try to get the platforms from the dockerfile custom directive, i.e. `# platforms: xxx,yyy`
# directives for PR event, i.e. not push event
if [[ ${RELEASE} == "false" ]]; then
while read -r line; do
if [[ $line == "# platforms_pr: "* && $PLATFORMS == "" ]]; then
# echo the line and use `sed` to remove the custom directive
PLATFORMS=$(echo -e "$line" | sed 's/# platforms_pr: //')
elif [[ $PLATFORMS != "" ]]; then
# break while loop once all custom "PR" event directives are found
break
fi
done <"${{ matrix.dockerfile }}"
fi
# directives for all events... above directives will not be parsed if they were already found
while read -r line; do
if [[ $line == "# platforms: "* && $PLATFORMS == "" ]]; then
# echo the line and use `sed` to remove the custom directive
PLATFORMS=$(echo -e "$line" | sed 's/# platforms: //')
elif [[ $line == "# artifacts: "* && $ARTIFACTS == "" ]]; then
# echo the line and use `sed` to remove the custom directive
ARTIFACTS=$(echo -e "$line" | sed 's/# artifacts: //')
elif [[ $line == "# no-cache-filters: "* && $NO_CACHE_FILTERS == "" ]]; then
# echo the line and use `sed` to remove the custom directive
NO_CACHE_FILTERS=$(echo -e "$line" | sed 's/# no-cache-filters: //')
elif [[ $PLATFORMS != "" && $ARTIFACTS != "" && $NO_CACHE_FILTERS != "" ]]; then
# break while loop once all custom directives are found
break
fi
done <"${{ matrix.dockerfile }}"
# if PLATFORMS is blank, fall back to the legacy method of reading from the `.docker_platforms` file
if [[ $PLATFORMS == "" ]]; then
# read the platforms from `.docker_platforms`
PLATFORMS=$(<.docker_platforms)
fi
# if PLATFORMS is still blank, fall back to `linux/amd64`
if [[ $PLATFORMS == "" ]]; then
PLATFORMS="linux/amd64"
fi
echo "branch=${BRANCH}" >> $GITHUB_OUTPUT
echo "build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
echo "clone_url=${CLONE_URL}" >> $GITHUB_OUTPUT
echo "artifacts=${ARTIFACTS}" >> $GITHUB_OUTPUT
echo "no_cache_filters=${NO_CACHE_FILTERS}" >> $GITHUB_OUTPUT
echo "platforms=${PLATFORMS}" >> $GITHUB_OUTPUT
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
- name: Set Up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
id: buildx
- name: Cache Docker Layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: Docker-buildx${{ matrix.tag }}-${{ github.sha }}
restore-keys: |
Docker-buildx${{ matrix.tag }}-
- name: Log in to Docker Hub
if: ${{ needs.setup_release.outputs.publish_release == 'true' }} # PRs do not have access to secrets
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Log in to the Container registry
if: ${{ needs.setup_release.outputs.publish_release == 'true' }} # PRs do not have access to secrets
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ secrets.GH_BOT_NAME }}
password: ${{ secrets.GH_BOT_TOKEN }}
- name: Build artifacts
if: ${{ steps.prepare.outputs.artifacts == 'true' }}
id: build_artifacts
uses: docker/build-push-action@v6
with:
context: ./
file: ${{ matrix.dockerfile }}
target: artifacts
outputs: type=local,dest=artifacts
push: false
platforms: ${{ steps.prepare.outputs.platforms }}
build-args: |
BRANCH=${{ steps.prepare.outputs.branch }}
BUILD_DATE=${{ steps.prepare.outputs.build_date }}
BUILD_VERSION=${{ needs.setup_release.outputs.release_tag }}
COMMIT=${{ needs.setup_release.outputs.release_commit }}
CLONE_URL=${{ steps.prepare.outputs.clone_url }}
RELEASE=${{ needs.setup_release.outputs.publish_release }}
tags: ${{ steps.prepare.outputs.tags }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
no-cache-filters: ${{ steps.prepare.outputs.no_cache_filters }}
- name: Build and push
id: build
uses: docker/build-push-action@v6
with:
context: ./
file: ${{ matrix.dockerfile }}
push: ${{ needs.setup_release.outputs.publish_release }}
platforms: ${{ steps.prepare.outputs.platforms }}
build-args: |
BRANCH=${{ steps.prepare.outputs.branch }}
BUILD_DATE=${{ steps.prepare.outputs.build_date }}
BUILD_VERSION=${{ needs.setup_release.outputs.release_tag }}
COMMIT=${{ needs.setup_release.outputs.release_commit }}
CLONE_URL=${{ steps.prepare.outputs.clone_url }}
RELEASE=${{ needs.setup_release.outputs.publish_release }}
tags: ${{ steps.prepare.outputs.tags }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
no-cache-filters: ${{ steps.prepare.outputs.no_cache_filters }}
- name: Arrange Artifacts
if: ${{ steps.prepare.outputs.artifacts == 'true' }}
working-directory: artifacts
run: |
# debug directory
echo "Current directory: $(pwd)"
echo "Directory contents: $(ls -Ra)"
# artifacts will be in sub directories named after the docker target platform, e.g. `linux_amd64`
# so move files to the artifacts directory
# https://unix.stackexchange.com/a/52816
find \
./ \
-maxdepth 2 \
-mindepth 2 \
-type f \
-not -name 'provenance.json' \
-exec mv -t ./ -n '{}' +
# remove provenance file
rm -f ./provenance.json
- name: Upload Artifacts
if: ${{ steps.prepare.outputs.artifacts == 'true' }}
uses: actions/upload-artifact@v4
with:
name: Docker${{ matrix.tag }}
path: artifacts/
- name: Create/Update GitHub Release
if: ${{ needs.setup_release.outputs.publish_release == 'true' && steps.prepare.outputs.artifacts == 'true' }}
uses: LizardByte/create-release-action@v2025.102.13208
with:
allowUpdates: true
artifacts: "*artifacts/*"
body: ${{ needs.setup_release.outputs.release_body }}
generateReleaseNotes: ${{ needs.setup_release.outputs.release_generate_release_notes }}
name: ${{ needs.setup_release.outputs.release_tag }}
prerelease: true
tag: ${{ needs.setup_release.outputs.release_tag }}
token: ${{ secrets.GH_BOT_TOKEN }}
- name: Update Docker Hub Description
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }} # token is not currently supported
repository: ${{ env.BASE_TAG }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./DOCKER_README.md
+214
View File
@@ -0,0 +1,214 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# This workflow will analyze all supported languages in the repository using CodeQL Analysis.
name: "CodeQL"
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
schedule:
- cron: '00 12 * * 0' # every Sunday at 12:00 UTC
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
languages:
name: Get language matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.lang.outputs.result }}
continue: ${{ steps.continue.outputs.result }}
steps:
- name: Get repo languages
uses: actions/github-script@v7
id: lang
with:
script: |
// CodeQL supports ['cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift']
// Use only 'java' to analyze code written in Java, Kotlin or both
// Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
// Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
const supported_languages = ['cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift']
const remap_languages = {
'c++': 'cpp',
'c#': 'csharp',
'kotlin': 'java',
'typescript': 'javascript',
}
const repo = context.repo
const response = await github.rest.repos.listLanguages(repo)
let matrix = {
"include": []
}
for (let [key, value] of Object.entries(response.data)) {
// remap language
if (remap_languages[key.toLowerCase()]) {
console.log(`Remapping language: ${key} to ${remap_languages[key.toLowerCase()]}`)
key = remap_languages[key.toLowerCase()]
}
if (supported_languages.includes(key.toLowerCase())) {
console.log(`Found supported language: ${key}`)
let osList = ['ubuntu-latest'];
if (key.toLowerCase() === 'swift') {
osList = ['macos-latest'];
} else if (key.toLowerCase() === 'cpp') {
// TODO: update macos to latest after the below issue is resolved
// https://github.com/github/codeql-action/issues/2266
osList = ['macos-13', 'ubuntu-latest', 'windows-latest'];
}
for (let os of osList) {
// set name for matrix
if (osList.length == 1) {
name = key.toLowerCase()
} else {
name = `${key.toLowerCase()}, ${os}`
}
// add to matrix
matrix['include'].push({"language": key.toLowerCase(), "os": os, "name": name})
}
}
}
// print languages
console.log(`matrix: ${JSON.stringify(matrix)}`)
return matrix
- name: Continue
uses: actions/github-script@v7
id: continue
with:
script: |
// if matrix['include'] is an empty list return false, otherwise true
const matrix = ${{ steps.lang.outputs.result }} // this is already json encoded
if (matrix['include'].length == 0) {
return false
} else {
return true
}
analyze:
name: Analyze (${{ matrix.name }})
if: ${{ needs.languages.outputs.continue == 'true' }}
defaults:
run:
shell: ${{ matrix.os == 'windows-latest' && 'msys2 {0}' || 'bash' }}
env:
GITHUB_CODEQL_BUILD: true
needs: [languages]
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.languages.outputs.matrix) }}
steps:
- name: Maximize build space
if: >-
runner.os == 'Linux' &&
matrix.language == 'cpp'
uses: easimon/maximize-build-space@v10
with:
root-reserve-mb: 30720
remove-dotnet: ${{ (matrix.language == 'csharp' && 'false') || 'true' }}
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'false'
remove-docker-images: 'true'
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup msys2
if: >-
runner.os == 'Windows' &&
matrix.language == 'cpp'
uses: msys2/setup-msys2@v2
with:
msystem: ucrt64
update: true
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# yamllint disable-line rule:line-length
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
config: |
paths-ignore:
- build
- node_modules
- third-party
# Pre autobuild
# create a file named .codeql-prebuild-${{ matrix.language }}.sh in the root of your repository
# create a file named .codeql-build-${{ matrix.language }}.sh in the root of your repository
- name: Prebuild
id: prebuild
run: |
# check if prebuild script exists
filename=".codeql-prebuild-${{ matrix.language }}-${{ runner.os }}.sh"
if [ -f "./${filename}" ]; then
echo "Running prebuild script: ${filename}"
./${filename}
fi
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
- name: Autobuild
if: steps.prebuild.outputs.skip_autobuild != 'true'
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
output: sarif-results
upload: failure-only
- name: filter-sarif
uses: advanced-security/filter-sarif@v1
with:
input: sarif-results/${{ matrix.language }}.sarif
output: sarif-results/${{ matrix.language }}.sarif
patterns: |
-build/**
-node_modules/**
-third\-party/**
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: sarif-results/${{ matrix.language }}.sarif
- name: Upload loc as a Build Artifact
uses: actions/upload-artifact@v4
with:
name: sarif-results-${{ matrix.language }}-${{ runner.os }}
path: sarif-results
retention-days: 1
+267
View File
@@ -0,0 +1,267 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# Common linting.
name: common lint
on:
pull_request:
branches: [master]
types: [opened, synchronize, reopened]
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
lint:
name: Common Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade \
pip \
setuptools \
wheel \
cmakelang \
flake8 \
nb-clean \
nbqa[toolchain]
- name: C++ - find files
id: cpp_files
run: |
# find files
found_files=$(find . -type f \
-iname "*.c" -o \
-iname "*.cpp" -o \
-iname "*.h" -o \
-iname "*.hpp" -o \
-iname "*.m" -o \
-iname "*.mm" \
)
ignore_files=$(find . -type f -iname ".clang-format-ignore")
# Loop through each C++ file
for file in $found_files; do
for ignore_file in $ignore_files; do
ignore_directory=$(dirname "$ignore_file")
# if directory of ignore_file is beginning of file
if [[ "$file" == "$ignore_directory"* ]]; then
echo "ignoring file: ${file}"
found_files="${found_files//${file}/}"
break 1
fi
done
done
# remove empty lines
found_files=$(echo "$found_files" | sed '/^\s*$/d')
echo "found cpp files: ${found_files}"
# do not quote to keep this as a single line
echo found_files=${found_files} >> $GITHUB_OUTPUT
- name: C++ - Clang format lint
if: always() && steps.cpp_files.outputs.found_files
uses: DoozyX/clang-format-lint-action@v0.18
with:
source: ${{ steps.cpp_files.outputs.found_files }}
extensions: 'c,cpp,h,hpp,m,mm'
style: file
inplace: false
- name: CMake - find files
id: cmake_files
if: always()
run: |
# find files
found_files=$(find . -type f -iname "CMakeLists.txt" -o -iname "*.cmake")
ignore_files=$(find . -type f -iname ".cmake-lint-ignore")
# Loop through each C++ file
for file in $found_files; do
for ignore_file in $ignore_files; do
ignore_directory=$(dirname "$ignore_file")
# if directory of ignore_file is beginning of file
if [[ "$file" == "$ignore_directory"* ]]; then
echo "ignoring file: ${file}"
found_files="${found_files//${file}/}"
break 1
fi
done
done
# remove empty lines
found_files=$(echo "$found_files" | sed '/^\s*$/d')
echo "found cmake files: ${found_files}"
# do not quote to keep this as a single line
echo found_files=${found_files} >> $GITHUB_OUTPUT
- name: CMake - cmake-lint
if: always() && steps.cmake_files.outputs.found_files
run: |
cmake-lint --line-width 120 --tab-size 4 ${{ steps.cmake_files.outputs.found_files }}
- name: Docker - find files
id: dokcer_files
if: always()
run: |
found_files=$(find . -type f -iname "Dockerfile" -o -iname "*.dockerfile")
echo "found_files: ${found_files}"
# do not quote to keep this as a single line
echo found_files=${found_files} >> $GITHUB_OUTPUT
- name: Docker - hadolint
if: always() && steps.dokcer_files.outputs.found_files
run: |
docker pull hadolint/hadolint
# create hadolint config file
cat <<EOF > .hadolint.yaml
---
ignored:
- DL3008
- DL3013
- DL3016
- DL3018
- DL3028
- DL3059
EOF
failed=0
failed_files=""
for file in ${{ steps.dokcer_files.outputs.found_files }}; do
echo "::group::${file}"
docker run --rm -i \
-e "NO_COLOR=0" \
-e "HADOLINT_VERBOSE=1" \
-v $(pwd)/.hadolint.yaml:/.config/hadolint.yaml \
hadolint/hadolint < $file || {
failed=1
failed_files="$failed_files $file"
}
echo "::endgroup::"
done
if [ $failed -ne 0 ]; then
echo "::error:: hadolint failed for the following files: $failed_files"
exit 1
fi
- name: Python - flake8
if: always()
run: |
python -m flake8 \
--color=always \
--verbose
- name: Python - nbqa flake8
if: always()
run: |
python -m nbqa flake8 \
--color=always \
--verbose \
.
- name: Python - nb-clean
if: always()
run: |
output=$(find . -name '*.ipynb' -exec nb-clean check {} \;)
# fail if there are any issues
if [ -n "$output" ]; then
echo "$output"
exit 1
fi
- name: Rust - find Cargo.toml
id: run_cargo
if: always()
run: |
# check if Cargo.toml exists
if [ -f "Cargo.toml" ]; then
echo "found_cargo=true" >> $GITHUB_OUTPUT
else
echo "found_cargo=false" >> $GITHUB_OUTPUT
fi
- name: Rust - setup toolchain
if: always() && steps.run_cargo.outputs.found_cargo == 'true'
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Rust - cargo fmt
if: always() && steps.run_cargo.outputs.found_cargo == 'true'
run: |
cargo fmt -- --check
- name: YAML - find files
id: yaml_files
if: always()
run: |
# space separated list of files
FILES=.clang-format
# empty placeholder
found_files=""
for FILE in ${FILES}; do
if [ -f "$FILE" ]
then
found_files="$found_files $FILE"
fi
done
echo "found_files=${found_files}" >> $GITHUB_OUTPUT
- name: YAML - yamllint
id: yamllint
if: always()
uses: ibiqlik/action-yamllint@v3
with:
# https://yamllint.readthedocs.io/en/stable/configuration.html#default-configuration
config_data: |
extends: default
rules:
comments:
level: error
document-start:
level: error
line-length:
max: 120
new-line-at-end-of-file:
level: error
new-lines:
type: unix
truthy:
# GitHub uses "on" for workflow event triggers
# .clang-format file has options of "Yes" "No" that will be caught by this, so changed to "warning"
allowed-values: ['true', 'false', 'on']
check-keys: true
level: warning
file_or_dir: . ${{ steps.yaml_files.outputs.found_files }}
- name: YAML - log
if: always() && steps.yamllint.outcome == 'failure'
run: |
cat "${{ steps.yamllint.outputs.logfile }}" >> $GITHUB_STEP_SUMMARY
+25
View File
@@ -0,0 +1,25 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# Label and un-label actions using `../label-actions.yml`.
name: Issues
on:
issues:
types: [labeled, unlabeled]
discussion:
types: [labeled, unlabeled]
jobs:
label:
name: Label Actions
if: startsWith(github.repository, 'LizardByte/')
runs-on: ubuntu-latest
steps:
- name: Label Actions
uses: dessant/label-actions@v4
with:
github-token: ${{ secrets.GH_BOT_TOKEN }}
+98
View File
@@ -0,0 +1,98 @@
---
name: localize
on:
push:
branches: [master]
paths: # prevents workflow from running unless these files change
- '.github/workflows/localize.yml'
- 'src/**'
- 'locale/sunshine.po'
workflow_dispatch:
env:
file: ./locale/sunshine.po
jobs:
localize:
name: Update Localization
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Python 3.9
uses: actions/setup-python@v5 # https://github.com/actions/setup-python
with:
python-version: '3.9'
- name: Set up Python 3.9 Dependencies
run: |
cd ./scripts
python -m pip install --upgrade pip setuptools
python -m pip install -r requirements.txt
- name: Set up xgettext
run: |
sudo apt-get update -y && \
sudo apt-get --reinstall install -y \
gettext
- name: Update Strings
run: |
# first, try to remove existing file as xgettext does not remove unused translations
if [ -f "${{ env.file }}" ];
then
rm ${{ env.file }}
echo "new_file=false" >> $GITHUB_ENV
else
echo "new_file=true" >> $GITHUB_ENV
fi
# extract the new strings
python ./scripts/_locale.py --extract
- name: git diff
if: ${{ env.new_file == 'false' }}
run: |
# disable the pager
git config --global pager.diff false
# print the git diff
git diff locale/sunshine.po
# set the variable with minimal output, replacing `\t` with ` `
OUTPUT=$(git diff --numstat locale/sunshine.po | sed -e "s#\t# #g")
echo "git_diff=${OUTPUT}" >> $GITHUB_ENV
- name: git reset
# only run if a single line changed (date/time) and file already existed
if: ${{ env.git_diff == '1 1 locale/sunshine.po' && env.new_file == 'false' }}
run: |
git reset --hard
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Create/Update Pull Request
uses: peter-evans/create-pull-request@v7
with:
add-paths: |
locale/*.po
token: ${{ secrets.GH_BOT_TOKEN }} # must trigger PR tests
commit-message: "chore(l10n): new babel updates"
branch: localize/update
delete-branch: true
base: master
title: "chore(l10n): new babel updates"
body: |
Update report
- Updated ${{ steps.date.outputs.date }}
- Auto-generated by [create-pull-request][1]
[1]: https://github.com/peter-evans/create-pull-request
labels: |
babel
l10n
@@ -0,0 +1,27 @@
---
name: Release Notifications (Moonlight)
on:
release:
types:
- released # this triggers when a release is published, but does not include prereleases or drafts
jobs:
discord:
if: >-
startsWith(github.repository, 'LizardByte/') &&
!github.event.release.prerelease &&
!github.event.release.draft
runs-on: ubuntu-latest
steps:
- name: discord
uses: sarisia/actions-status-discord@v1 # https://github.com/sarisia/actions-status-discord
with:
webhook: ${{ secrets.DISCORD_RELEASE_WEBHOOK_MOONLIGHT }}
nodetail: true
nofail: false
username: ${{ secrets.DISCORD_USERNAME }}
avatar_url: ${{ secrets.ORG_LOGO_URL }}
title: ${{ github.event.repository.name }} ${{ github.ref_name }} Released
description: ${{ github.event.release.body }}
color: 0xFF4500
+138
View File
@@ -0,0 +1,138 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# Create a blog post for a new release and open a PR to the blog repo
name: Release Notifications
on:
release:
types:
- released # this triggers when a release is published, but does not include pre-releases or drafts
jobs:
update-blog:
if: >-
github.repository_owner == 'LizardByte'
runs-on: ubuntu-latest
steps:
- name: Check topics
env:
TOPIC: replicator-release-notifications
id: check-label
uses: actions/github-script@v7
with:
script: |
const topic = process.env.TOPIC;
console.log(`Checking if repo has topic: ${topic}`);
const repoTopics = await github.rest.repos.getAllTopics({
owner: context.repo.owner,
repo: context.repo.repo
});
console.log(`Repo topics: ${repoTopics.data.names}`);
const hasTopic = repoTopics.data.names.includes(topic);
console.log(`Has topic: ${hasTopic}`);
core.setOutput('hasTopic', hasTopic);
- name: Check if latest GitHub release
id: check-release
if: >-
steps.check-label.outputs.hasTopic == 'true'
uses: actions/github-script@v7
with:
script: |
const latestRelease = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo
});
core.setOutput('isLatestRelease', latestRelease.data.tag_name === context.payload.release.tag_name);
- name: Checkout blog
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
uses: actions/checkout@v4
with:
repository: "LizardByte/LizardByte.github.io"
- name: Create blog post
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
run: |
# setup variables
tag_name="${{ github.event.release.tag_name }}"
semver="${tag_name#v}"
repo_lower="$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]')"
# extract year, month, and day
year="${semver%%.*}"
month_day="${semver#*.}"
month_day="${month_day%%.*}"
# ensure month_day is 4 digits
month_day=$(printf "%04d" "$month_day")
# create the filename
file_name="_posts/releases/${repo_lower}/${year}-${month_day:0:2}-${month_day:2:2}-v${semver}.md"
mkdir -p "$(dirname "${file_name}")"
# create jekyll blog post
echo "---" > "${file_name}"
echo "layout: release" >> "${file_name}"
echo "title: ${{ github.event.repository.name }} ${tag_name} Released" >> "${file_name}"
echo "release-tag: ${tag_name}" >> "${file_name}"
echo "gh-repo: ${{ github.repository }}" >> "${file_name}"
echo "gh-badge: [follow, fork, star]" >> "${file_name}"
echo "tags: [release, ${repo_lower}]" >> "${file_name}"
echo "comments: true" >> "${file_name}"
echo "author: LizardByte-bot" >> "${file_name}"
echo "---" >> "${file_name}"
echo "" >> "${file_name}"
release_body=$(cat <<EOF
${{ github.event.release.body }}
EOF
)
echo "${release_body}" >> "${file_name}"
- name: Create/Update Pull Request
id: create-pr
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GH_BOT_TOKEN }}
commit-message: |
chore: Add blog post for ${{ github.event.repository.name }} release ${{ github.event.release.tag_name }}
branch: bot/add-${{ github.event.repository.name }}-${{ github.event.release.tag_name }}
delete-branch: true
title: |
chore: Add blog post for ${{ github.event.repository.name }} release ${{ github.event.release.tag_name }}
body: ${{ github.event.release.body }}
labels:
blog
- name: Automerge PR
env:
GH_TOKEN: ${{ secrets.GH_BOT_TOKEN }}
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
run: |
gh \
pr \
merge \
--auto \
--delete-branch \
--repo "LizardByte/LizardByte.github.io" \
--squash \
"${{ steps.create-pr.outputs.pull-request-number }}"
+31
View File
@@ -0,0 +1,31 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# Update changelog on release events.
name: Update changelog
on:
release:
types: [created, edited, deleted]
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}"
cancel-in-progress: true
jobs:
update-changelog:
if: >-
github.event_name == 'workflow_dispatch' ||
(!github.event.release.prerelease && !github.event.release.draft)
runs-on: ubuntu-latest
steps:
- name: Update Changelog
uses: LizardByte/update-changelog-action@v2024.919.152649
with:
changelogBranch: changelog
changelogFile: CHANGELOG.md
token: ${{ secrets.GH_BOT_TOKEN }}
+96
View File
@@ -0,0 +1,96 @@
---
# This action is centrally managed in https://github.com/<organization>/.github/
# Don't make changes to this file in this repo as they will be overwritten with changes made to the same file in
# the above-mentioned repo.
# Use the `rtd` repository label to identify repositories that should trigger have this workflow.
# If the project slug is not the repository name, add a repository variable named `READTHEDOCS_SLUG` with the value of
# the ReadTheDocs project slug.
# Update readthedocs on release events.
name: Update docs
on:
release:
types: [created, edited, deleted]
concurrency:
group: "${{ github.workflow }}-${{ github.event.release.tag_name }}"
cancel-in-progress: true
jobs:
update-docs:
env:
RTD_SLUG: ${{ vars.READTHEDOCS_SLUG }}
RTD_TOKEN: ${{ secrets.READTHEDOCS_TOKEN }}
TAG: ${{ github.event.release.tag_name }}
if: >-
!github.event.release.draft
runs-on: ubuntu-latest
steps:
- name: Get RTD_SLUG
run: |
# if the RTD_SLUG is not set, use the repository name in lowercase
if [ -z "${RTD_SLUG}" ]; then
RTD_SLUG=$(echo "${{ github.event.repository.name }}" | tr '[:upper:]' '[:lower:]')
fi
echo "RTD_SLUG=${RTD_SLUG}" >> $GITHUB_ENV
- name: Deactivate deleted release
if: >-
github.event_name == 'release' &&
github.event.action == 'deleted'
run: |
json_body=$(jq -n \
--arg active "false" \
--arg hidden "false" \
--arg privacy_level "public" \
'{active: $active, hidden: $hidden, privacy_level: $privacy_level}')
curl \
-X PATCH \
-H "Authorization: Token ${RTD_TOKEN}" \
https://readthedocs.org/api/v3/projects/${RTD_SLUG}/versions/${TAG}/ \
-H "Content-Type: application/json" \
-d "$json_body"
- name: Check if edited release is latest GitHub release
id: check
if: >-
github.event_name == 'release' &&
github.event.action == 'edited'
uses: actions/github-script@v7
with:
script: |
const latestRelease = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo
});
core.setOutput('isLatestRelease', latestRelease.data.tag_name === context.payload.release.tag_name);
- name: Update RTD project
# changing the default branch in readthedocs makes "latest" point to that branch/tag
# we can also update other properties like description, etc.
if: >-
steps.check.outputs.isLatestRelease == 'true'
run: |
json_body=$(jq -n \
--arg default_branch "${TAG}" \
--arg description "${{ github.event.repository.description }}" \
'{default_branch: $default_branch}')
# change the default branch to the latest release
curl \
-X PATCH \
-H "Authorization: Token ${RTD_TOKEN}" \
-H "Content-Type: application/json" \
https://readthedocs.org/api/v3/projects/${RTD_SLUG}/ \
-d "$json_body"
# trigger a build for the latest version
curl \
-X POST \
-H "Authorization: Token ${RTD_TOKEN}" \
https://readthedocs.org/api/v3/projects/${RTD_SLUG}/versions/latest/builds/
+187
View File
@@ -0,0 +1,187 @@
---
# This action is a candidate to centrally manage in https://github.com/<organization>/.github/
# If more Flathub applications are developed, consider moving this action to the organization's .github repository,
# using the `flathub-pkg` repository label to identify repositories that should trigger this workflow.
# Update Flathub on release events.
name: Update flathub repo
on:
release:
types: [released]
concurrency:
group: "${{ github.workflow }}-${{ github.event.release.tag_name }}"
cancel-in-progress: true
jobs:
update-flathub-repo:
env:
FLATHUB_PKG: dev.lizardbyte.app.${{ github.event.repository.name }}
if: >-
github.repository_owner == 'LizardByte'
runs-on: ubuntu-latest
steps:
- name: Check if flathub repo
env:
TOPIC: flathub-pkg
id: check-label
uses: actions/github-script@v7
with:
script: |
const topic = process.env.TOPIC;
console.log(`Checking if repo has topic: ${topic}`);
const repoTopics = await github.rest.repos.getAllTopics({
owner: context.repo.owner,
repo: context.repo.repo
});
console.log(`Repo topics: ${repoTopics.data.names}`);
const hasTopic = repoTopics.data.names.includes(topic);
console.log(`Has topic: ${hasTopic}`);
core.setOutput('hasTopic', hasTopic);
- name: Check if latest GitHub release
id: check-release
if: >-
steps.check-label.outputs.hasTopic == 'true'
uses: actions/github-script@v7
with:
script: |
const latestRelease = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo
});
core.setOutput('isLatestRelease', latestRelease.data.tag_name === context.payload.release.tag_name);
- name: Checkout
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
uses: actions/checkout@v4
- name: Checkout flathub-repo
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
uses: actions/checkout@v4
with:
repository: "flathub/${{ env.FLATHUB_PKG }}"
path: "flathub/${{ env.FLATHUB_PKG }}"
- name: Clean up legacy files
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
working-directory: flathub/${{ env.FLATHUB_PKG }}
run: |
rm -rf ./*
- name: Copy github files
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
working-directory: flathub/${{ env.FLATHUB_PKG }}
run: |
mkdir -p .github/ISSUE_TEMPLATE
# sponsors
curl -sSL https://github.com/LizardByte/.github/raw/refs/heads/master/.github/FUNDING.yml \
-o .github/FUNDING.yml
# pull request template
curl -sSL https://github.com/LizardByte/.github/raw/refs/heads/master/.github/pull_request_template.md \
-o .github/pull_request_template.md
# issue config
curl -sSL https://github.com/LizardByte/.github/raw/refs/heads/master/.github/ISSUE_TEMPLATE/config.yml \
-o .github/ISSUE_TEMPLATE/config.yml
- name: Download release asset
id: download
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
uses: robinraju/release-downloader@v1.11
with:
repository: "${{ github.repository }}"
tag: "${{ github.event.release.tag_name }}"
fileName: "flathub.tar.gz"
tarBall: false
zipBall: false
out-file-path: "flathub/${{ env.FLATHUB_PKG }}"
extract: true
- name: Delete arhive
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
run: |
rm -f flathub/${{ env.FLATHUB_PKG }}/flathub.tar.gz
- name: Update metainfo.xml
id: update_metainfo
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
run: |
xml_file="flathub/${{ env.FLATHUB_PKG }}/${{ env.FLATHUB_PKG }}.metainfo.xml"
# Extract release information
version="${{ github.event.release.tag_name }}" && version="${version#v}"
date="${{ github.event.release.published_at }}" && date="${date%%T*}"
changelog="${{ github.event.release.body }}" && changelog="${changelog//&/&amp;}" && \
changelog="${changelog//</&lt;}" && changelog="${changelog//>/&gt;}"
# Store the old release information into a temp file to be used for precise replacement
tmpfile=$(mktemp)
# Match the existing <release> block, replace it with the new data
awk -v version="$version" -v date="$date" -v changelog="$changelog" '
BEGIN { replaced = 0 }
/<release version=.*>/ {
if (!replaced) {
print " <release version=\"" version "\" date=\"" date "\">"
print " <description><p>" changelog "</p></description>"
print " </release>"
replaced = 1
}
}
!/<release version=.*>/ && !/<\/release>/ { print $0 }
' "$xml_file" > "$tmpfile"
# Move the updated file back to the original location
mv "$tmpfile" "$xml_file"
- name: Update submodule
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
run: |
# Get the current commit of the submodule in the main repository
git submodule update --init packaging/linux/flatpak/deps/shared-modules
cd ${{ github.workspace }}/packaging/linux/flatpak/deps/shared-modules
main_commit=$(git rev-parse HEAD)
# update submodules
cd ${{ github.workspace }}/flathub/${{ env.FLATHUB_PKG }}
git submodule update --init shared-modules
cd shared-modules
git checkout $main_commit
- name: Create/Update Pull Request
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true' &&
fromJson(steps.download.outputs.downloaded_files)[0]
uses: peter-evans/create-pull-request@v7
with:
path: "flathub/${{ env.FLATHUB_PKG }}"
token: ${{ secrets.GH_BOT_TOKEN }}
commit-message: "chore: Update ${{ env.FLATHUB_PKG }} to ${{ github.event.release.tag_name }}"
branch: bot/bump-${{ env.FLATHUB_PKG }}-${{ github.event.release.tag_name }}
delete-branch: true
title: "chore: Update ${{ env.FLATHUB_PKG }} to ${{ github.event.release.tag_name }}"
body: ${{ github.event.release.body }}
@@ -0,0 +1,70 @@
---
# This action is a candidate to centrally manage in https://github.com/<organization>/.github/
# If more Homebrew applications are developed, consider moving this action to the organization's .github repository,
# using the `homebrew-pkg` repository label to identify repositories that should trigger this workflow.
# Update Homebrew on release events.
name: Update Homebrew release
on:
release:
types: [released]
concurrency:
group: "${{ github.workflow }}-${{ github.event.release.tag_name }}"
cancel-in-progress: true
jobs:
update-homebrew-release:
if: >-
github.repository_owner == 'LizardByte'
runs-on: ubuntu-latest
steps:
- name: Check if Homebrew repo
env:
TOPIC: homebrew-pkg
id: check-label
uses: actions/github-script@v7
with:
script: |
const topic = process.env.TOPIC;
console.log(`Checking if repo has topic: ${topic}`);
const repoTopics = await github.rest.repos.getAllTopics({
owner: context.repo.owner,
repo: context.repo.repo
});
console.log(`Repo topics: ${repoTopics.data.names}`);
const hasTopic = repoTopics.data.names.includes(topic);
console.log(`Has topic: ${hasTopic}`);
core.setOutput('hasTopic', hasTopic);
- name: Download release asset
id: download
if: >-
steps.check-label.outputs.hasTopic == 'true'
uses: robinraju/release-downloader@v1.11
with:
repository: "${{ github.repository }}"
tag: "${{ github.event.release.tag_name }}"
fileName: "*.rb"
tarBall: false
zipBall: false
out-file-path: "release_downloads"
extract: false
- name: Publish Homebrew Formula
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
fromJson(steps.download.outputs.downloaded_files)[0]
uses: LizardByte/homebrew-release-action@v2024.1115.14934
with:
formula_file: ${{ fromJson(steps.download.outputs.downloaded_files)[0] }}
git_email: ${{ secrets.GH_BOT_EMAIL }}
git_username: ${{ secrets.GH_BOT_NAME }}
publish: true
token: ${{ secrets.GH_BOT_TOKEN }}
validate: false
+107
View File
@@ -0,0 +1,107 @@
---
# This action is a candidate to centrally manage in https://github.com/<organization>/.github/
# If more pacman packages are developed, consider moving this action to the organization's .github repository,
# using the `pacman-pkg` repository label to identify repositories that should trigger have this workflow.
# Update pacman repo on release events.
name: Update pacman repo
on:
release:
types: [released]
concurrency:
group: "${{ github.workflow }}-${{ github.event.release.tag_name }}"
cancel-in-progress: true
jobs:
update-homebrew-release:
if: >-
github.repository_owner == 'LizardByte'
runs-on: ubuntu-latest
steps:
- name: Check if pacman repo
env:
TOPIC: pacman-pkg
id: check-label
uses: actions/github-script@v7
with:
script: |
const topic = process.env.TOPIC;
console.log(`Checking if repo has topic: ${topic}`);
const repoTopics = await github.rest.repos.getAllTopics({
owner: context.repo.owner,
repo: context.repo.repo
});
console.log(`Repo topics: ${repoTopics.data.names}`);
const hasTopic = repoTopics.data.names.includes(topic);
console.log(`Has topic: ${hasTopic}`);
core.setOutput('hasTopic', hasTopic);
- name: Check if latest GitHub release
id: check-release
if: >-
steps.check-label.outputs.hasTopic == 'true'
uses: actions/github-script@v7
with:
script: |
const latestRelease = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo
});
core.setOutput('isLatestRelease', latestRelease.data.tag_name === context.payload.release.tag_name);
- name: Checkout pacman-repo
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/pacman-repo
- name: Prep
id: prep
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
run: |
echo "pkg_name=$(echo ${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
- name: Download release asset
id: download
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true'
uses: robinraju/release-downloader@v1.11
with:
repository: "${{ github.repository }}"
tag: "${{ github.event.release.tag_name }}"
fileName: "*.pkg.tar.gz"
tarBall: false
zipBall: false
out-file-path: "pkgbuilds/${{ steps.prep.outputs.pkg_name }}"
extract: true
- name: Create/Update Pull Request
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
steps.check-release.outputs.isLatestRelease == 'true' &&
fromJson(steps.download.outputs.downloaded_files)[0]
uses: peter-evans/create-pull-request@v7
with:
add-paths: |
pkgbuilds/*
token: ${{ secrets.GH_BOT_TOKEN }}
commit-message: "chore: Update ${{ github.repository }} to ${{ github.event.release.tag_name }}"
branch: bot/bump-${{ github.repository }}-${{ github.event.release.tag_name }}
delete-branch: true
title: "chore: Update ${{ github.repository }} to ${{ github.event.release.tag_name }}"
body: ${{ github.event.release.body }}
labels: |
auto-approve
auto-merge
+47
View File
@@ -0,0 +1,47 @@
---
name: Build GH-Pages
on:
pull_request:
branches:
- master
types:
- opened
- synchronize
- reopened
push:
branches:
- master
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
prep:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: prep
path: gh-pages-template/
if-no-files-found: error
include-hidden-files: true
retention-days: 1
call-jekyll-build:
needs: prep
uses: LizardByte/LizardByte.github.io/.github/workflows/jekyll-build.yml@master
with:
site_artifact: 'prep'
target_branch: 'gh-pages'
clean_gh_pages: true
secrets:
GH_BOT_EMAIL: ${{ secrets.GH_BOT_EMAIL }}
GH_BOT_NAME: ${{ secrets.GH_BOT_NAME }}
GH_BOT_TOKEN: ${{ secrets.GH_BOT_TOKEN }}
@@ -0,0 +1,68 @@
---
# This action is a candidate to centrally manage in https://github.com/<organization>/.github/
# If more Winget applications are developed, consider moving this action to the organization's .github repository,
# using the `winget-pkg` repository label to identify repositories that should trigger this workflow.
# Update Winget on release events.
name: Update Winget release
on:
release:
types: [released]
concurrency:
group: "${{ github.workflow }}-${{ github.event.release.tag_name }}"
cancel-in-progress: true
jobs:
update-winget-release:
if: >-
github.repository_owner == 'LizardByte'
runs-on: ubuntu-latest
steps:
- name: Check if Winget repo
env:
TOPIC: winget-pkg
id: check-label
uses: actions/github-script@v7
with:
script: |
const topic = process.env.TOPIC;
console.log(`Checking if repo has topic: ${topic}`);
const repoTopics = await github.rest.repos.getAllTopics({
owner: context.repo.owner,
repo: context.repo.repo
});
console.log(`Repo topics: ${repoTopics.data.names}`);
const hasTopic = repoTopics.data.names.includes(topic);
console.log(`Has topic: ${hasTopic}`);
core.setOutput('hasTopic', hasTopic);
- name: Download release asset
id: download
if: >-
steps.check-label.outputs.hasTopic == 'true'
uses: robinraju/release-downloader@v1.11
with:
repository: "${{ github.repository }}"
tag: "${{ github.event.release.tag_name }}"
fileName: "*.exe"
tarBall: false
zipBall: false
out-file-path: "release_downloads"
extract: false
- name: Release to WinGet
if: >-
steps.check-label.outputs.hasTopic == 'true' &&
fromJson(steps.download.outputs.downloaded_files)[0]
uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: "${{ github.repository_owner }}.${{ github.event.repository.name }}"
release-tag: ${{ github.event.release.tag_name }}
installers-regex: '\.exe$'
token: ${{ secrets.GH_BOT_TOKEN }}
+57 -8
View File
@@ -1,9 +1,58 @@
build
cmake-build*
.DS_Store
.vscode
.vs
*.swp
*.kdev4
# Prerequisites
*.d
.idea
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
# JetBrains IDE
.idea/
# VSCode IDE
.vscode/
# build directories
build/
cmake-*/
docs/doxyconfig*
# npm
node_modules/
package-lock.json
# Translations
*.mo
*.pot
# Dummy macOS files
.DS_Store
# Python
*.pyc
venv/
+67 -8
View File
@@ -1,9 +1,68 @@
[submodule "moonlight-common-c"]
path = moonlight-common-c
[submodule "packaging/linux/flatpak/deps/flatpak-builder-tools"]
path = packaging/linux/flatpak/deps/flatpak-builder-tools
url = https://github.com/flatpak/flatpak-builder-tools.git
branch = master
[submodule "packaging/linux/flatpak/deps/shared-modules"]
path = packaging/linux/flatpak/deps/shared-modules
url = https://github.com/flathub/shared-modules.git
branch = master
[submodule "third-party/build-deps"]
path = third-party/build-deps
url = https://github.com/LizardByte/build-deps.git
branch = dist
[submodule "third-party/doxyconfig"]
path = third-party/doxyconfig
url = https://github.com/LizardByte/doxyconfig.git
branch = master
[submodule "third-party/googletest"]
path = third-party/googletest
url = https://github.com/google/googletest.git
branch = main
[submodule "third-party/inputtino"]
path = third-party/inputtino
url = https://github.com/games-on-whales/inputtino.git
branch = stable
[submodule "third-party/libdisplaydevice"]
path = third-party/libdisplaydevice
url = https://github.com/LizardByte/libdisplaydevice.git
branch = master
[submodule "third-party/moonlight-common-c"]
path = third-party/moonlight-common-c
url = https://github.com/moonlight-stream/moonlight-common-c.git
[submodule "Simple-Web-Server"]
path = Simple-Web-Server
url = https://github.com/loki-47-6F-64/Simple-Web-Server.git
[submodule "ViGEmClient"]
path = ViGEmClient
url = https://github.com/ViGEm/ViGEmClient
branch = master
[submodule "third-party/nanors"]
path = third-party/nanors
url = https://github.com/sleepybishop/nanors.git
branch = master
[submodule "third-party/nv-codec-headers"]
path = third-party/nv-codec-headers
url = https://github.com/FFmpeg/nv-codec-headers.git
branch = sdk/12.0
[submodule "third-party/nvapi-open-source-sdk"]
path = third-party/nvapi-open-source-sdk
url = https://github.com/LizardByte/nvapi-open-source-sdk.git
branch = sdk
[submodule "third-party/Simple-Web-Server"]
path = third-party/Simple-Web-Server
url = https://gitlab.com/eidheim/Simple-Web-Server.git
branch = master
[submodule "third-party/TPCircularBuffer"]
path = third-party/TPCircularBuffer
url = https://github.com/michaeltyson/TPCircularBuffer.git
branch = master
[submodule "third-party/tray"]
path = third-party/tray
url = https://github.com/LizardByte/tray.git
branch = master
[submodule "third-party/ViGEmClient"]
path = third-party/ViGEmClient
url = https://github.com/LizardByte/Virtual-Gamepad-Emulation-Client.git
branch = master
[submodule "third-party/wayland-protocols"]
path = third-party/wayland-protocols
url = https://gitlab.freedesktop.org/wayland/wayland-protocols.git
branch = main
[submodule "third-party/wlr-protocols"]
path = third-party/wlr-protocols
url = https://gitlab.freedesktop.org/wlroots/wlr-protocols.git
branch = master
+1
View File
@@ -0,0 +1 @@
{}
+30
View File
@@ -0,0 +1,30 @@
---
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
build:
os: ubuntu-24.04
tools:
python: "miniconda-latest"
commands:
- |
if [ -f readthedocs_build.sh ]; then
doxyconfig_dir="."
else
doxyconfig_dir="./third-party/doxyconfig"
fi
chmod +x "${doxyconfig_dir}/readthedocs_build.sh"
export DOXYCONFIG_DIR="${doxyconfig_dir}"
"${doxyconfig_dir}/readthedocs_build.sh"
# using conda, we can get newer doxygen and graphviz than ubuntu provide
# https://github.com/readthedocs/readthedocs.org/issues/8151#issuecomment-890359661
conda:
environment: third-party/doxyconfig/environment.yml
submodules:
include: all
recursive: true
+10
View File
@@ -0,0 +1,10 @@
# configuration file for rstcheck, an rst linting tool
# https://rstcheck.readthedocs.io/en/latest/usage/config
[rstcheck]
ignore_directives =
doxygenfile,
include,
mdinclude,
tab,
todo,
+47 -193
View File
@@ -1,209 +1,63 @@
cmake_minimum_required(VERSION 3.0)
cmake_minimum_required(VERSION 3.20)
# `CMAKE_CUDA_ARCHITECTURES` requires 3.18
# `set_source_files_properties` requires 3.18
# `cmake_path(CONVERT ... TO_NATIVE_PATH_LIST ...)` requires 3.20
# todo - set this conditionally
project(Sunshine)
project(Sunshine VERSION 0.0.0
DESCRIPTION "Self-hosted game stream host for Moonlight"
HOMEPAGE_URL "https://app.lizardbyte.dev/Sunshine")
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
set(PROJECT_LICENSE "GPL-3.0-only")
add_subdirectory(Simple-Web-Server)
set(PROJECT_FQDN "dev.lizardbyte.app.Sunshine")
if(WIN32)
# Ugly hack to compile with #include <qos2.h>
add_compile_definitions(
QOS_FLOWID=UINT32
PQOS_FLOWID=UINT32*
QOS_NON_ADAPTIVE_FLOW=2)
endif()
add_subdirectory(moonlight-common-c/enet)
set(PROJECT_BRIEF_DESCRIPTION "GameStream host for Moonlight") # must be <= 35 characters
find_package(Threads REQUIRED)
find_package(OpenSSL REQUIRED)
set(PROJECT_LONG_DESCRIPTION "Offering low latency, cloud gaming server capabilities with support for AMD, Intel, \
and Nvidia GPUs for hardware encoding. Software encoding is also available. You can connect to Sunshine from any \
Moonlight client on a variety of devices. A web UI is provided to allow configuration, and client pairing, from \
your favorite web browser. Pair from the local server or any mobile device.")
list(APPEND SUNSHINE_COMPILE_OPTIONS -fPIC -Wall -Wno-missing-braces -Wno-maybe-uninitialized -Wno-sign-compare)
if(WIN32)
file(
DOWNLOAD "https://github.com/TheElixZammuto/sunshine-prebuilt/releases/download/1.0.0/pre-compiled.zip" "${CMAKE_CURRENT_BINARY_DIR}/pre-compiled.zip"
TIMEOUT 60
EXPECTED_HASH SHA256=5d59986bd7f619eaaf82b2dd56b5127b747c9cbe8db61e3b898ff6b485298ed6)
file(ARCHIVE_EXTRACT
INPUT "${CMAKE_CURRENT_BINARY_DIR}/pre-compiled.zip"
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/pre-compiled)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
if(NOT DEFINED SUNSHINE_PREPARED_BINARIES)
set(SUNSHINE_PREPARED_BINARIES "${CMAKE_CURRENT_BINARY_DIR}/pre-compiled/windows")
endif()
add_subdirectory(tools) #This is temporary, only tools for Windows are needed, for now
list(APPEND SUNSHINE_DEFINITIONS APPS_JSON="apps_windows.json")
include_directories(ViGEmClient/include)
set(PLATFORM_TARGET_FILES
sunshine/platform/windows/input.cpp
sunshine/platform/windows/display.h
sunshine/platform/windows/display_base.cpp
sunshine/platform/windows/display_vram.cpp
sunshine/platform/windows/display_ram.cpp
sunshine/platform/windows/audio.cpp
ViGEmClient/src/ViGEmClient.cpp
ViGEmClient/include/ViGEm/Client.h
ViGEmClient/include/ViGEm/Common.h
ViGEmClient/include/ViGEm/Util.h
ViGEmClient/include/ViGEm/km/BusShared.h)
set(OPENSSL_LIBRARIES
libssl.a
libcrypto.a)
set(FFMPEG_INCLUDE_DIRS
${SUNSHINE_PREPARED_BINARIES}/include)
set(FFMPEG_LIBRARIES
${SUNSHINE_PREPARED_BINARIES}/lib/libavcodec.a
${SUNSHINE_PREPARED_BINARIES}/lib/libavdevice.a
${SUNSHINE_PREPARED_BINARIES}/lib/libavfilter.a
${SUNSHINE_PREPARED_BINARIES}/lib/libavformat.a
${SUNSHINE_PREPARED_BINARIES}/lib/libavutil.a
${SUNSHINE_PREPARED_BINARIES}/lib/libpostproc.a
${SUNSHINE_PREPARED_BINARIES}/lib/libswresample.a
${SUNSHINE_PREPARED_BINARIES}/lib/libswscale.a
${SUNSHINE_PREPARED_BINARIES}/lib/libx264.a
${SUNSHINE_PREPARED_BINARIES}/lib/libx265.a
${SUNSHINE_PREPARED_BINARIES}/lib/libhdr10plus.a
z lzma bcrypt libiconv.a)
list(PREPEND PLATFORM_LIBRARIES
libstdc++.a
libwinpthread.a
libssp.a
Qwave
winmm
ksuser
wsock32
ws2_32
iphlpapi
d3d11 dxgi D3DCompiler
setupapi
)
set_source_files_properties(ViGEmClient/src/ViGEmClient.cpp PROPERTIES COMPILE_DEFINITIONS "UNICODE=1;ERROR_INVALID_DEVICE_OBJECT_PARAMETER=650")
set_source_files_properties(ViGEmClient/src/ViGEmClient.cpp PROPERTIES COMPILE_FLAGS "-Wno-unknown-pragmas -Wno-misleading-indentation -Wno-class-memaccess")
else()
list(APPEND SUNSHINE_DEFINITIONS APPS_JSON="apps_linux.json")
find_package(X11 REQUIRED)
find_package(FFmpeg REQUIRED)
set(PLATFORM_TARGET_FILES
sunshine/platform/linux/display.cpp
sunshine/platform/linux/input.cpp)
set(PLATFORM_LIBRARIES
Xfixes
Xtst
xcb
xcb-shm
xcb-xfixes
Xrandr
${X11_LIBRARIES}
evdev
pulse
pulse-simple
)
set(PLATFORM_INCLUDE_DIRS
${X11_INCLUDE_DIR}
/usr/include/libevdev-1.0)
if(NOT DEFINED SUNSHINE_EXECUTABLE_PATH)
set(SUNSHINE_EXECUTABLE_PATH "${CMAKE_CURRENT_BINARY_DIR}/sunshine")
endif()
configure_file(gen-deb.in gen-deb @ONLY)
configure_file(sunshine.service.in sunshine.service @ONLY)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
endif()
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost COMPONENTS log filesystem REQUIRED)
# set the module path, used for includes
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
set(SUNSHINE_TARGET_FILES
moonlight-common-c/reedsolomon/rs.c
moonlight-common-c/reedsolomon/rs.h
moonlight-common-c/src/Input.h
moonlight-common-c/src/Rtsp.h
moonlight-common-c/src/RtspParser.c
moonlight-common-c/src/Video.h
sunshine/utility.h
sunshine/uuid.h
sunshine/config.h
sunshine/config.cpp
sunshine/main.cpp
sunshine/main.h
sunshine/crypto.cpp
sunshine/crypto.h
sunshine/nvhttp.cpp
sunshine/nvhttp.h
sunshine/rtsp.cpp
sunshine/rtsp.h
sunshine/stream.cpp
sunshine/stream.h
sunshine/video.cpp
sunshine/video.h
sunshine/input.cpp
sunshine/input.h
sunshine/audio.cpp
sunshine/audio.h
sunshine/platform/common.h
sunshine/process.cpp
sunshine/process.h
sunshine/network.cpp
sunshine/network.h
sunshine/move_by_copy.h
sunshine/task_pool.h
sunshine/thread_pool.h
sunshine/thread_safe.h
sunshine/sync.h
sunshine/round_robin.h
${PLATFORM_TARGET_FILES})
# set version info for this build
include(${CMAKE_MODULE_PATH}/prep/build_version.cmake)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/Simple-Web-Server
${CMAKE_CURRENT_SOURCE_DIR}/moonlight-common-c/enet/include
${CMAKE_CURRENT_SOURCE_DIR}/moonlight-common-c/reedsolomon
${FFMPEG_INCLUDE_DIRS}
${PLATFORM_INCLUDE_DIRS}
)
# cmake build flags
include(${CMAKE_MODULE_PATH}/prep/options.cmake)
string(TOUPPER "x${CMAKE_BUILD_TYPE}" BUILD_TYPE)
if("${BUILD_TYPE}" STREQUAL "XDEBUG")
list(APPEND SUNSHINE_COMPILE_OPTIONS -O0 -pedantic -ggdb3)
if(WIN32)
set_source_files_properties(sunshine/nvhttp.cpp PROPERTIES COMPILE_FLAGS -O2)
endif()
else()
add_definitions(-DNDEBUG)
list(APPEND SUNSHINE_COMPILE_OPTIONS -O3)
# initial prep
include(${CMAKE_MODULE_PATH}/prep/init.cmake)
# configure special package files, such as sunshine.desktop, Flatpak manifest, Portfile , etc.
include(${CMAKE_MODULE_PATH}/prep/special_package_configuration.cmake)
# Exit early if END_BUILD is ON, i.e. when only generating package manifests
if(${END_BUILD})
return()
endif()
if(NOT SUNSHINE_ASSETS_DIR)
set(SUNSHINE_ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/assets")
endif()
# project constants
include(${CMAKE_MODULE_PATH}/prep/constants.cmake)
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
${CMAKE_THREAD_LIBS_INIT}
stdc++fs
enet
opus
${FFMPEG_LIBRARIES}
${Boost_LIBRARIES}
${OPENSSL_LIBRARIES}
${PLATFORM_LIBRARIES})
# load macros
include(${CMAKE_MODULE_PATH}/macros/common.cmake)
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_ASSETS_DIR="${SUNSHINE_ASSETS_DIR}")
add_executable(sunshine ${SUNSHINE_TARGET_FILES})
target_link_libraries(sunshine ${SUNSHINE_EXTERNAL_LIBRARIES})
target_compile_definitions(sunshine PUBLIC ${SUNSHINE_DEFINITIONS})
set_target_properties(sunshine PROPERTIES CXX_STANDARD 17)
# load dependencies
include(${CMAKE_MODULE_PATH}/dependencies/common.cmake)
target_compile_options(sunshine PRIVATE ${SUNSHINE_COMPILE_OPTIONS})
# setup compile definitions
include(${CMAKE_MODULE_PATH}/compile_definitions/common.cmake)
# target definitions
include(${CMAKE_MODULE_PATH}/targets/common.cmake)
# packaging
include(${CMAKE_MODULE_PATH}/packaging/common.cmake)
+172
View File
@@ -0,0 +1,172 @@
# Docker
## Important note
Starting with v0.18.0, tag names have changed. You may no longer use `latest`, `master`, `vX.X.X`.
## Build your own containers
This image provides a method for you to easily use the latest Sunshine release in your own docker projects. It is not
intended to use as a standalone container at this point, and should be considered experimental.
```dockerfile
ARG SUNSHINE_VERSION=latest
ARG SUNSHINE_OS=ubuntu-22.04
FROM lizardbyte/sunshine:${SUNSHINE_VERSION}-${SUNSHINE_OS}
# install Steam, Wayland, etc.
ENTRYPOINT steam && sunshine
```
### SUNSHINE_VERSION
- `latest`, `master`, `vX.X.X`
- commit hash
### SUNSHINE_OS
Sunshine images are available with the following tag suffixes, based on their respective base images.
- `archlinux`
- `debian-bookworm`
- `ubuntu-22.04`
- `ubuntu-24.04`
### Tags
You must combine the `SUNSHINE_VERSION` and `SUNSHINE_OS` to determine the tag to pull. The format should be
`<SUNSHINE_VERSION>-<SUNSHINE_OS>`. For example, `latest-ubuntu-24.04`.
See all our available tags on [docker hub](https://hub.docker.com/r/lizardbyte/sunshine/tags) or
[ghcr](https://github.com/LizardByte/Sunshine/pkgs/container/sunshine/versions) for more info.
## Where used
This is a list of docker projects using Sunshine. Something missing? Let us know about it!
- [Games on Whales](https://games-on-whales.github.io)
## Port and Volume mappings
Examples are below of the required mappings. The configuration file will be saved to `/config` in the container.
### Using docker run
Create and run the container (substitute your `<values>`):
```bash
docker run -d \
--device /dev/dri/ \
--name=<image_name> \
--restart=unless-stopped \
--ipc=host \
-e PUID=<uid> \
-e PGID=<gid> \
-e TZ=<timezone> \
-v <path to data>:/config \
-p 47984-47990:47984-47990/tcp \
-p 48010:48010 \
-p 47998-48000:47998-48000/udp \
<image>
```
### Using docker-compose
Create a `docker-compose.yml` file with the following contents (substitute your `<values>`):
```yaml
version: '3'
services:
<image_name>:
image: <image>
container_name: sunshine
restart: unless-stopped
volumes:
- <path to data>:/config
environment:
- PUID=<uid>
- PGID=<gid>
- TZ=<timezone>
ipc: host
ports:
- "47984-47990:47984-47990/tcp"
- "48010:48010"
- "47998-48000:47998-48000/udp"
```
### Using podman run
Create and run the container (substitute your `<values>`):
```bash
podman run -d \
--device /dev/dri/ \
--name=<image_name> \
--restart=unless-stopped \
--userns=keep-id \
-e PUID=<uid> \
-e PGID=<gid> \
-e TZ=<timezone> \
-v <path to data>:/config \
-p 47984-47990:47984-47990/tcp \
-p 48010:48010 \
-p 47998-48000:47998-48000/udp \
<image>
```
### Parameters
You must substitute the `<values>` with your own settings.
Parameters are split into two halves separated by a colon. The left side represents the host and the right side the
container.
**Example:** `-p external:internal` - This shows the port mapping from internal to external of the container.
Therefore `-p 47990:47990` would expose port `47990` from inside the container to be accessible from the host's IP on
port `47990` (e.g. `http://<host_ip>:47990`). The internal port must be `47990`, but the external port may be changed
(e.g. `-p 8080:47990`). All the ports listed in the `docker run` and `docker-compose` examples are required.
| Parameter | Function | Example Value | Required |
|-----------------------------|----------------------|--------------------|----------|
| `-p <port>:47990` | Web UI Port | `47990` | True |
| `-v <path to data>:/config` | Volume mapping | `/home/sunshine` | True |
| `-e PUID=<uid>` | User ID | `1001` | False |
| `-e PGID=<gid>` | Group ID | `1001` | False |
| `-e TZ=<timezone>` | Lookup [TZ value][1] | `America/New_York` | False |
For additional configuration, it is recommended to reference the *Games on Whales*
[sunshine config](https://github.com/games-on-whales/gow/blob/2e442292d79b9d996f886b8a03d22b6eb6bddf7b/compose/streamers/sunshine.yml).
[1]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
#### User / Group Identifiers:
When using data volumes (-v flags) permissions issues can arise between the host OS and the container. To avoid this
issue you can specify the user PUID and group PGID. Ensure the data volume directory on the host is owned by the same
user you specify.
In this instance `PUID=1001` and `PGID=1001`. To find yours use id user as below:
```bash
$ id dockeruser
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
```
If you want to change the PUID or PGID after the image has been built, it will require rebuilding the image.
## Supported Architectures
Specifying `lizardbyte/sunshine:latest-<SUNSHINE_OS>` or `ghcr.io/lizardbyte/sunshine:latest-<SUNSHINE_OS>` should
retrieve the correct image for your architecture.
The architectures supported by these images are shown in the table below.
| tag suffix | amd64/x86_64 | arm64/aarch64 |
|-----------------|--------------|---------------|
| archlinux | ✅ | ❌ |
| debian-bookworm | ✅ | ✅ |
| ubuntu-22.04 | ✅ | ✅ |
| ubuntu-24.04 | ✅ | ✅ |
<div class="section_buttons">
| Previous | Next |
|:-------------------------------|-----------------------------------------------------:|
| [Changelog](docs/changelog.md) | [Third-Party Packages](docs/third_party_packages.md) |
</div>
<details style="display: none;">
<summary></summary>
[TOC]
</details>
-144
View File
@@ -1,144 +0,0 @@
# - Try to find FFMPEG
# Once done this will define
# FFMPEG_FOUND - System has FFMPEG
# FFMPEG_INCLUDE_DIRS - The FFMPEG include directories
# FFMPEG_LIBRARIES - The libraries needed to use FFMPEG
# FFMPEG_LIBRARY_DIRS - The directory to find FFMPEG libraries
#
# written by Roy Shilkrot 2013 http://www.morethantechnical.com/
#
find_package(PkgConfig)
MACRO(FFMPEG_FIND varname shortname headername)
IF(NOT WIN32)
PKG_CHECK_MODULES(PC_${varname} ${shortname})
FIND_PATH(${varname}_INCLUDE_DIR "${shortname}/${headername}"
HINTS ${PC_${varname}_INCLUDEDIR} ${PC_${varname}_INCLUDE_DIRS}
NO_DEFAULT_PATH
)
ELSE()
FIND_PATH(${varname}_INCLUDE_DIR "${shortname}/${headername}")
ENDIF()
IF(${varname}_INCLUDE_DIR STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND")
message(STATUS "look for newer strcture")
IF(NOT WIN32)
PKG_CHECK_MODULES(PC_${varname} "lib${shortname}")
FIND_PATH(${varname}_INCLUDE_DIR "lib${shortname}/${headername}"
HINTS ${PC_${varname}_INCLUDEDIR} ${PC_${varname}_INCLUDE_DIRS}
NO_DEFAULT_PATH
)
ELSE()
FIND_PATH(${varname}_INCLUDE_DIR "lib${shortname}/${headername}")
IF(${${varname}_INCLUDE_DIR} STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND")
#Desperate times call for desperate measures
MESSAGE(STATUS "globbing...")
FILE(GLOB_RECURSE ${varname}_INCLUDE_DIR "/ffmpeg*/${headername}")
MESSAGE(STATUS "found: ${${varname}_INCLUDE_DIR}")
IF(${varname}_INCLUDE_DIR)
GET_FILENAME_COMPONENT(${varname}_INCLUDE_DIR "${${varname}_INCLUDE_DIR}" PATH)
GET_FILENAME_COMPONENT(${varname}_INCLUDE_DIR "${${varname}_INCLUDE_DIR}" PATH)
ELSE()
SET(${varname}_INCLUDE_DIR "${varname}_INCLUDE_DIR-NOTFOUND")
ENDIF()
ENDIF()
ENDIF()
ENDIF()
IF(${${varname}_INCLUDE_DIR} STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND")
MESSAGE(STATUS "Can't find includes for ${shortname}...")
ELSE()
MESSAGE(STATUS "Found ${shortname} include dirs: ${${varname}_INCLUDE_DIR}")
#GET_DIRECTORY_PROPERTY(FFMPEG_PARENT DIRECTORY ${${varname}_INCLUDE_DIR} PARENT_DIRECTORY)
GET_FILENAME_COMPONENT(FFMPEG_PARENT ${${varname}_INCLUDE_DIR} PATH)
MESSAGE(STATUS "Using FFMpeg dir parent as hint: ${FFMPEG_PARENT}")
IF(NOT WIN32)
FIND_LIBRARY(${varname}_LIBRARIES NAMES ${shortname}
HINTS ${PC_${varname}_LIBDIR} ${PC_${varname}_LIBRARY_DIR} ${FFMPEG_PARENT})
ELSE()
FIND_PATH(${varname}_LIBRARIES "${shortname}.dll.a" HINTS ${FFMPEG_PARENT})
# FILE(GLOB_RECURSE ${varname}_LIBRARIES "${FFMPEG_PARENT}/*${shortname}.lib")
# GLOBing is very bad... but windows sux, this is the only thing that works
ENDIF()
IF(${varname}_LIBRARIES STREQUAL "${varname}_LIBRARIES-NOTFOUND")
MESSAGE(STATUS "look for newer structure for library")
FIND_LIBRARY(${varname}_LIBRARIES NAMES lib${shortname}
HINTS ${PC_${varname}_LIBDIR} ${PC_${varname}_LIBRARY_DIR} ${FFMPEG_PARENT})
ENDIF()
IF(${varname}_LIBRARIES STREQUAL "${varname}_LIBRARIES-NOTFOUND")
MESSAGE(STATUS "Can't find lib for ${shortname}...")
ELSE()
MESSAGE(STATUS "Found ${shortname} libs: ${${varname}_LIBRARIES}")
ENDIF()
IF(NOT ${varname}_INCLUDE_DIR STREQUAL "${varname}_INCLUDE_DIR-NOTFOUND"
AND NOT ${varname}_LIBRARIES STREQUAL ${varname}_LIBRARIES-NOTFOUND)
MESSAGE(STATUS "found ${shortname}: include ${${varname}_INCLUDE_DIR} lib ${${varname}_LIBRARIES}")
SET(FFMPEG_${varname}_FOUND 1)
SET(FFMPEG_${varname}_INCLUDE_DIRS ${${varname}_INCLUDE_DIR})
SET(FFMPEG_${varname}_LIBS ${${varname}_LIBRARIES})
ELSE()
MESSAGE(STATUS "Can't find ${shortname}")
ENDIF()
ENDIF()
ENDMACRO(FFMPEG_FIND)
FFMPEG_FIND(LIBAVFORMAT avformat avformat.h)
FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h)
FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h)
FFMPEG_FIND(LIBAVUTIL avutil avutil.h)
FFMPEG_FIND(LIBSWSCALE swscale swscale.h)
SET(FFMPEG_FOUND "NO")
IF (FFMPEG_LIBAVFORMAT_FOUND AND
FFMPEG_LIBAVDEVICE_FOUND AND
FFMPEG_LIBAVCODEC_FOUND AND
FFMPEG_LIBAVUTIL_FOUND AND
FFMPEG_LIBSWSCALE_FOUND
)
SET(FFMPEG_FOUND "YES")
SET(FFMPEG_INCLUDE_DIRS ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS})
SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS})
SET(FFMPEG_LIBRARIES
${FFMPEG_LIBAVFORMAT_LIBS}
${FFMPEG_LIBAVDEVICE_LIBS}
${FFMPEG_LIBAVCODEC_LIBS}
${FFMPEG_LIBAVUTIL_LIBS}
${FFMPEG_LIBSWSCALE_LIBS}
)
ELSE ()
MESSAGE(STATUS "Could not find FFMPEG")
ENDIF()
message(STATUS ${FFMPEG_LIBRARIES} ${FFMPEG_LIBAVFORMAT_LIBRARIES})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set FFMPEG_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(FFMPEG DEFAULT_MSG
FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS)
mark_as_advanced(FFMPEG_INCLUDE_DIRS FFMPEG_LIBRARY_DIRS FFMPEG_LIBRARIES)
+3
View File
@@ -0,0 +1,3 @@
©2018 Valve Corporation. Steam and the Steam logo are trademarks and/or
registered trademarks of Valve Corporation in the U.S. and/or other countries. All
rights reserved.
+186 -175
View File
@@ -1,191 +1,202 @@
# Introduction
Sunshine is a Gamestream host for Moonlight
<div align="center">
<img src="sunshine.png" />
<h1 align="center">Sunshine</h1>
<h4 align="center">Self-hosted game stream host for Moonlight.</h4>
</div>
- [Building](README.md#building)
- [Credits](README.md#credits)
<div align="center">
<a href="https://github.com/LizardByte/Sunshine">
<img src="https://img.shields.io/github/stars/lizardbyte/sunshine.svg?logo=github&style=for-the-badge" alt="GitHub stars">
</a>
<a href="https://github.com/LizardByte/Sunshine/releases/latest">
<img src="https://img.shields.io/github/downloads/lizardbyte/sunshine/total.svg?style=for-the-badge&logo=github" alt="GitHub Releases">
</a>
<a href="https://hub.docker.com/r/lizardbyte/sunshine">
<img src="https://img.shields.io/docker/pulls/lizardbyte/sunshine.svg?style=for-the-badge&logo=docker" alt="Docker">
</a>
<a href="https://github.com/LizardByte/Sunshine/pkgs/container/sunshine">
<img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fipitio.github.io%2Fbackage%2FLizardByte%2FSunshine%2Fsunshine.json&query=%24.downloads&label=ghcr%20pulls&style=for-the-badge&logo=github" alt="GHCR">
</a>
<a href="https://flathub.org/apps/dev.lizardbyte.app.Sunshine">
<img src="https://img.shields.io/flathub/downloads/dev.lizardbyte.app.Sunshine?style=for-the-badge&logo=flathub" alt="Flathub installs">
</a>
<a href="https://flathub.org/apps/dev.lizardbyte.app.Sunshine">
<img src="https://img.shields.io/flathub/v/dev.lizardbyte.app.Sunshine?style=for-the-badge&logo=flathub" alt="Flathub Version">
</a>
<a href="https://github.com/microsoft/winget-pkgs/tree/master/manifests/l/LizardByte/Sunshine">
<img src="https://img.shields.io/winget/v/LizardByte.Sunshine?style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHuSURBVFhH7ZfNTtRQGIYZiMDwN/IrCAqIhMSNKxcmymVwG+5dcDVsWHgDrtxwCYQVl+BChzDEwSnPY+eQ0sxoOz1mQuBNnpyvTdvz9jun5/SrjfxnJUkyQbMEz2ELduF1l0YUA3QyTrMAa2AnPtyOXsELeAYNyKtV2EC3k3lYgTOwg09ghy/BTp7CKBRV844BOpmmMV2+ySb4BmInG7AKY7AHH+EYqqhZo9PPBG/BVDlOizAD/XQFmnoPXzxRQX8M/CCYS48L6RIc4ygGHK9WGg9HZSZMUNRPVwNJGg5Hg2Qgqh4N3FsDsb6EmgYm07iwwvUxstdxJTwgmILf4CfZ6bb5OHANX8GN5x20IVxnG8ge94pt2xpwU3GnCwayF4Q2G2vgFLzHndFzQdk4q77nNfCdwL28qNyMtmEf3A1/QV5FjDiPWo5jrwf8TWZChTlgJvL4F9QL50/A43qVidTvLcuoM2wDQ1+IkgefgUpLcYwMVBqCKNJA2b0gKNocOIITOIef8C/F/CdMbh/GklynsSawKLHS8d9/B1x2LUqsfFyy3TMsWj5A1cLkotDbYO4JjWWZlZEGv8EbOIR1CAVN2eG8W5oNKgxaeC6DmTJjZs7ixUxpznLPLT+v4sXpoMLcLI3mzFSonDXIEI/M3QCIO4YuimBJ/gAAAABJRU5ErkJggg==" alt="Winget Version">
</a>
<a href="https://gurubase.io/g/sunshine">
<img src="https://img.shields.io/badge/Gurubase-Ask%20Guru-ef1a1b?style=for-the-badge&logo=data:image/jpeg;base64,/9j/2wCEAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDIBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIABgAGAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOLqSO3mlilljido4QGkYDIQEgAn05IH41seFo7aS+uRKlrJci2Y2cd2QImlyOGyQPu7sA8ZxXapAlvpThbPRkv7nTQWhDoIZZRc/XaSAOmcZGOnFfP06XMr3P17F5iqE+Tl1uuvf9Lde55dRW74pit4r61EcdtFdG2U3kVqQY0lyeBgkD5duQOASawqykuV2O6jV9rTU0rXLNjf3Om3QubSXy5QCudoYEEYIIOQR7GnahqV3qk6zXk3mOqhFAUKqqOyqAAByeAKqUUXdrFezhz89lfv1+8KKKKRZ//Z" alt="Gurubase">
</a>
<a href="https://github.com/LizardByte/Sunshine/actions/workflows/CI.yml?query=branch%3Amaster">
<img src="https://img.shields.io/github/actions/workflow/status/lizardbyte/sunshine/CI.yml.svg?branch=master&label=CI%20build&logo=github&style=for-the-badge" alt="GitHub Workflow Status (CI)">
</a>
<a href="https://github.com/LizardByte/Sunshine/actions/workflows/localize.yml?query=branch%3Amaster">
<img src="https://img.shields.io/github/actions/workflow/status/lizardbyte/sunshine/localize.yml.svg?branch=master&label=localize%20build&logo=github&style=for-the-badge" alt="GitHub Workflow Status (localize)">
</a>
<a href="https://docs.lizardbyte.dev/projects/sunshine">
<img src="https://img.shields.io/readthedocs/sunshinestream.svg?label=Docs&style=for-the-badge&logo=readthedocs" alt="Read the Docs">
</a>
<a href="https://codecov.io/gh/LizardByte/Sunshine">
<img src="https://img.shields.io/codecov/c/gh/LizardByte/Sunshine?token=SMGXQ5NVMJ&style=for-the-badge&logo=codecov&label=codecov" alt="Codecov">
</a>
</div>
# Building
- [Linux](README.md#linux)
- [Windows](README.md#windows-10)
## ️ About
## Linux
Sunshine is a self-hosted game stream host for Moonlight.
Offering low latency, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware
encoding. Software encoding is also available. You can connect to Sunshine from any Moonlight client on a variety of
devices. A web UI is provided to allow configuration, and client pairing, from your favorite web browser. Pair from
the local server or any mobile device.
### Requirements:
Ubuntu 20.04:
Install the following
```
sudo apt install cmake libssl-dev libavdevice-dev libboost-thread-dev libboost-filesystem-dev libboost-log-dev libpulse-dev libopus-dev libxtst-dev libx11-dev libxfixes-dev libevdev-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev
```
LizardByte has the full documentation hosted on [Read the Docs](https://docs.lizardbyte.dev/projects/sunshine)
### Compilation:
- `git clone https://github.com/loki-47-6F-64/sunshine.git --recurse-submodules`
- `cd sunshine && mkdir build && cd build`
- `cmake ..`
- `make -j ${nproc}`
* [Stable](https://docs.lizardbyte.dev/projects/sunshine/latest/)
* [Beta](https://docs.lizardbyte.dev/projects/sunshine/master/)
## 🖥️ System Requirements
### Setup:
sunshine needs access to uinput to create mouse and gamepad events:
- Add user to group 'input':
`usermod -a -G input $USER`
- Create udev rules:
- Run the following command:
`nano /etc/udev/rules.d/85-sunshine-input.rules`
- Input the following contents:
`KERNEL=="uinput", GROUP="input", mode="0660"`
- Save the file and exit
1. `CTRL+X` to start exit
2. `Y` to save modifications
- `assets/sunshine.conf` is an example configuration file. Modify it as you see fit, then use it by running:
`sunshine path/to/sunshine.conf`
- Configure autostart service
`path/to/build/dir/sunshine.service` is used to start sunshine in the background. To use it, do the following:
1. Copy it to the users systemd, `cp sunshine.service ~/.config/systemd/user/`
2. Starting
- Onetime:
`systemctl --user start sunshine`
- Always on boot:
`systemctl --user enable sunshine`
@warning{These tables are a work in progress. Do not purchase hardware based on this information.}
- `assets/apps.json` is an [example](README.md#application-list) of a list of applications that are started just before running a stream
<table>
<caption id="minimum_requirements">Minimum Requirements</caption>
<tr>
<th>Component</th>
<th>Requirement</th>
</tr>
<tr>
<td rowspan="3">GPU</td>
<td>AMD: VCE 1.0 or higher, see: <a href="https://github.com/obsproject/obs-amd-encoder/wiki/Hardware-Support">obs-amd hardware support</a></td>
</tr>
<tr>
<td>
Intel:<br>
&nbsp;&nbsp;Linux: VAAPI-compatible, see: <a href="https://www.intel.com/content/www/us/en/developer/articles/technical/linuxmedia-vaapi.html">VAAPI hardware support</a><br>
&nbsp;&nbsp;Windows: Skylake or newer with QuickSync encoding support
</td>
</tr>
<tr>
<td>Nvidia: NVENC enabled cards, see: <a href="https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new">nvenc support matrix</a></td>
</tr>
<tr>
<td rowspan="2">CPU</td>
<td>AMD: Ryzen 3 or higher</td>
</tr>
<tr>
<td>Intel: Core i3 or higher</td>
</tr>
<tr>
<td>RAM</td>
<td>4GB or more</td>
</tr>
<tr>
<td rowspan="5">OS</td>
<td>Windows: 10+ (Windows Server does not support virtual gamepads)</td>
</tr>
<tr>
<td>macOS: 13+</td>
</tr>
<tr>
<td>Linux/Debian: 12+ (bookworm)</td>
</tr>
<tr>
<td>Linux/Fedora: 40+</td>
</tr>
<tr>
<td>Linux/Ubuntu: 22.04+ (jammy)</td>
</tr>
<tr>
<td rowspan="2">Network</td>
<td>Host: 5GHz, 802.11ac</td>
</tr>
<tr>
<td>Client: 5GHz, 802.11ac</td>
</tr>
</table>
### Trouleshooting:
- If you get "Could not create Sunshine Gamepad: Permission Denied", ensure you are part of the group "input":
- `groups $USER`
- If Sunshine sends audio from the microphone instead of the speaker, try the following steps:
1. pacmd list-sources | grep "name:"
2. Copy the name to the configuration option "audio_sink"
3. restart sunshine
<table>
<caption id="4k_suggestions">4k Suggestions</caption>
<tr>
<th>Component</th>
<th>Requirement</th>
</tr>
<tr>
<td rowspan="3">GPU</td>
<td>AMD: Video Coding Engine 3.1 or higher</td>
</tr>
<tr>
<td>
Intel:<br>
&nbsp;&nbsp;Linux: HD Graphics 510 or higher<br>
&nbsp;&nbsp;Windows: Skylake or newer with QuickSync encoding support
</td>
</tr>
<tr>
<td>Nvidia: GeForce GTX 1080 or higher</td>
</tr>
<tr>
<td rowspan="2">CPU</td>
<td>AMD: Ryzen 5 or higher</td>
</tr>
<tr>
<td>Intel: Core i5 or higher</td>
</tr>
<tr>
<td rowspan="2">Network</td>
<td>Host: CAT5e ethernet or better</td>
</tr>
<tr>
<td>Client: CAT5e ethernet or better</td>
</tr>
</table>
## Windows 10
<table>
<caption id="hdr_suggestions">HDR Suggestions</caption>
<tr>
<th>Component</th>
<th>Requirement</th>
</tr>
<tr>
<td rowspan="3">GPU</td>
<td>AMD: Video Coding Engine 3.4 or higher</td>
</tr>
<tr>
<td>Intel: HD Graphics 730 or higher</td>
</tr>
<tr>
<td>Nvidia: Pascal-based GPU (GTX 10-series) or higher</td>
</tr>
<tr>
<td rowspan="2">CPU</td>
<td>AMD: Ryzen 5 or higher</td>
</tr>
<tr>
<td>Intel: Core i5 or higher</td>
</tr>
<tr>
<td rowspan="2">Network</td>
<td>Host: CAT5e ethernet or better</td>
</tr>
<tr>
<td>Client: CAT5e ethernet or better</td>
</tr>
</table>
### Requirements:
## ❓ Support
mingw-w64-x86_64-openssl mingw-w64-x86_64-cmake mingw-w64-x86_64-toolchain mingw-w64-x86_64-opus mingw-w64-x86_64-x265 mingw-w64-x86_64-boost git yasm nasm diffutils make
Our support methods are listed in our [LizardByte Docs](https://docs.lizardbyte.dev/latest/about/support.html).
### Compilation:
- `git clone https://github.com/loki-47-6F-64/sunshine.git --recursive`
- `cd sunshine && mkdir build && cd build`
- `cmake -G"Unix Makefiles" ..`
- `make`
<div class="section_buttons">
### Setup:
- **OPTIONAL** Gamepad support: Download and run 'ViGEmBus_Setup_1.16.116.exe' from [https://github.com/ViGEm/ViGEmBus/releases]
| Previous | Next |
|:---------|-------------------------------------------:|
| | [Getting Started](docs/getting_started.md) |
</div>
# Common
## Usage:
- run "sunshine path/to/sunshine.conf"
- In Moonlight: Add PC manually
- When Moonlight request you insert the correct pin on sunshine, either:
- Type in the URL bar of your browser: `xxx.xxx.xxx.xxx:47989/pin/####`
- `wget xxx.xxx.xxx.xxx:47989/pin/####`
- The x's are the IP of your instance, `####` is the pin
- Click on one of the Applications listed
- Have fun :)
## Note:
- The Windows key is not passed through by Moonlight, therefore Sunshine maps Right-Alt key to the Windows key
- If you set Video Bitrate to 0.5Mb/s:
- Sunshine will use CRF or QP to controll the quality of the stream. (See example configuration file for more details)
- This is less CPU intensive and it has lower average bandwith requirements compared to manually setting bitrate to acceptable quality
- However, it has higher peak bitrates, forcing Sunshine to drop entire frames when streaming 1080P due to their size.
- When this happens, the video portion of the stream appears to be frozen.
- This is rare enough that using this for the desktop environment is tolerable (in my opinion), however for gaming not so much.
## Credits:
- [Simple-Web-Server](https://gitlab.com/eidheim/Simple-Web-Server)
- [Moonlight](https://github.com/moonlight-stream)
- [Looking-Glass](https://github.com/gnif/LookingGlass) (For showing me how to properly capture frames on Windows, saving me a lot of time :)
## Application List:
- You can use Environment variables in place of values
- $(HOME) will be replaced by the value of $HOME
- $$ will be replaced by $ --> $$(HOME) will be replaced by $(HOME)
- env: Adds or overwrites Environment variables for the commands/applications run by Sunshine.
- "Variable name":"Variable value"
- apps: The list of applications
- Example:
```json
{
"name":"An App",
"cmd":"command to open app",
"prep-cmd":[
{
"do":"some-command",
"undo":"undo-that-command"
}
],
"detached":[
"some-command",
"another-command"
]
}
```
- name: Self explanatory
- output <optional>: The file where the output of the command is stored
- If it is not specified, the output is ignored
- detached: A list of commands to be run and forgotten about
- prep-cmd: A list of commands to be run before/after the application
- If any of the prep-commands fail, starting the application is aborted
- do: Run before the application
- If it fails, all 'undo' commands of the previously succeeded 'do' commands are run
- undo <optional>: Run after the application has terminated
- This should not fail considering it is supposed to undo the 'do' commands.
- If it fails, Sunshine is terminated
- cmd <optional>: The main application
- If not specified, a processs is started that sleeps indefinitely
1. When an application is started, if there is an application already running, it will be terminated.
2. When the application has been shutdown, the stream shuts down as well.
3. In addition to the apps listed, one app "Desktop" is hardcoded into Sunshine. It does not start an application, instead it simply starts a stream.
Linux
```json
{
"env":{
"DISPLAY":":0",
"DRI_PRIME":"1",
"XAUTHORITY":"$(HOME)/.Xauthority",
"PATH":"$(PATH):$(HOME)/.local/bin"
},
"apps":[
{
"name":"Low Res Desktop",
"prep-cmd":[
{ "do":"xrandr --output HDMI-1 --mode 1920x1080", "undo":"xrandr --output HDMI-1 --mode 1920x1200" }
]
},
{
"name":"Steam BigPicture",
"output":"steam.txt",
"cmd":"steam -bigpicture",
"prep-cmd":[]
}
]
}
```
Windows
```json
{
"env":{
"PATH":"$(PATH);C:\\Program Files (x86)\\Steam"
},
"apps":[
{
"name":"Steam BigPicture",
"output":"steam.txt",
"prep-cmd":[
{"do":"steam \"steam://open/bigpicture\""}
]
}
]
}
```
<details style="display: none;">
<summary></summary>
[TOC]
</details>
Submodule ViGEmClient deleted from 52682b59c4
-38
View File
@@ -1,38 +0,0 @@
image:
- Ubuntu2004
- Visual Studio 2019
environment:
matrix:
- BUILD_TYPE: Debug
- BUILD_TYPE: Release
install:
- sh: sudo apt update --ignore-missing
- sh: sudo apt install -y build-essential fakeroot gcc-10 g++-10 cmake libssl-dev libavdevice-dev libboost-thread-dev libboost-filesystem-dev libboost-log-dev libpulse-dev libopus-dev libxtst-dev libx11-dev libxrandr-dev libxfixes-dev libevdev-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev
- cmd: C:\msys64\usr\bin\bash -lc "pacman --needed --noconfirm -S mingw-w64-x86_64-openssl mingw-w64-x86_64-cmake mingw-w64-x86_64-toolchain mingw-w64-x86_64-opus mingw-w64-x86_64-x265 mingw-w64-x86_64-boost git yasm nasm diffutils make"
before_build:
- git submodule update --init --recursive
- mkdir build
- cd build
build_script:
- cmd: set OLDPATH=%PATH%
- cmd: set PATH=C:\msys64\mingw64\bin
- sh: cmake -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSUNSHINE_EXECUTABLE_PATH=sunshine -DSUNSHINE_ASSETS_DIR=/etc/sunshine ..
- cmd: cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSUNSHINE_ASSETS_DIR=assets -G "MinGW Makefiles" ..
- sh: make -j$(nproc)
- cmd: mingw32-make -j2
- cmd: set PATH=%OLDPATH%
after_build:
- sh: ./gen-deb
- cmd: Del ..\assets\apps_linux.json
- cmd: 7z a Sunshine-Windows.zip ..\assets
- cmd: 7z a Sunshine-Windows.zip sunshine.exe
- cmd: 7z a Sunshine-Windows.zip tools\dxgi-info.exe
- cmd: 7z a Sunshine-Windows.zip tools\audio-info.exe
- cmd: appveyor PushArtifact Sunshine-Windows.zip
- sh: appveyor PushArtifact package-deb/sunshine.deb
- sh: appveyor PushArtifact sunshine.service
-19
View File
@@ -1,19 +0,0 @@
{
"env":{
"PATH":"$(PATH):$(HOME)/.local/bin"
},
"apps":[
{
"name":"Low Res Desktop",
"prep-cmd":[
{ "do":"xrandr --output HDMI-1 --mode 1920x1080", "undo":"xrandr --output HDMI-1 --mode 1920x1200" }
]
},
{
"name":"Steam BigPicture",
"output":"steam.txt",
"detached":["setsid steam steam://open/bigpicture"]
}
]
}
-13
View File
@@ -1,13 +0,0 @@
{
"env":{
"PATH":"$(PATH);C:\\Program Files (x86)\\Steam"
},
"apps":[
{
"name":"Steam BigPicture",
"output":"steam.txt",
"detached":["steam steam://open/bigpicture"]
}
]
}
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 998 B

-33
View File
@@ -1,33 +0,0 @@
Texture2D image : register(t0);
SamplerState def_sampler : register(s0);
struct FragTexWide {
float3 uuv : TEXCOORD0;
};
cbuffer ColorMatrix : register(b0) {
float4 color_vec_y;
float4 color_vec_u;
float4 color_vec_v;
float2 range_y;
float2 range_uv;
};
//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float2 main_ps(FragTexWide input) : SV_Target
{
float3 rgb_left = image.Sample(def_sampler, input.uuv.xz).rgb;
float3 rgb_right = image.Sample(def_sampler, input.uuv.yz).rgb;
float3 rgb = (rgb_left + rgb_right) * 0.5;
float u = dot(color_vec_u.xyz, rgb) + color_vec_u.w;
float v = dot(color_vec_v.xyz, rgb) + color_vec_v.w;
u = u * range_uv.x + range_uv.y;
v = v * range_uv.x + range_uv.y;
return float2(u, v * 224.0f/256.0f + 0.0625);
}
-29
View File
@@ -1,29 +0,0 @@
struct VertTexPosWide {
float3 uuv : TEXCOORD;
float4 pos : SV_POSITION;
};
cbuffer info : register(b0) {
float width_i;
};
//--------------------------------------------------------------------------------------
// Vertex Shader
//--------------------------------------------------------------------------------------
VertTexPosWide main_vs(uint vI : SV_VERTEXID)
{
float idHigh = float(vI >> 1);
float idLow = float(vI & uint(1));
float x = idHigh * 4.0 - 1.0;
float y = idLow * 4.0 - 1.0;
float u_right = idHigh * 2.0;
float u_left = u_right - width_i;
float v = 1.0 - idLow * 2.0;
VertTexPosWide vert_out;
vert_out.uuv = float3(u_left, u_right, v);
vert_out.pos = float4(x, y, 0.0, 1.0);
return vert_out;
}
-25
View File
@@ -1,25 +0,0 @@
Texture2D image : register(t0);
SamplerState def_sampler : register(s0);
cbuffer ColorMatrix : register(b0) {
float4 color_vec_y;
float4 color_vec_u;
float4 color_vec_v;
float2 range_y;
float2 range_uv;
};
struct PS_INPUT
{
float4 pos : SV_POSITION;
float2 tex : TEXCOORD;
};
float main_ps(PS_INPUT frag_in) : SV_Target
{
float3 rgb = image.Sample(def_sampler, frag_in.tex, 0).rgb;
float y = dot(color_vec_y.xyz, rgb);
return y * range_y.x + range_y.y;
}
-14
View File
@@ -1,14 +0,0 @@
Texture2D image : register(t0);
SamplerState def_sampler : register(s0);
struct PS_INPUT
{
float4 pos : SV_POSITION;
float2 tex : TEXCOORD;
};
float4 main_ps(PS_INPUT frag_in) : SV_Target
{
return image.Sample(def_sampler, frag_in.tex, 0);
}
-22
View File
@@ -1,22 +0,0 @@
struct PS_INPUT
{
float4 pos : SV_POSITION;
float2 tex : TEXCOORD;
};
PS_INPUT main_vs(uint vI : SV_VERTEXID)
{
float idHigh = float(vI >> 1);
float idLow = float(vI & uint(1));
float x = idHigh * 4.0 - 1.0;
float y = idLow * 4.0 - 1.0;
float u = idHigh * 2.0;
float v = 1.0 - idLow * 2.0;
PS_INPUT vert_out;
vert_out.pos = float4(x, y, 0.0, 1.0);
vert_out.tex = float2(u, v);
return vert_out;
}
-209
View File
@@ -1,209 +0,0 @@
# If no external IP address is given, the local IP address is used
# external_ip = 123.456.789.12
# The private key must be 2048 bits
# pkey = /dir/pkey.pem
# The certificate must be signed with a 2048 bit key
# cert = /dir/cert.pem
# The name displayed by Moonlight
# If not specified, the PC's hostname is used
# sunshine_name = Sunshine
# The minimum log level printed to standard out
#
# none -> no logs are printed to standard out
#
# verbose = [0]
# debug = [1]
# info = [2]
# warning = [3]
# error = [4]
# fatal = [5]
# none = [6]
#
# min_log_level = info
# The origin of the remote endpoint address that is not denied for HTTP method /pin
# Could be any of the following values:
# pc|lan|wan
# pc: Only localhost may access /pin
# lan: Only those in LAN may access /pin
# wan: Anyone may access /pin
#
# origin_pin_allowed = lan
# The file where current state of Sunshine is stored
# file_state = sunshine_state.json
# How long to wait in milliseconds for data from moonlight before shutting down the stream
# ping_timeout = 2000
# The file where configuration for the different applications that Sunshine can run during a stream
# file_apps = apps.json
# How much error correcting packets must be send for every video
# This is just some random number, don't know the optimal value
# The higher fec_percentage, the lower space for the actual data to send per frame there is
#
# The value must be greater than 0 and lower than or equal to 100
# fec_percentage = 10
# When multicasting, it could be usefull to have different configurations for each connected Client.
# For example:
# Clients connected through WAN and LAN have different bitrate contstraints.
# Decoders may require different settings for color
#
# Unlike simply broadcasting to multiple Client, this will generate distinct video streams.
# Note, CPU usage increases for each distinct video stream generated
# channels = 1
# The back/select button on the controller
# On the Shield, the home and powerbutton are not passed to Moonlight
# If, after the timeout, the back button is still pressed down, Home/Guide button press is emulated.
# If back_button_timeout < 0, then the Home/Guide button will not be emulated
# back_button_timeout = 2000
# !! Windows only !!
# Control how fast keys will repeat themselves
# The initial delay in milliseconds before repeating keys
# key_repeat_delay = 500
#
# How often keys repeat every second
# This configurable option supports decimals
# key_repeat_frequency = 24.9
# The name of the audio sink used for Audio Loopback
# If you do not specify this variable, pulseaudio will select the default monitor device.
#
# You can find the name of the audio sink using the following command:
# !! Linux only !!
# pacmd list-sources | grep "name:"
# audio_sink = alsa_output.pci-0000_09_00.3.analog-stereo.monitor
#
# !! Windows only !!
# tools\audio-info.exe
# audio_sink = {0.0.0.00000000}.{FD47D9CC-4218-4135-9CE2-0C195C87405B}
# !! Windows only !!
# You can select the video card you want to stream:
# The appropriate values can be found using the following command:
# tools\dxgi-info.exe
# adapter_name = Radeon RX 580 Series
# output_name = \\.\DISPLAY1
# !! Linux only !!
# Set the display number to stream. I have no idea how they are numbered. They start from 1, usually.
# output_name = 1
###############################################
# FFmpeg software encoding parameters
# Honestly, I have no idea what the optimal values would be.
# Play around with this :)
# Constant Rate Factor. Between 1 and 52. It allows QP to go up during motion and down with still image, resulting in constant perceived quality
# Higher value means more compression, but less quality
# If crf == 0, then use QP directly instead
# crf = 0
# Quantitization Parameter
# Higher value means more compression, but less quality
# If crf != 0, then this parameter is ignored
# qp = 28
# Minimum number of threads used by ffmpeg to encode the video.
# Increasing the value slightly reduces encoding efficiency, but the tradeoff is usually
# worth it to gain the use of more CPU cores for encoding. The ideal value is the lowest
# value that can reliably encode at your desired streaming settings on your hardware.
# min_threads = 1
# Allows the client to request HEVC Main or HEVC Main10 video streams.
# HEVC is more CPU-intensive to encode, so enabling this may reduce performance when using software encoding.
# If set to 0 (default), Sunshine will specify support for HEVC based on encoder
# If set to 1, Sunshine will not advertise support for HEVC
# If set to 2, Sunshine will advertise support for HEVC Main profile
# If set to 3, Sunshine will advertise support for HEVC Main and Main10 (HDR) profiles
# hevc_mode = 2
# Force a specific encoder, otherwise Sunshine will use the first encoder that is available
# supported encoders:
# nvenc
# amdvce # NOTE: alpha stage. The cursor is not yet displayed
# software
#
# encoder = nvenc
##################################### Software #####################################
# See x264 --fullhelp for the different presets
# sw_preset = superfast
# sw_tune = zerolatency
#
##################################### NVENC #####################################
###### presets ###########
# default
# hp -- high performance
# hq -- high quality
# slow -- hq 2 passes
# medium -- hq 1 pass
# fast -- hp 1 pass
# bd
# ll -- low latency
# llhq
# llhp
# lossless
# losslesshp
##########################
# nv_preset = llhq
#
####### rate control #####
# auto -- let ffmpeg decide rate control
# constqp -- constant QP mode
# vbr -- variable bitrate
# cbr -- constant bitrate
# cbr_hq -- cbr high quality
# cbr_ld_hq -- cbr low delay high quality
# vbr_hq -- vbr high quality
##########################
# nv_rc = auto
###### h264 entropy ######
# auto -- let ffmpeg nvenc decide the entropy encoding
# cabac
# cavlc
##########################
# nv_coder = auto
##################################### AMD #####################################
###### presets ###########
# default
# speed
# balanced
##########################
# amd_preset = balanced
#
####### rate control #####
# auto -- let ffmpeg decide rate control
# constqp -- constant QP mode
# vbr_latency -- Latency Constrained Variable Bitrate
# vbr_peak -- Peak Contrained Variable Bitrate
# cbr -- constant bitrate
##########################
# amd_rc = auto
###### h264 entropy ######
# auto -- let ffmpeg nvenc decide the entropy encoding
# cabac
# cavlc
##########################
# amd_coder = auto
##############################################
# Some configurable parameters, are merely toggles for specific features
# The first occurrence turns it on, the second occurence turns it off, the third occurence turns it on again, etc, etc
# Here, you change the default state of any flag
#
# To set the initial state of flags -0 and -1 to on, set the following flags:
# flags = 01
#
# See: sunshine --help for all options under the header: flags
+21
View File
@@ -0,0 +1,21 @@
# - Try to find Libcap
# Once done this will define
#
# LIBCAP_FOUND - system has Libcap
# LIBCAP_INCLUDE_DIRS - the Libcap include directory
# LIBCAP_LIBRARIES - the libraries needed to use Libcap
# LIBCAP_DEFINITIONS - Compiler switches required for using Libcap
# Use pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
find_package(PkgConfig)
pkg_check_modules(PC_LIBCAP libcap)
set(LIBCAP_DEFINITIONS ${PC_LIBCAP_CFLAGS})
find_path(LIBCAP_INCLUDE_DIRS sys/capability.h PATHS ${PC_LIBCAP_INCLUDEDIR} ${PC_LIBCAP_INCLUDE_DIRS})
find_library(LIBCAP_LIBRARIES NAMES libcap.so PATHS ${PC_LIBCAP_LIBDIR} ${PC_LIBCAP_LIBRARY_DIRS})
mark_as_advanced(LIBCAP_INCLUDE_DIRS LIBCAP_LIBRARIES)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBCAP REQUIRED_VARS LIBCAP_LIBRARIES LIBCAP_INCLUDE_DIRS)
+21
View File
@@ -0,0 +1,21 @@
# - Try to find Libdrm
# Once done this will define
#
# LIBDRM_FOUND - system has Libdrm
# LIBDRM_INCLUDE_DIRS - the Libdrm include directory
# LIBDRM_LIBRARIES - the libraries needed to use Libdrm
# LIBDRM_DEFINITIONS - Compiler switches required for using Libdrm
# Use pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
find_package(PkgConfig)
pkg_check_modules(PC_LIBDRM libdrm)
set(LIBDRM_DEFINITIONS ${PC_LIBDRM_CFLAGS})
find_path(LIBDRM_INCLUDE_DIRS drm.h PATHS ${PC_LIBDRM_INCLUDEDIR} ${PC_LIBDRM_INCLUDE_DIRS} PATH_SUFFIXES libdrm)
find_library(LIBDRM_LIBRARIES NAMES libdrm.so PATHS ${PC_LIBDRM_LIBDIR} ${PC_LIBDRM_LIBRARY_DIRS})
mark_as_advanced(LIBDRM_INCLUDE_DIRS LIBDRM_LIBRARIES)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBDRM REQUIRED_VARS LIBDRM_LIBRARIES LIBDRM_INCLUDE_DIRS)
+70
View File
@@ -0,0 +1,70 @@
# - Try to find Libva
# This module defines the following variables:
#
# * LIBVA_FOUND - The component was found
# * LIBVA_INCLUDE_DIRS - The component include directory
# * LIBVA_LIBRARIES - The component library Libva
# * LIBVA_DRM_LIBRARIES - The component library Libva DRM
# Use pkg-config to get the directories and then use these values in the
# find_path() and find_library() calls
# cmake-format: on
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(_LIBVA libva)
pkg_check_modules(_LIBVA_DRM libva-drm)
endif()
find_path(
LIBVA_INCLUDE_DIR
NAMES va/va.h va/va_drm.h
HINTS ${_LIBVA_INCLUDE_DIRS}
PATHS /usr/include /usr/local/include /opt/local/include)
find_library(
LIBVA_LIB
NAMES ${_LIBVA_LIBRARIES} libva
HINTS ${_LIBVA_LIBRARY_DIRS}
PATHS /usr/lib /usr/local/lib /opt/local/lib)
find_library(
LIBVA_DRM_LIB
NAMES ${_LIBVA_DRM_LIBRARIES} libva-drm
HINTS ${_LIBVA_DRM_LIBRARY_DIRS}
PATHS /usr/lib /usr/local/lib /opt/local/lib)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libva REQUIRED_VARS LIBVA_INCLUDE_DIR LIBVA_LIB LIBVA_DRM_LIB)
mark_as_advanced(LIBVA_INCLUDE_DIR LIBVA_LIB LIBVA_DRM_LIB)
if(LIBVA_FOUND)
set(LIBVA_INCLUDE_DIRS ${LIBVA_INCLUDE_DIR})
set(LIBVA_LIBRARIES ${LIBVA_LIB})
set(LIBVA_DRM_LIBRARIES ${LIBVA_DRM_LIB})
if(NOT TARGET Libva::va)
if(IS_ABSOLUTE "${LIBVA_LIBRARIES}")
add_library(Libva::va UNKNOWN IMPORTED)
set_target_properties(Libva::va PROPERTIES IMPORTED_LOCATION "${LIBVA_LIBRARIES}")
else()
add_library(Libva::va INTERFACE IMPORTED)
set_target_properties(Libva::va PROPERTIES IMPORTED_LIBNAME "${LIBVA_LIBRARIES}")
endif()
set_target_properties(Libva::va PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBVA_INCLUDE_DIRS}")
endif()
if(NOT TARGET Libva::drm)
if(IS_ABSOLUTE "${LIBVA_DRM_LIBRARIES}")
add_library(Libva::drm UNKNOWN IMPORTED)
set_target_properties(Libva::drm PROPERTIES IMPORTED_LOCATION "${LIBVA_DRM_LIBRARIES}")
else()
add_library(Libva::drm INTERFACE IMPORTED)
set_target_properties(Libva::drm PROPERTIES IMPORTED_LIBNAME "${LIBVA_DRM_LIBRARIES}")
endif()
set_target_properties(Libva::drm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBVA_INCLUDE_DIRS}")
endif()
endif()
+34
View File
@@ -0,0 +1,34 @@
# - Try to find Systemd
# Once done this will define
#
# SYSTEMD_FOUND - system has systemd
# SYSTEMD_USER_UNIT_INSTALL_DIR - the systemd system unit install directory
# SYSTEMD_SYSTEM_UNIT_INSTALL_DIR - the systemd user unit install directory
IF (NOT WIN32)
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(SYSTEMD "systemd")
endif()
if (SYSTEMD_FOUND)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE}
--variable=systemduserunitdir systemd
OUTPUT_VARIABLE SYSTEMD_USER_UNIT_INSTALL_DIR)
string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_USER_UNIT_INSTALL_DIR
"${SYSTEMD_USER_UNIT_INSTALL_DIR}")
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE}
--variable=systemdsystemunitdir systemd
OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_INSTALL_DIR)
string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_SYSTEM_UNIT_INSTALL_DIR
"${SYSTEMD_SYSTEM_UNIT_INSTALL_DIR}")
mark_as_advanced(SYSTEMD_USER_UNIT_INSTALL_DIR SYSTEMD_SYSTEM_UNIT_INSTALL_DIR)
endif ()
ENDIF ()
+28
View File
@@ -0,0 +1,28 @@
# - Try to find Udev
# Once done this will define
#
# UDEV_FOUND - system has udev
# UDEV_RULES_INSTALL_DIR - the udev rules install directory
IF (NOT WIN32)
find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(UDEV "udev")
endif()
if (UDEV_FOUND)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE}
--variable=udevdir udev
OUTPUT_VARIABLE UDEV_RULES_INSTALL_DIR)
string(REGEX REPLACE "[ \t\n]+" "" UDEV_RULES_INSTALL_DIR
"${UDEV_RULES_INSTALL_DIR}")
set(UDEV_RULES_INSTALL_DIR "${UDEV_RULES_INSTALL_DIR}/rules.d")
mark_as_advanced(UDEV_RULES_INSTALL_DIR)
endif ()
ENDIF ()
+80
View File
@@ -0,0 +1,80 @@
# Try to find Wayland on a Unix system
#
# This will define:
#
# WAYLAND_FOUND - True if Wayland is found
# WAYLAND_LIBRARIES - Link these to use Wayland
# WAYLAND_INCLUDE_DIRS - Include directory for Wayland
# WAYLAND_DEFINITIONS - Compiler flags for using Wayland
#
# In addition the following more fine grained variables will be defined:
#
# Wayland_Client_FOUND WAYLAND_CLIENT_INCLUDE_DIRS WAYLAND_CLIENT_LIBRARIES
# Wayland_Server_FOUND WAYLAND_SERVER_INCLUDE_DIRS WAYLAND_SERVER_LIBRARIES
# Wayland_EGL_FOUND WAYLAND_EGL_INCLUDE_DIRS WAYLAND_EGL_LIBRARIES
# Wayland_Cursor_FOUND WAYLAND_CURSOR_INCLUDE_DIRS WAYLAND_CURSOR_LIBRARIES
#
# Copyright (c) 2013 Martin Gräßlin <mgraesslin@kde.org>
# 2020 Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
IF (NOT WIN32)
# Use pkg-config to get the directories and then use these values
# in the find_path() and find_library() calls
find_package(PkgConfig)
PKG_CHECK_MODULES(PKG_WAYLAND QUIET wayland-client wayland-server wayland-egl wayland-cursor)
set(WAYLAND_DEFINITIONS ${PKG_WAYLAND_CFLAGS})
find_path(WAYLAND_CLIENT_INCLUDE_DIRS NAMES wayland-client.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
find_library(WAYLAND_CLIENT_LIBRARIES NAMES wayland-client HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
if(WAYLAND_CLIENT_INCLUDE_DIRS AND WAYLAND_CLIENT_LIBRARIES)
set(Wayland_Client_FOUND TRUE) # cmake-lint: disable=C0103
else()
set(Wayland_Client_FOUND FALSE) # cmake-lint: disable=C0103
endif()
mark_as_advanced(WAYLAND_CLIENT_INCLUDE_DIRS WAYLAND_CLIENT_LIBRARIES)
find_path(WAYLAND_CURSOR_INCLUDE_DIRS NAMES wayland-cursor.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
find_library(WAYLAND_CURSOR_LIBRARIES NAMES wayland-cursor HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
if(WAYLAND_CURSOR_INCLUDE_DIRS AND WAYLAND_CURSOR_LIBRARIES)
set(Wayland_Cursor_FOUND TRUE) # cmake-lint: disable=C0103
else()
set(Wayland_Cursor_FOUND FALSE) # cmake-lint: disable=C0103
endif()
mark_as_advanced(WAYLAND_CURSOR_INCLUDE_DIRS WAYLAND_CURSOR_LIBRARIES)
find_path(WAYLAND_EGL_INCLUDE_DIRS NAMES wayland-egl.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
find_library(WAYLAND_EGL_LIBRARIES NAMES wayland-egl HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
if(WAYLAND_EGL_INCLUDE_DIRS AND WAYLAND_EGL_LIBRARIES)
set(Wayland_EGL_FOUND TRUE) # cmake-lint: disable=C0103
else()
set(Wayland_EGL_FOUND FALSE) # cmake-lint: disable=C0103
endif()
mark_as_advanced(WAYLAND_EGL_INCLUDE_DIRS WAYLAND_EGL_LIBRARIES)
find_path(WAYLAND_SERVER_INCLUDE_DIRS NAMES wayland-server.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS})
find_library(WAYLAND_SERVER_LIBRARIES NAMES wayland-server HINTS ${PKG_WAYLAND_LIBRARY_DIRS})
if(WAYLAND_SERVER_INCLUDE_DIRS AND WAYLAND_SERVER_LIBRARIES)
set(Wayland_Server_FOUND TRUE) # cmake-lint: disable=C0103
else()
set(Wayland_Server_FOUND FALSE) # cmake-lint: disable=C0103
endif()
mark_as_advanced(WAYLAND_SERVER_INCLUDE_DIRS WAYLAND_SERVER_LIBRARIES)
set(WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIRS} ${WAYLAND_SERVER_INCLUDE_DIRS}
${WAYLAND_EGL_INCLUDE_DIRS} ${WAYLAND_CURSOR_INCLUDE_DIRS})
set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARIES} ${WAYLAND_SERVER_LIBRARIES}
${WAYLAND_EGL_LIBRARIES} ${WAYLAND_CURSOR_LIBRARIES})
mark_as_advanced(WAYLAND_INCLUDE_DIRS WAYLAND_LIBRARIES)
list(REMOVE_DUPLICATES WAYLAND_INCLUDE_DIRS)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Wayland REQUIRED_VARS WAYLAND_LIBRARIES WAYLAND_INCLUDE_DIRS HANDLE_COMPONENTS)
ENDIF ()
+157
View File
@@ -0,0 +1,157 @@
# common compile definitions
# this file will also load platform specific definitions
list(APPEND SUNSHINE_COMPILE_OPTIONS -Wall -Wno-sign-compare)
# Wall - enable all warnings
# Werror - treat warnings as errors
# Wno-maybe-uninitialized/Wno-uninitialized - disable warnings for maybe uninitialized variables
# Wno-sign-compare - disable warnings for signed/unsigned comparisons
# Wno-restrict - disable warnings for memory overlap
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# GCC specific compile options
# GCC 12 and higher will complain about maybe-uninitialized
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12)
list(APPEND SUNSHINE_COMPILE_OPTIONS -Wno-maybe-uninitialized)
# Disable the bogus warning that may prevent compilation (only for GCC 12).
# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105651.
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13)
list(APPEND SUNSHINE_COMPILE_OPTIONS -Wno-restrict)
endif()
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
# Clang specific compile options
# Clang doesn't actually complain about this this, so disabling for now
# list(APPEND SUNSHINE_COMPILE_OPTIONS -Wno-uninitialized)
endif()
if(BUILD_WERROR)
list(APPEND SUNSHINE_COMPILE_OPTIONS -Werror)
endif()
# setup assets directory
if(NOT SUNSHINE_ASSETS_DIR)
set(SUNSHINE_ASSETS_DIR "assets")
endif()
# platform specific compile definitions
if(WIN32)
include(${CMAKE_MODULE_PATH}/compile_definitions/windows.cmake)
elseif(UNIX)
include(${CMAKE_MODULE_PATH}/compile_definitions/unix.cmake)
if(APPLE)
include(${CMAKE_MODULE_PATH}/compile_definitions/macos.cmake)
else()
include(${CMAKE_MODULE_PATH}/compile_definitions/linux.cmake)
endif()
endif()
include_directories(BEFORE SYSTEM "${CMAKE_SOURCE_DIR}/third-party/nv-codec-headers/include")
file(GLOB NVENC_SOURCES CONFIGURE_DEPENDS "src/nvenc/*.cpp" "src/nvenc/*.h")
list(APPEND PLATFORM_TARGET_FILES ${NVENC_SOURCES})
configure_file("${CMAKE_SOURCE_DIR}/src/version.h.in" version.h @ONLY)
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}") # required for importing version.h
set(SUNSHINE_TARGET_FILES
"${CMAKE_SOURCE_DIR}/third-party/moonlight-common-c/src/Input.h"
"${CMAKE_SOURCE_DIR}/third-party/moonlight-common-c/src/Rtsp.h"
"${CMAKE_SOURCE_DIR}/third-party/moonlight-common-c/src/RtspParser.c"
"${CMAKE_SOURCE_DIR}/third-party/moonlight-common-c/src/Video.h"
"${CMAKE_SOURCE_DIR}/third-party/tray/src/tray.h"
"${CMAKE_SOURCE_DIR}/src/upnp.cpp"
"${CMAKE_SOURCE_DIR}/src/upnp.h"
"${CMAKE_SOURCE_DIR}/src/cbs.cpp"
"${CMAKE_SOURCE_DIR}/src/utility.h"
"${CMAKE_SOURCE_DIR}/src/uuid.h"
"${CMAKE_SOURCE_DIR}/src/config.h"
"${CMAKE_SOURCE_DIR}/src/config.cpp"
"${CMAKE_SOURCE_DIR}/src/display_device.h"
"${CMAKE_SOURCE_DIR}/src/display_device.cpp"
"${CMAKE_SOURCE_DIR}/src/entry_handler.cpp"
"${CMAKE_SOURCE_DIR}/src/entry_handler.h"
"${CMAKE_SOURCE_DIR}/src/file_handler.cpp"
"${CMAKE_SOURCE_DIR}/src/file_handler.h"
"${CMAKE_SOURCE_DIR}/src/globals.cpp"
"${CMAKE_SOURCE_DIR}/src/globals.h"
"${CMAKE_SOURCE_DIR}/src/logging.cpp"
"${CMAKE_SOURCE_DIR}/src/logging.h"
"${CMAKE_SOURCE_DIR}/src/main.cpp"
"${CMAKE_SOURCE_DIR}/src/main.h"
"${CMAKE_SOURCE_DIR}/src/crypto.cpp"
"${CMAKE_SOURCE_DIR}/src/crypto.h"
"${CMAKE_SOURCE_DIR}/src/nvhttp.cpp"
"${CMAKE_SOURCE_DIR}/src/nvhttp.h"
"${CMAKE_SOURCE_DIR}/src/httpcommon.cpp"
"${CMAKE_SOURCE_DIR}/src/httpcommon.h"
"${CMAKE_SOURCE_DIR}/src/confighttp.cpp"
"${CMAKE_SOURCE_DIR}/src/confighttp.h"
"${CMAKE_SOURCE_DIR}/src/rtsp.cpp"
"${CMAKE_SOURCE_DIR}/src/rtsp.h"
"${CMAKE_SOURCE_DIR}/src/stream.cpp"
"${CMAKE_SOURCE_DIR}/src/stream.h"
"${CMAKE_SOURCE_DIR}/src/video.cpp"
"${CMAKE_SOURCE_DIR}/src/video.h"
"${CMAKE_SOURCE_DIR}/src/video_colorspace.cpp"
"${CMAKE_SOURCE_DIR}/src/video_colorspace.h"
"${CMAKE_SOURCE_DIR}/src/input.cpp"
"${CMAKE_SOURCE_DIR}/src/input.h"
"${CMAKE_SOURCE_DIR}/src/audio.cpp"
"${CMAKE_SOURCE_DIR}/src/audio.h"
"${CMAKE_SOURCE_DIR}/src/platform/common.h"
"${CMAKE_SOURCE_DIR}/src/process.cpp"
"${CMAKE_SOURCE_DIR}/src/process.h"
"${CMAKE_SOURCE_DIR}/src/network.cpp"
"${CMAKE_SOURCE_DIR}/src/network.h"
"${CMAKE_SOURCE_DIR}/src/move_by_copy.h"
"${CMAKE_SOURCE_DIR}/src/system_tray.cpp"
"${CMAKE_SOURCE_DIR}/src/system_tray.h"
"${CMAKE_SOURCE_DIR}/src/task_pool.h"
"${CMAKE_SOURCE_DIR}/src/thread_pool.h"
"${CMAKE_SOURCE_DIR}/src/thread_safe.h"
"${CMAKE_SOURCE_DIR}/src/sync.h"
"${CMAKE_SOURCE_DIR}/src/round_robin.h"
"${CMAKE_SOURCE_DIR}/src/stat_trackers.h"
"${CMAKE_SOURCE_DIR}/src/stat_trackers.cpp"
"${CMAKE_SOURCE_DIR}/src/rswrapper.h"
"${CMAKE_SOURCE_DIR}/src/rswrapper.c"
${PLATFORM_TARGET_FILES})
if(NOT SUNSHINE_ASSETS_DIR_DEF)
set(SUNSHINE_ASSETS_DIR_DEF "${SUNSHINE_ASSETS_DIR}")
endif()
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_ASSETS_DIR="${SUNSHINE_ASSETS_DIR_DEF}")
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_TRAY=${SUNSHINE_TRAY})
# Publisher metadata
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_PUBLISHER_NAME="${SUNSHINE_PUBLISHER_NAME}")
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_PUBLISHER_WEBSITE="${SUNSHINE_PUBLISHER_WEBSITE}")
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_PUBLISHER_ISSUE_URL="${SUNSHINE_PUBLISHER_ISSUE_URL}")
include_directories(BEFORE "${CMAKE_SOURCE_DIR}")
include_directories(
BEFORE
SYSTEM
"${CMAKE_SOURCE_DIR}/third-party"
"${CMAKE_SOURCE_DIR}/third-party/moonlight-common-c/enet/include"
"${CMAKE_SOURCE_DIR}/third-party/nanors"
"${CMAKE_SOURCE_DIR}/third-party/nanors/deps/obl"
${FFMPEG_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS} # has to be the last, or we get runtime error on macOS ffmpeg encoder
)
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
${MINIUPNP_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
enet
libdisplaydevice::display_device
nlohmann_json::nlohmann_json
opus
${FFMPEG_LIBRARIES}
${Boost_LIBRARIES}
${OPENSSL_LIBRARIES}
${PLATFORM_LIBRARIES})
+259
View File
@@ -0,0 +1,259 @@
# linux specific compile definitions
add_compile_definitions(SUNSHINE_PLATFORM="linux")
# AppImage
if(${SUNSHINE_BUILD_APPIMAGE})
# use relative assets path for AppImage
string(REPLACE "${CMAKE_INSTALL_PREFIX}" ".${CMAKE_INSTALL_PREFIX}" SUNSHINE_ASSETS_DIR_DEF ${SUNSHINE_ASSETS_DIR})
endif()
# cuda
set(CUDA_FOUND OFF)
if(${SUNSHINE_ENABLE_CUDA})
include(CheckLanguage)
check_language(CUDA)
if(CMAKE_CUDA_COMPILER)
set(CUDA_FOUND ON)
enable_language(CUDA)
message(STATUS "CUDA Compiler Version: ${CMAKE_CUDA_COMPILER_VERSION}")
set(CMAKE_CUDA_ARCHITECTURES "")
# https://tech.amikelive.com/node-930/cuda-compatibility-of-nvidia-display-gpu-drivers/
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 6.5)
list(APPEND CMAKE_CUDA_ARCHITECTURES 10)
elseif(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 6.5)
list(APPEND CMAKE_CUDA_ARCHITECTURES 50 52)
endif()
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 7.0)
list(APPEND CMAKE_CUDA_ARCHITECTURES 11)
elseif(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER 7.6)
list(APPEND CMAKE_CUDA_ARCHITECTURES 60 61 62)
endif()
# https://docs.nvidia.com/cuda/archive/9.2/cuda-compiler-driver-nvcc/index.html
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 9.0)
list(APPEND CMAKE_CUDA_ARCHITECTURES 20)
elseif(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)
list(APPEND CMAKE_CUDA_ARCHITECTURES 70)
endif()
# https://docs.nvidia.com/cuda/archive/10.0/cuda-compiler-driver-nvcc/index.html
if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)
list(APPEND CMAKE_CUDA_ARCHITECTURES 72 75)
endif()
# https://docs.nvidia.com/cuda/archive/11.0/cuda-compiler-driver-nvcc/index.html
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 11.0)
list(APPEND CMAKE_CUDA_ARCHITECTURES 30)
elseif(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0)
list(APPEND CMAKE_CUDA_ARCHITECTURES 80)
endif()
# https://docs.nvidia.com/cuda/archive/11.8.0/cuda-compiler-driver-nvcc/index.html
if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 11.8)
list(APPEND CMAKE_CUDA_ARCHITECTURES 86 87 89 90)
endif()
if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 12.0)
list(APPEND CMAKE_CUDA_ARCHITECTURES 35)
endif()
# sort the architectures
list(SORT CMAKE_CUDA_ARCHITECTURES COMPARE NATURAL)
# message(STATUS "CUDA NVCC Flags: ${CUDA_NVCC_FLAGS}")
message(STATUS "CUDA Architectures: ${CMAKE_CUDA_ARCHITECTURES}")
elseif(${CUDA_FAIL_ON_MISSING})
message(FATAL_ERROR
"CUDA not found.
If this is intentional, set '-DSUNSHINE_ENABLE_CUDA=OFF' or '-DCUDA_FAIL_ON_MISSING=OFF'"
)
endif()
endif()
if(CUDA_FOUND)
include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/third-party/nvfbc")
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/src/platform/linux/cuda.h"
"${CMAKE_SOURCE_DIR}/src/platform/linux/cuda.cu"
"${CMAKE_SOURCE_DIR}/src/platform/linux/cuda.cpp"
"${CMAKE_SOURCE_DIR}/third-party/nvfbc/NvFBC.h")
add_compile_definitions(SUNSHINE_BUILD_CUDA)
endif()
# drm
if(${SUNSHINE_ENABLE_DRM})
find_package(LIBDRM REQUIRED)
find_package(LIBCAP REQUIRED)
else()
set(LIBDRM_FOUND OFF)
set(LIBCAP_FOUND OFF)
endif()
if(LIBDRM_FOUND AND LIBCAP_FOUND)
add_compile_definitions(SUNSHINE_BUILD_DRM)
include_directories(SYSTEM ${LIBDRM_INCLUDE_DIRS} ${LIBCAP_INCLUDE_DIRS})
list(APPEND PLATFORM_LIBRARIES ${LIBDRM_LIBRARIES} ${LIBCAP_LIBRARIES})
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/src/platform/linux/kmsgrab.cpp")
list(APPEND SUNSHINE_DEFINITIONS EGL_NO_X11=1)
endif()
# evdev
include(dependencies/libevdev_Sunshine)
# vaapi
if(${SUNSHINE_ENABLE_VAAPI})
find_package(Libva REQUIRED)
else()
set(LIBVA_FOUND OFF)
endif()
if(LIBVA_FOUND)
add_compile_definitions(SUNSHINE_BUILD_VAAPI)
include_directories(SYSTEM ${LIBVA_INCLUDE_DIR})
list(APPEND PLATFORM_LIBRARIES ${LIBVA_LIBRARIES} ${LIBVA_DRM_LIBRARIES})
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/src/platform/linux/vaapi.h"
"${CMAKE_SOURCE_DIR}/src/platform/linux/vaapi.cpp")
endif()
# wayland
if(${SUNSHINE_ENABLE_WAYLAND})
find_package(Wayland REQUIRED)
else()
set(WAYLAND_FOUND OFF)
endif()
if(WAYLAND_FOUND)
add_compile_definitions(SUNSHINE_BUILD_WAYLAND)
if(NOT SUNSHINE_SYSTEM_WAYLAND_PROTOCOLS)
set(WAYLAND_PROTOCOLS_DIR "${CMAKE_SOURCE_DIR}/third-party/wayland-protocols")
else()
pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
pkg_check_modules(WAYLAND_PROTOCOLS wayland-protocols REQUIRED)
endif()
GEN_WAYLAND("${WAYLAND_PROTOCOLS_DIR}" "unstable/xdg-output" xdg-output-unstable-v1)
GEN_WAYLAND("${CMAKE_SOURCE_DIR}/third-party/wlr-protocols" "unstable" wlr-export-dmabuf-unstable-v1)
include_directories(
SYSTEM
${WAYLAND_INCLUDE_DIRS}
${CMAKE_BINARY_DIR}/generated-src
)
list(APPEND PLATFORM_LIBRARIES ${WAYLAND_LIBRARIES})
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/src/platform/linux/wlgrab.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/linux/wayland.h"
"${CMAKE_SOURCE_DIR}/src/platform/linux/wayland.cpp")
endif()
# x11
if(${SUNSHINE_ENABLE_X11})
find_package(X11 REQUIRED)
else()
set(X11_FOUND OFF)
endif()
if(X11_FOUND)
add_compile_definitions(SUNSHINE_BUILD_X11)
include_directories(SYSTEM ${X11_INCLUDE_DIR})
list(APPEND PLATFORM_LIBRARIES ${X11_LIBRARIES})
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/src/platform/linux/x11grab.h"
"${CMAKE_SOURCE_DIR}/src/platform/linux/x11grab.cpp")
endif()
if(NOT ${CUDA_FOUND}
AND NOT ${WAYLAND_FOUND}
AND NOT ${X11_FOUND}
AND NOT (${LIBDRM_FOUND} AND ${LIBCAP_FOUND})
AND NOT ${LIBVA_FOUND})
message(FATAL_ERROR "Couldn't find either cuda, wayland, x11, (libdrm and libcap), or libva")
endif()
# tray icon
if(${SUNSHINE_ENABLE_TRAY})
pkg_check_modules(APPINDICATOR ayatana-appindicator3-0.1)
if(APPINDICATOR_FOUND)
list(APPEND SUNSHINE_DEFINITIONS TRAY_AYATANA_APPINDICATOR=1)
else()
pkg_check_modules(APPINDICATOR appindicator3-0.1)
if(APPINDICATOR_FOUND)
list(APPEND SUNSHINE_DEFINITIONS TRAY_LEGACY_APPINDICATOR=1)
endif ()
endif()
pkg_check_modules(LIBNOTIFY libnotify)
if(NOT APPINDICATOR_FOUND OR NOT LIBNOTIFY_FOUND)
message(STATUS "APPINDICATOR_FOUND: ${APPINDICATOR_FOUND}")
message(STATUS "LIBNOTIFY_FOUND: ${LIBNOTIFY_FOUND}")
message(FATAL_ERROR "Couldn't find either appindicator or libnotify")
else()
include_directories(SYSTEM ${APPINDICATOR_INCLUDE_DIRS} ${LIBNOTIFY_INCLUDE_DIRS})
link_directories(${APPINDICATOR_LIBRARY_DIRS} ${LIBNOTIFY_LIBRARY_DIRS})
list(APPEND PLATFORM_TARGET_FILES "${CMAKE_SOURCE_DIR}/third-party/tray/src/tray_linux.c")
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES ${APPINDICATOR_LIBRARIES} ${LIBNOTIFY_LIBRARIES})
endif()
# flatpak icons must be prefixed with the app id or they will not be included in the flatpak
if(${SUNSHINE_BUILD_FLATPAK})
set(SUNSHINE_TRAY_PREFIX "${PROJECT_FQDN}")
else()
set(SUNSHINE_TRAY_PREFIX "sunshine")
endif()
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_TRAY_PREFIX="${SUNSHINE_TRAY_PREFIX}")
else()
set(SUNSHINE_TRAY 0)
message(STATUS "Tray icon disabled")
endif()
# These need to be set before adding the inputtino subdirectory in order for them to be picked up
set(LIBEVDEV_CUSTOM_INCLUDE_DIR "${EVDEV_INCLUDE_DIR}")
set(LIBEVDEV_CUSTOM_LIBRARY "${EVDEV_LIBRARY}")
add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/inputtino")
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES inputtino::libinputtino)
file(GLOB_RECURSE INPUTTINO_SOURCES
${CMAKE_SOURCE_DIR}/src/platform/linux/input/inputtino*.h
${CMAKE_SOURCE_DIR}/src/platform/linux/input/inputtino*.cpp)
list(APPEND PLATFORM_TARGET_FILES ${INPUTTINO_SOURCES})
# build libevdev before the libinputtino target
if(EXTERNAL_PROJECT_LIBEVDEV_USED)
add_dependencies(libinputtino libevdev)
endif()
# AppImage and Flatpak
if (${SUNSHINE_BUILD_APPIMAGE})
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_BUILD_APPIMAGE=1)
endif ()
if (${SUNSHINE_BUILD_FLATPAK})
list(APPEND SUNSHINE_DEFINITIONS SUNSHINE_BUILD_FLATPAK=1)
endif ()
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/src/platform/linux/publish.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/linux/graphics.h"
"${CMAKE_SOURCE_DIR}/src/platform/linux/graphics.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/linux/misc.h"
"${CMAKE_SOURCE_DIR}/src/platform/linux/misc.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/linux/audio.cpp"
"${CMAKE_SOURCE_DIR}/third-party/glad/src/egl.c"
"${CMAKE_SOURCE_DIR}/third-party/glad/src/gl.c"
"${CMAKE_SOURCE_DIR}/third-party/glad/include/EGL/eglplatform.h"
"${CMAKE_SOURCE_DIR}/third-party/glad/include/KHR/khrplatform.h"
"${CMAKE_SOURCE_DIR}/third-party/glad/include/glad/gl.h"
"${CMAKE_SOURCE_DIR}/third-party/glad/include/glad/egl.h")
list(APPEND PLATFORM_LIBRARIES
dl
pulse
pulse-simple)
include_directories(
SYSTEM
"${CMAKE_SOURCE_DIR}/third-party/glad/include")
+57
View File
@@ -0,0 +1,57 @@
# macos specific compile definitions
add_compile_definitions(SUNSHINE_PLATFORM="macos")
set(MACOS_LINK_DIRECTORIES
/opt/homebrew/lib
/opt/local/lib
/usr/local/lib)
foreach(dir ${MACOS_LINK_DIRECTORIES})
if(EXISTS ${dir})
link_directories(${dir})
endif()
endforeach()
if(NOT BOOST_USE_STATIC AND NOT FETCH_CONTENT_BOOST_USED)
ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK)
endif()
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
${APP_KIT_LIBRARY}
${APP_SERVICES_LIBRARY}
${AV_FOUNDATION_LIBRARY}
${CORE_MEDIA_LIBRARY}
${CORE_VIDEO_LIBRARY}
${FOUNDATION_LIBRARY}
${VIDEO_TOOLBOX_LIBRARY})
set(APPLE_PLIST_FILE "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/Info.plist")
# todo - tray is not working on macos
set(SUNSHINE_TRAY 0)
set(PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/src/platform/macos/av_audio.h"
"${CMAKE_SOURCE_DIR}/src/platform/macos/av_audio.m"
"${CMAKE_SOURCE_DIR}/src/platform/macos/av_img_t.h"
"${CMAKE_SOURCE_DIR}/src/platform/macos/av_video.h"
"${CMAKE_SOURCE_DIR}/src/platform/macos/av_video.m"
"${CMAKE_SOURCE_DIR}/src/platform/macos/display.mm"
"${CMAKE_SOURCE_DIR}/src/platform/macos/input.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/macos/microphone.mm"
"${CMAKE_SOURCE_DIR}/src/platform/macos/misc.mm"
"${CMAKE_SOURCE_DIR}/src/platform/macos/misc.h"
"${CMAKE_SOURCE_DIR}/src/platform/macos/nv12_zero_device.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/macos/nv12_zero_device.h"
"${CMAKE_SOURCE_DIR}/src/platform/macos/publish.cpp"
"${CMAKE_SOURCE_DIR}/third-party/TPCircularBuffer/TPCircularBuffer.c"
"${CMAKE_SOURCE_DIR}/third-party/TPCircularBuffer/TPCircularBuffer.h"
${APPLE_PLIST_FILE})
if(SUNSHINE_ENABLE_TRAY)
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
${COCOA})
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/third-party/tray/src/tray_darwin.m")
endif()
+10
View File
@@ -0,0 +1,10 @@
# unix specific compile definitions
# put anything here that applies to both linux and macos
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
${CURL_LIBRARIES})
# add install prefix to assets path if not already there
if(NOT SUNSHINE_ASSETS_DIR MATCHES "^${CMAKE_INSTALL_PREFIX}")
set(SUNSHINE_ASSETS_DIR "${CMAKE_INSTALL_PREFIX}/${SUNSHINE_ASSETS_DIR}")
endif()
+91
View File
@@ -0,0 +1,91 @@
# windows specific compile definitions
add_compile_definitions(SUNSHINE_PLATFORM="windows")
enable_language(RC)
set(CMAKE_RC_COMPILER windres)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
# gcc complains about misleading indentation in some mingw includes
list(APPEND SUNSHINE_COMPILE_OPTIONS -Wno-misleading-indentation)
# see gcc bug 98723
add_definitions(-DUSE_BOOST_REGEX)
# curl
add_definitions(-DCURL_STATICLIB)
include_directories(SYSTEM ${CURL_STATIC_INCLUDE_DIRS})
link_directories(${CURL_STATIC_LIBRARY_DIRS})
# miniupnpc
add_definitions(-DMINIUPNP_STATICLIB)
# extra tools/binaries for audio/display devices
add_subdirectory(tools) # todo - this is temporary, only tools for Windows are needed, for now
# nvidia
include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/third-party/nvapi-open-source-sdk")
file(GLOB NVPREFS_FILES CONFIGURE_DEPENDS
"${CMAKE_SOURCE_DIR}/third-party/nvapi-open-source-sdk/*.h"
"${CMAKE_SOURCE_DIR}/src/platform/windows/nvprefs/*.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/nvprefs/*.h")
# vigem
include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/third-party/ViGEmClient/include")
# sunshine icon
if(NOT DEFINED SUNSHINE_ICON_PATH)
set(SUNSHINE_ICON_PATH "${CMAKE_SOURCE_DIR}/sunshine.ico")
endif()
configure_file("${CMAKE_SOURCE_DIR}/src/platform/windows/windows.rs.in" windows.rc @ONLY)
set(PLATFORM_TARGET_FILES
"${CMAKE_CURRENT_BINARY_DIR}/windows.rc"
"${CMAKE_SOURCE_DIR}/src/platform/windows/publish.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/misc.h"
"${CMAKE_SOURCE_DIR}/src/platform/windows/misc.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/input.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/display.h"
"${CMAKE_SOURCE_DIR}/src/platform/windows/display_base.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/display_vram.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/display_ram.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/display_wgc.cpp"
"${CMAKE_SOURCE_DIR}/src/platform/windows/audio.cpp"
"${CMAKE_SOURCE_DIR}/third-party/ViGEmClient/src/ViGEmClient.cpp"
"${CMAKE_SOURCE_DIR}/third-party/ViGEmClient/include/ViGEm/Client.h"
"${CMAKE_SOURCE_DIR}/third-party/ViGEmClient/include/ViGEm/Common.h"
"${CMAKE_SOURCE_DIR}/third-party/ViGEmClient/include/ViGEm/Util.h"
"${CMAKE_SOURCE_DIR}/third-party/ViGEmClient/include/ViGEm/km/BusShared.h"
${NVPREFS_FILES})
set(OPENSSL_LIBRARIES
libssl.a
libcrypto.a)
list(PREPEND PLATFORM_LIBRARIES
${CURL_STATIC_LIBRARIES}
avrt
d3d11
D3DCompiler
dwmapi
dxgi
iphlpapi
ksuser
libssp.a
libstdc++.a
libwinpthread.a
minhook::minhook
ntdll
setupapi
shlwapi
synchronization.lib
userenv
ws2_32
wsock32
)
if(SUNSHINE_ENABLE_TRAY)
list(APPEND PLATFORM_TARGET_FILES
"${CMAKE_SOURCE_DIR}/third-party/tray/src/tray_windows.c")
endif()
+89
View File
@@ -0,0 +1,89 @@
#
# Loads the boost library giving the priority to the system package first, with a fallback to FetchContent.
#
include_guard(GLOBAL)
set(BOOST_VERSION 1.86)
set(BOOST_COMPONENTS
filesystem
locale
log
program_options
system) # system is not used by Sunshine, but by Simple-Web-Server, added here for convenience
if(BOOST_USE_STATIC)
set(Boost_USE_STATIC_LIBS ON) # cmake-lint: disable=C0103
endif()
find_package(Boost CONFIG ${BOOST_VERSION} COMPONENTS ${BOOST_COMPONENTS})
if(NOT Boost_FOUND)
message(STATUS "Boost v${BOOST_VERSION}.x package not found in the system. Falling back to FetchContent.")
include(FetchContent)
# Avoid warning about DOWNLOAD_EXTRACT_TIMESTAMP in CMake 3.24:
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
cmake_policy(SET CMP0135 NEW)
endif()
# more components required for compiling boost targets
list(APPEND BOOST_COMPONENTS
asio
crc
format
process
property_tree)
set(BOOST_ENABLE_CMAKE ON)
# Limit boost to the required libraries only
set(BOOST_INCLUDE_LIBRARIES
${BOOST_COMPONENTS})
set(BOOST_URL
"https://github.com/boostorg/boost/releases/download/boost-1.86.0/boost-1.86.0-cmake.tar.xz")
set(BOOST_HASH
"MD5=D02759931CEDC02ADED80402906C5EB6")
if(CMAKE_VERSION VERSION_LESS "3.24.0")
FetchContent_Declare(
Boost
URL ${BOOST_URL}
URL_HASH ${BOOST_HASH}
)
elseif(APPLE AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.25.0")
# add SYSTEM to FetchContent_Declare, this fails on debian bookworm
FetchContent_Declare(
Boost
URL ${BOOST_URL}
URL_HASH ${BOOST_HASH}
SYSTEM # requires CMake 3.25+
OVERRIDE_FIND_PACKAGE # requires CMake 3.24+, but we have a macro to handle it for other versions
)
elseif(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
FetchContent_Declare(
Boost
URL ${BOOST_URL}
URL_HASH ${BOOST_HASH}
OVERRIDE_FIND_PACKAGE # requires CMake 3.24+, but we have a macro to handle it for other versions
)
endif()
FetchContent_MakeAvailable(Boost)
set(FETCH_CONTENT_BOOST_USED TRUE)
set(Boost_FOUND TRUE) # cmake-lint: disable=C0103
set(Boost_INCLUDE_DIRS # cmake-lint: disable=C0103
"$<BUILD_INTERFACE:${Boost_SOURCE_DIR}/libs/headers/include>;$<INSTALL_INTERFACE:include/boost-1_85>")
if(WIN32)
# Windows build is failing to create .h file in this directory
file(MAKE_DIRECTORY ${Boost_BINARY_DIR}/libs/log/src/windows)
endif()
set(Boost_LIBRARIES "") # cmake-lint: disable=C0103
foreach(component ${BOOST_COMPONENTS})
list(APPEND Boost_LIBRARIES "Boost::${component}")
endforeach()
endif()
message(STATUS "Boost include dirs: ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost libraries: ${Boost_LIBRARIES}")
+85
View File
@@ -0,0 +1,85 @@
# load common dependencies
# this file will also load platform specific dependencies
# boost, this should be before Simple-Web-Server as it also depends on boost
include(dependencies/Boost_Sunshine)
# submodules
# moonlight common library
set(ENET_NO_INSTALL ON CACHE BOOL "Don't install any libraries built for enet")
add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/moonlight-common-c/enet")
# web server
add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/Simple-Web-Server")
# libdisplaydevice
add_subdirectory("${CMAKE_SOURCE_DIR}/third-party/libdisplaydevice")
# common dependencies
include("${CMAKE_MODULE_PATH}/dependencies/nlohmann_json.cmake")
find_package(OpenSSL REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(Threads REQUIRED)
pkg_check_modules(CURL REQUIRED libcurl)
# miniupnp
pkg_check_modules(MINIUPNP miniupnpc REQUIRED)
include_directories(SYSTEM ${MINIUPNP_INCLUDE_DIRS})
# ffmpeg pre-compiled binaries
if(NOT DEFINED FFMPEG_PREPARED_BINARIES)
if(WIN32)
set(FFMPEG_PLATFORM_LIBRARIES mfplat ole32 strmiids mfuuid vpl)
elseif(UNIX AND NOT APPLE)
set(FFMPEG_PLATFORM_LIBRARIES numa va va-drm va-x11 X11)
endif()
set(FFMPEG_PREPARED_BINARIES
"${CMAKE_SOURCE_DIR}/third-party/build-deps/dist/${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
# check if the directory exists
if(NOT EXISTS "${FFMPEG_PREPARED_BINARIES}")
message(FATAL_ERROR
"FFmpeg pre-compiled binaries not found at ${FFMPEG_PREPARED_BINARIES}. \
Please consider contributing to the LizardByte/build-deps repository. \
Optionally, you can use the FFMPEG_PREPARED_BINARIES option to specify the path to the \
system-installed FFmpeg libraries")
endif()
if(EXISTS "${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a")
set(HDR10_PLUS_LIBRARY
"${FFMPEG_PREPARED_BINARIES}/lib/libhdr10plus.a")
endif()
set(FFMPEG_LIBRARIES
"${FFMPEG_PREPARED_BINARIES}/lib/libavcodec.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libavutil.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libcbs.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libSvtAv1Enc.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libswscale.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libx264.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libx265.a"
${HDR10_PLUS_LIBRARY}
${FFMPEG_PLATFORM_LIBRARIES})
else()
set(FFMPEG_LIBRARIES
"${FFMPEG_PREPARED_BINARIES}/lib/libavcodec.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libavutil.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libcbs.a"
"${FFMPEG_PREPARED_BINARIES}/lib/libswscale.a"
${FFMPEG_PLATFORM_LIBRARIES})
endif()
set(FFMPEG_INCLUDE_DIRS
"${FFMPEG_PREPARED_BINARIES}/include")
# platform specific dependencies
if(WIN32)
include("${CMAKE_MODULE_PATH}/dependencies/windows.cmake")
elseif(UNIX)
include("${CMAKE_MODULE_PATH}/dependencies/unix.cmake")
if(APPLE)
include("${CMAKE_MODULE_PATH}/dependencies/macos.cmake")
else()
include("${CMAKE_MODULE_PATH}/dependencies/linux.cmake")
endif()
endif()
@@ -0,0 +1,47 @@
#
# Loads the libevdev library giving the priority to the system package first, with a fallback to ExternalProject
#
include_guard(GLOBAL)
set(LIBEVDEV_VERSION libevdev-1.13.2)
pkg_check_modules(PC_EVDEV libevdev)
if(PC_EVDEV_FOUND)
find_path(EVDEV_INCLUDE_DIR libevdev/libevdev.h
HINTS ${PC_EVDEV_INCLUDE_DIRS} ${PC_EVDEV_INCLUDEDIR})
find_library(EVDEV_LIBRARY
NAMES evdev libevdev)
else()
include(ExternalProject)
ExternalProject_Add(libevdev
URL http://www.freedesktop.org/software/libevdev/${LIBEVDEV_VERSION}.tar.xz
PREFIX ${LIBEVDEV_VERSION}
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
BUILD_COMMAND "make"
INSTALL_COMMAND ""
)
ExternalProject_Get_Property(libevdev SOURCE_DIR)
message(STATUS "libevdev source dir: ${SOURCE_DIR}")
set(EVDEV_INCLUDE_DIR "${SOURCE_DIR}")
ExternalProject_Get_Property(libevdev BINARY_DIR)
message(STATUS "libevdev binary dir: ${BINARY_DIR}")
set(EVDEV_LIBRARY "${BINARY_DIR}/libevdev/.libs/libevdev.a")
# compile libevdev before sunshine
set(SUNSHINE_TARGET_DEPENDENCIES ${SUNSHINE_TARGET_DEPENDENCIES} libevdev)
set(EXTERNAL_PROJECT_LIBEVDEV_USED TRUE)
endif()
if(EVDEV_INCLUDE_DIR AND EVDEV_LIBRARY)
message(STATUS "Found libevdev library: ${EVDEV_LIBRARY}")
message(STATUS "Found libevdev include directory: ${EVDEV_INCLUDE_DIR}")
include_directories(SYSTEM ${EVDEV_INCLUDE_DIR})
list(APPEND PLATFORM_LIBRARIES ${EVDEV_LIBRARY})
else()
message(FATAL_ERROR "Couldn't find or fetch libevdev")
endif()
+1
View File
@@ -0,0 +1 @@
# linux specific dependencies
+13
View File
@@ -0,0 +1,13 @@
# macos specific dependencies
FIND_LIBRARY(APP_KIT_LIBRARY AppKit)
FIND_LIBRARY(APP_SERVICES_LIBRARY ApplicationServices)
FIND_LIBRARY(AV_FOUNDATION_LIBRARY AVFoundation)
FIND_LIBRARY(CORE_MEDIA_LIBRARY CoreMedia)
FIND_LIBRARY(CORE_VIDEO_LIBRARY CoreVideo)
FIND_LIBRARY(FOUNDATION_LIBRARY Foundation)
FIND_LIBRARY(VIDEO_TOOLBOX_LIBRARY VideoToolbox)
if(SUNSHINE_ENABLE_TRAY)
FIND_LIBRARY(COCOA Cocoa REQUIRED)
endif()
+18
View File
@@ -0,0 +1,18 @@
#
# Loads the nlohmann_json library giving the priority to the system package first, with a fallback to FetchContent.
#
include_guard(GLOBAL)
find_package(nlohmann_json 3.11 QUIET GLOBAL)
if(NOT nlohmann_json_FOUND)
message(STATUS "nlohmann_json v3.11.x package not found in the system. Falling back to FetchContent.")
include(FetchContent)
FetchContent_Declare(
json
URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz
URL_HASH MD5=c23a33f04786d85c29fda8d16b5f0efd
DOWNLOAD_EXTRACT_TIMESTAMP
)
FetchContent_MakeAvailable(json)
endif()
+2
View File
@@ -0,0 +1,2 @@
# unix specific dependencies
# put anything here that applies to both linux and macos
+9
View File
@@ -0,0 +1,9 @@
# windows specific dependencies
# Make sure MinHook is installed
find_library(MINHOOK_LIBRARY libMinHook.a REQUIRED)
find_path(MINHOOK_INCLUDE_DIR MinHook.h PATH_SUFFIXES include REQUIRED)
add_library(minhook::minhook STATIC IMPORTED)
set_property(TARGET minhook::minhook PROPERTY IMPORTED_LOCATION ${MINHOOK_LIBRARY})
target_include_directories(minhook::minhook INTERFACE ${MINHOOK_INCLUDE_DIR})
+29
View File
@@ -0,0 +1,29 @@
# common macros
# this file will also load platform specific macros
# platform specific macros
if(WIN32)
include(${CMAKE_MODULE_PATH}/macros/windows.cmake)
elseif(UNIX)
include(${CMAKE_MODULE_PATH}/macros/unix.cmake)
if(APPLE)
include(${CMAKE_MODULE_PATH}/macros/macos.cmake)
else()
include(${CMAKE_MODULE_PATH}/macros/linux.cmake)
endif()
endif()
# override find_package function
macro(find_package) # cmake-lint: disable=C0103
string(TOLOWER "${ARGV0}" ARGV0_LOWER)
if(
(("${ARGV0_LOWER}" STREQUAL "boost") AND DEFINED FETCH_CONTENT_BOOST_USED) OR
(("${ARGV0_LOWER}" STREQUAL "libevdev") AND DEFINED EXTERNAL_PROJECT_LIBEVDEV_USED)
)
# Do nothing, as the package has already been fetched
else()
# Call the original find_package function
_find_package(${ARGV})
endif()
endmacro()
+31
View File
@@ -0,0 +1,31 @@
# linux specific macros
# GEN_WAYLAND: args = `filename`
macro(GEN_WAYLAND wayland_directory subdirectory filename)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/generated-src)
message("wayland-scanner private-code \
${wayland_directory}/${subdirectory}/${filename}.xml \
${CMAKE_BINARY_DIR}/generated-src/${filename}.c")
message("wayland-scanner client-header \
${wayland_directory}/${subdirectory}/${filename}.xml \
${CMAKE_BINARY_DIR}/generated-src/${filename}.h")
execute_process(
COMMAND wayland-scanner private-code
${wayland_directory}/${subdirectory}/${filename}.xml
${CMAKE_BINARY_DIR}/generated-src/${filename}.c
COMMAND wayland-scanner client-header
${wayland_directory}/${subdirectory}/${filename}.xml
${CMAKE_BINARY_DIR}/generated-src/${filename}.h
RESULT_VARIABLE EXIT_INT
)
if(NOT ${EXIT_INT} EQUAL 0)
message(FATAL_ERROR "wayland-scanner failed")
endif()
list(APPEND PLATFORM_TARGET_FILES
${CMAKE_BINARY_DIR}/generated-src/${filename}.c
${CMAKE_BINARY_DIR}/generated-src/${filename}.h)
endmacro()
+16
View File
@@ -0,0 +1,16 @@
# macos specific macros
# ADD_FRAMEWORK: args = `fwname`, `appname`
macro(ADD_FRAMEWORK fwname appname)
find_library(FRAMEWORK_${fwname}
NAMES ${fwname}
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
PATH_SUFFIXES Frameworks
NO_DEFAULT_PATH)
if( ${FRAMEWORK_${fwname}} STREQUAL FRAMEWORK_${fwname}-NOTFOUND)
MESSAGE(ERROR ": Framework ${fwname} not found")
else()
TARGET_LINK_LIBRARIES(${appname} "${FRAMEWORK_${fwname}}/${fwname}")
MESSAGE(STATUS "Framework ${fwname} found at ${FRAMEWORK_${fwname}}")
endif()
endmacro(ADD_FRAMEWORK)
+2
View File
@@ -0,0 +1,2 @@
# unix specific macros
# put anything here that applies to both linux and macos
+1
View File
@@ -0,0 +1 @@
# windows specific macros
+46
View File
@@ -0,0 +1,46 @@
# common packaging
# common cpack options
set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
set(CPACK_PACKAGE_VENDOR "LizardByte")
string(REGEX REPLACE "^v" "" CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) # remove the v prefix if it exists
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})
set(CPACK_PACKAGE_HOMEPAGE_URL ${CMAKE_PROJECT_HOMEPAGE_URL})
set(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSE)
set(CPACK_PACKAGE_ICON ${PROJECT_SOURCE_DIR}/sunshine.png)
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_STRIP_FILES YES)
# install common assets
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/"
DESTINATION "${SUNSHINE_ASSETS_DIR}"
PATTERN "web" EXCLUDE)
# copy assets to build directory, for running without install
file(GLOB_RECURSE ALL_ASSETS
RELATIVE "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/" "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/*")
list(FILTER ALL_ASSETS EXCLUDE REGEX "^web/.*$") # Filter out the web directory
foreach(asset ${ALL_ASSETS}) # Copy assets to build directory, excluding the web directory
file(COPY "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/${asset}"
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/assets")
endforeach()
# install built vite assets
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/assets/web"
DESTINATION "${SUNSHINE_ASSETS_DIR}")
# platform specific packaging
if(WIN32)
include(${CMAKE_MODULE_PATH}/packaging/windows.cmake)
elseif(UNIX)
include(${CMAKE_MODULE_PATH}/packaging/unix.cmake)
if(APPLE)
include(${CMAKE_MODULE_PATH}/packaging/macos.cmake)
else()
include(${CMAKE_MODULE_PATH}/packaging/linux.cmake)
endif()
endif()
include(CPack)
+161
View File
@@ -0,0 +1,161 @@
# linux specific packaging
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/assets/"
DESTINATION "${SUNSHINE_ASSETS_DIR}")
# copy assets (excluding shaders) to build directory, for running without install
file(COPY "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/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")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.service"
DESTINATION "${SUNSHINE_ASSETS_DIR}/systemd/user")
else()
find_package(Systemd)
find_package(Udev)
if(UDEV_FOUND)
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/linux/misc/60-sunshine.rules"
DESTINATION "${UDEV_RULES_INSTALL_DIR}")
endif()
if(SYSTEMD_FOUND)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.service"
DESTINATION "${SYSTEMD_USER_UNIT_INSTALL_DIR}")
endif()
endif()
# Post install
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 "\
${CPACK_DEB_PLATFORM_PACKAGE_DEPENDS} \
libcap2, \
libcurl4, \
libdrm2, \
libevdev2, \
libnuma1, \
libopus0, \
libpulse0, \
libva2, \
libva-drm2, \
libwayland-client0, \
libx11-6, \
miniupnpc, \
openssl | libssl3")
set(CPACK_RPM_PACKAGE_REQUIRES "\
${CPACK_RPM_PLATFORM_PACKAGE_REQUIRES} \
libcap >= 2.22, \
libcurl >= 7.0, \
libdrm >= 2.4.97, \
libevdev >= 1.5.6, \
libopusenc >= 0.2.1, \
libva >= 2.14.0, \
libwayland-client >= 1.20.0, \
libX11 >= 1.7.3.1, \
miniupnpc >= 2.2.4, \
numactl-libs >= 2.0.14, \
openssl >= 3.0.2, \
pulseaudio-libs >= 10.0")
if(NOT BOOST_USE_STATIC)
set(CPACK_DEBIAN_PACKAGE_DEPENDS "\
${CPACK_DEBIAN_PACKAGE_DEPENDS}, \
libboost-filesystem${Boost_VERSION}, \
libboost-locale${Boost_VERSION}, \
libboost-log${Boost_VERSION}, \
libboost-program-options${Boost_VERSION}")
set(CPACK_RPM_PACKAGE_REQUIRES "\
${CPACK_RPM_PACKAGE_REQUIRES}, \
boost-filesystem >= ${Boost_VERSION}, \
boost-locale >= ${Boost_VERSION}, \
boost-log >= ${Boost_VERSION}, \
boost-program-options >= ${Boost_VERSION}")
endif()
# This should automatically figure out dependencies, doesn't work with the current config
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
# application icon
if(NOT ${SUNSHINE_BUILD_FLATPAK})
install(FILES "${CMAKE_SOURCE_DIR}/sunshine.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps")
else()
install(FILES "${CMAKE_SOURCE_DIR}/sunshine.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps"
RENAME "${PROJECT_FQDN}.svg")
endif()
# tray icon
if(${SUNSHINE_TRAY} STREQUAL 1)
if(NOT ${SUNSHINE_BUILD_FLATPAK})
install(FILES "${CMAKE_SOURCE_DIR}/sunshine.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status"
RENAME "sunshine-tray.svg")
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/web/public/images/sunshine-playing.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status")
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/web/public/images/sunshine-pausing.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status")
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/web/public/images/sunshine-locked.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status")
else()
# flatpak icons must be prefixed with the app id or they will not be included in the flatpak
install(FILES "${CMAKE_SOURCE_DIR}/sunshine.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status"
RENAME "${PROJECT_FQDN}-tray.svg")
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/web/public/images/sunshine-playing.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status"
RENAME "${PROJECT_FQDN}-playing.svg")
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/web/public/images/sunshine-pausing.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status"
RENAME "${PROJECT_FQDN}-pausing.svg")
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/common/assets/web/public/images/sunshine-locked.svg"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status"
RENAME "${PROJECT_FQDN}-locked.svg")
endif()
set(CPACK_DEBIAN_PACKAGE_DEPENDS "\
${CPACK_DEBIAN_PACKAGE_DEPENDS}, \
libayatana-appindicator3-1, \
libnotify4")
set(CPACK_RPM_PACKAGE_REQUIRES "\
${CPACK_RPM_PACKAGE_REQUIRES}, \
libappindicator-gtk3 >= 12.10.0")
endif()
# desktop file
# todo - validate desktop files with `desktop-file-validate`
if(NOT ${SUNSHINE_BUILD_FLATPAK})
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.desktop"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
else()
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.desktop"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications"
RENAME "${PROJECT_FQDN}.desktop")
endif()
if(NOT ${SUNSHINE_BUILD_APPIMAGE} AND NOT ${SUNSHINE_BUILD_FLATPAK})
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine_terminal.desktop"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
endif()
# metadata file
# todo - validate file with `appstream-util validate-relax`
if(NOT ${SUNSHINE_BUILD_FLATPAK})
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.appdata.xml"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
else()
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_FQDN}.metainfo.xml"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
endif()
+25
View File
@@ -0,0 +1,25 @@
# macos specific packaging
# todo - bundle doesn't produce a valid .app use cpack -G DragNDrop
set(CPACK_BUNDLE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_BUNDLE_PLIST "${APPLE_PLIST_FILE}")
set(CPACK_BUNDLE_ICON "${PROJECT_SOURCE_DIR}/sunshine.icns")
# set(CPACK_BUNDLE_STARTUP_COMMAND "${INSTALL_RUNTIME_DIR}/sunshine")
if(SUNSHINE_PACKAGE_MACOS) # todo
set(MAC_PREFIX "${CMAKE_PROJECT_NAME}.app/Contents")
set(INSTALL_RUNTIME_DIR "${MAC_PREFIX}/MacOS")
install(TARGETS sunshine
BUNDLE DESTINATION . COMPONENT Runtime
RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR} COMPONENT Runtime)
else()
install(FILES "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/misc/uninstall_pkg.sh"
DESTINATION "${SUNSHINE_ASSETS_DIR}")
endif()
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/"
DESTINATION "${SUNSHINE_ASSETS_DIR}")
# copy assets to build directory, for running without install
file(COPY "${SUNSHINE_SOURCE_ASSETS_DIR}/macos/assets/"
DESTINATION "${CMAKE_BINARY_DIR}/assets")
+15
View File
@@ -0,0 +1,15 @@
# unix specific packaging
# put anything here that applies to both linux and macos
# return here if building a macos package
if(SUNSHINE_PACKAGE_MACOS)
return()
endif()
# Installation destination dir
set(CPACK_SET_DESTDIR true)
if(NOT CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "/usr/share/sunshine")
endif()
install(TARGETS sunshine RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+161
View File
@@ -0,0 +1,161 @@
# windows specific packaging
# see options at: https://cmake.org/cmake/help/latest/cpack_gen/nsis.html
install(TARGETS sunshine RUNTIME DESTINATION "." COMPONENT application)
# Hardening: include zlib1.dll (loaded via LoadLibrary() in openssl's libcrypto.a)
install(FILES "${ZLIB}" DESTINATION "." COMPONENT application)
# Adding tools
install(TARGETS dxgi-info RUNTIME DESTINATION "tools" COMPONENT dxgi)
install(TARGETS audio-info RUNTIME DESTINATION "tools" COMPONENT audio)
# Mandatory tools
install(TARGETS sunshinesvc RUNTIME DESTINATION "tools" COMPONENT application)
# Mandatory scripts
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/service/"
DESTINATION "scripts"
COMPONENT assets)
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/migration/"
DESTINATION "scripts"
COMPONENT assets)
# Configurable options for the service
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/autostart/"
DESTINATION "scripts"
COMPONENT autostart)
# scripts
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/firewall/"
DESTINATION "scripts"
COMPONENT firewall)
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/misc/gamepad/"
DESTINATION "scripts"
COMPONENT gamepad)
# Sunshine assets
install(DIRECTORY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/"
DESTINATION "${SUNSHINE_ASSETS_DIR}"
COMPONENT assets)
# copy assets (excluding shaders) to build directory, for running without install
file(COPY "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/"
DESTINATION "${CMAKE_BINARY_DIR}/assets"
PATTERN "shaders" EXCLUDE)
# use junction for shaders directory
cmake_path(CONVERT "${SUNSHINE_SOURCE_ASSETS_DIR}/windows/assets/shaders"
TO_NATIVE_PATH_LIST shaders_in_build_src_native)
cmake_path(CONVERT "${CMAKE_BINARY_DIR}/assets/shaders" TO_NATIVE_PATH_LIST 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}\\\\sunshine.ico")
set(CPACK_NSIS_INSTALLED_ICON_NAME "${PROJECT__DIR}\\\\${PROJECT_EXE}")
# The name of the directory that will be created in C:/Program files/
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
# Extra install commands
# Restores permissions on the install directory
# Migrates config files from the root into the new config folder
# Install service
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
"${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}
IfSilent +2 0
ExecShell 'open' 'https://docs.lizardbyte.dev/projects/sunshine'
nsExec::ExecToLog 'icacls \\\"$INSTDIR\\\" /reset'
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\migrate-config.bat\\\"'
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\add-firewall-rule.bat\\\"'
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\install-gamepad.bat\\\"'
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\install-service.bat\\\"'
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\autostart-service.bat\\\"'
NoController:
")
# Extra uninstall commands
# Uninstall service
set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
"${CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS}
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\delete-firewall-rule.bat\\\"'
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\uninstall-service.bat\\\"'
nsExec::ExecToLog '\\\"$INSTDIR\\\\sunshine.exe\\\" --restore-nvprefs-undo'
MessageBox MB_YESNO|MB_ICONQUESTION \
'Do you want to remove Virtual Gamepad?' \
/SD IDNO IDNO NoGamepad
nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\uninstall-gamepad.bat\\\"'; skipped if no
NoGamepad:
MessageBox MB_YESNO|MB_ICONQUESTION \
'Do you want to remove $INSTDIR (this includes the configuration, cover images, and settings)?' \
/SD IDNO IDNO NoDelete
RMDir /r \\\"$INSTDIR\\\"; skipped if no
NoDelete:
")
# Adding an option for the start menu
set(CPACK_NSIS_MODIFY_PATH "OFF")
set(CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
# This will be shown on the installed apps Windows settings
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_PROJECT_NAME}.exe")
set(CPACK_NSIS_CREATE_ICONS_EXTRA
"${CPACK_NSIS_CREATE_ICONS_EXTRA}
CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${CMAKE_PROJECT_NAME}.lnk' \
'\$INSTDIR\\\\${CMAKE_PROJECT_NAME}.exe' '--shortcut'
")
set(CPACK_NSIS_DELETE_ICONS_EXTRA
"${CPACK_NSIS_DELETE_ICONS_EXTRA}
Delete '\$SMPROGRAMS\\\\$MUI_TEMP\\\\${CMAKE_PROJECT_NAME}.lnk'
")
# Checking for previous installed versions
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
set(CPACK_NSIS_HELP_LINK "https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2getting__started.html")
set(CPACK_NSIS_URL_INFO_ABOUT "${CMAKE_PROJECT_HOMEPAGE_URL}")
set(CPACK_NSIS_CONTACT "${CMAKE_PROJECT_HOMEPAGE_URL}/support")
set(CPACK_NSIS_MENU_LINKS
"https://docs.lizardbyte.dev/projects/sunshine" "Sunshine documentation"
"https://app.lizardbyte.dev" "LizardByte Web Site"
"https://app.lizardbyte.dev/support" "LizardByte Support")
set(CPACK_NSIS_MANIFEST_DPI_AWARE true)
# Setting components groups and dependencies
set(CPACK_COMPONENT_GROUP_CORE_EXPANDED true)
# sunshine binary
set(CPACK_COMPONENT_APPLICATION_DISPLAY_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_COMPONENT_APPLICATION_DESCRIPTION "${CMAKE_PROJECT_NAME} main application and required components.")
set(CPACK_COMPONENT_APPLICATION_GROUP "Core")
set(CPACK_COMPONENT_APPLICATION_REQUIRED true)
set(CPACK_COMPONENT_APPLICATION_DEPENDS assets)
# service auto-start script
set(CPACK_COMPONENT_AUTOSTART_DISPLAY_NAME "Launch on Startup")
set(CPACK_COMPONENT_AUTOSTART_DESCRIPTION "If enabled, launches Sunshine automatically on system startup.")
set(CPACK_COMPONENT_AUTOSTART_GROUP "Core")
# assets
set(CPACK_COMPONENT_ASSETS_DISPLAY_NAME "Required Assets")
set(CPACK_COMPONENT_ASSETS_DESCRIPTION "Shaders, default box art, and web UI.")
set(CPACK_COMPONENT_ASSETS_GROUP "Core")
set(CPACK_COMPONENT_ASSETS_REQUIRED true)
# audio tool
set(CPACK_COMPONENT_AUDIO_DISPLAY_NAME "audio-info")
set(CPACK_COMPONENT_AUDIO_DESCRIPTION "CLI tool providing information about sound devices.")
set(CPACK_COMPONENT_AUDIO_GROUP "Tools")
# display tool
set(CPACK_COMPONENT_DXGI_DISPLAY_NAME "dxgi-info")
set(CPACK_COMPONENT_DXGI_DESCRIPTION "CLI tool providing information about graphics cards and displays.")
set(CPACK_COMPONENT_DXGI_GROUP "Tools")
# firewall scripts
set(CPACK_COMPONENT_FIREWALL_DISPLAY_NAME "Add Firewall Exclusions")
set(CPACK_COMPONENT_FIREWALL_DESCRIPTION "Scripts to enable or disable firewall rules.")
set(CPACK_COMPONENT_FIREWALL_GROUP "Scripts")
# gamepad scripts
set(CPACK_COMPONENT_GAMEPAD_DISPLAY_NAME "Virtual Gamepad")
set(CPACK_COMPONENT_GAMEPAD_DESCRIPTION "Scripts to install and uninstall Virtual Gamepad.")
set(CPACK_COMPONENT_GAMEPAD_GROUP "Scripts")
+56
View File
@@ -0,0 +1,56 @@
# Check if env vars are defined before attempting to access them, variables will be defined even if blank
if((DEFINED ENV{BRANCH}) AND (DEFINED ENV{BUILD_VERSION}) AND (DEFINED ENV{COMMIT})) # cmake-lint: disable=W0106
if(($ENV{BRANCH} STREQUAL "master") AND (NOT $ENV{BUILD_VERSION} STREQUAL ""))
# If BRANCH is "master" and BUILD_VERSION is not empty, then we are building a master branch
MESSAGE("Got from CI master branch and version $ENV{BUILD_VERSION}")
set(PROJECT_VERSION $ENV{BUILD_VERSION})
set(CMAKE_PROJECT_VERSION ${PROJECT_VERSION}) # cpack will use this to set the binary versions
elseif((DEFINED ENV{BRANCH}) AND (DEFINED ENV{COMMIT}))
# If BRANCH is set but not BUILD_VERSION we are building a PR, we gather only the commit hash
MESSAGE("Got from CI $ENV{BRANCH} branch and commit $ENV{COMMIT}")
set(PROJECT_VERSION ${PROJECT_VERSION}.$ENV{COMMIT})
endif()
# Generate Sunshine Version based of the git tag
# https://github.com/nocnokneo/cmake-git-versioning-example/blob/master/LICENSE
else()
find_package(Git)
if(GIT_EXECUTABLE)
MESSAGE("${CMAKE_SOURCE_DIR}")
get_filename_component(SRC_DIR "${CMAKE_SOURCE_DIR}" DIRECTORY)
#Get current Branch
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
OUTPUT_VARIABLE GIT_DESCRIBE_BRANCH
RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Gather current commit
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
OUTPUT_VARIABLE GIT_DESCRIBE_VERSION
RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Check if Dirty
execute_process(
COMMAND ${GIT_EXECUTABLE} diff --quiet --exit-code
RESULT_VARIABLE GIT_IS_DIRTY
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(NOT GIT_DESCRIBE_ERROR_CODE)
MESSAGE("Sunshine Branch: ${GIT_DESCRIBE_BRANCH}")
if(NOT GIT_DESCRIBE_BRANCH STREQUAL "master")
set(PROJECT_VERSION ${PROJECT_VERSION}.${GIT_DESCRIBE_VERSION})
MESSAGE("Sunshine Version: ${GIT_DESCRIBE_VERSION}")
endif()
if(GIT_IS_DIRTY)
set(PROJECT_VERSION ${PROJECT_VERSION}.dirty)
MESSAGE("Git tree is dirty!")
endif()
else()
MESSAGE(ERROR ": Got git error while fetching tags: ${GIT_DESCRIBE_ERROR_CODE}")
endif()
else()
MESSAGE(WARNING ": Git not found, cannot find git version")
endif()
endif()
+5
View File
@@ -0,0 +1,5 @@
# source assets will be installed from this directory
set(SUNSHINE_SOURCE_ASSETS_DIR "${CMAKE_SOURCE_DIR}/src_assets")
# enable system tray, we will disable this later if we cannot find the required package config on linux
set(SUNSHINE_TRAY 1)
+17
View File
@@ -0,0 +1,17 @@
if (WIN32)
elseif (APPLE)
elseif (UNIX)
include(GNUInstallDirs)
if(NOT DEFINED SUNSHINE_EXECUTABLE_PATH)
set(SUNSHINE_EXECUTABLE_PATH "sunshine")
endif()
if(SUNSHINE_BUILD_FLATPAK)
set(SUNSHINE_SERVICE_START_COMMAND "ExecStart=flatpak run --command=sunshine ${PROJECT_FQDN}")
set(SUNSHINE_SERVICE_STOP_COMMAND "ExecStop=flatpak kill ${PROJECT_FQDN}")
else()
set(SUNSHINE_SERVICE_START_COMMAND "ExecStart=${SUNSHINE_EXECUTABLE_PATH}")
set(SUNSHINE_SERVICE_STOP_COMMAND "")
endif()
endif()
+68
View File
@@ -0,0 +1,68 @@
# Publisher Metadata
set(SUNSHINE_PUBLISHER_NAME "Third Party Publisher"
CACHE STRING "The name of the publisher (not developer) of the application.")
set(SUNSHINE_PUBLISHER_WEBSITE ""
CACHE STRING "The URL of the publisher's website.")
set(SUNSHINE_PUBLISHER_ISSUE_URL "https://app.lizardbyte.dev/support"
CACHE STRING "The URL of the publisher's support site or issue tracker.
If you provide a modified version of Sunshine, we kindly request that you use your own url.")
option(BUILD_DOCS "Build documentation" ON)
option(BUILD_TESTS "Build tests" ON)
option(NPM_OFFLINE "Use offline npm packages. You must ensure packages are in your npm cache." OFF)
option(TESTS_ENABLE_PYTHON_TESTS "Enable Python tests" ON)
option(BUILD_WERROR "Enable -Werror flag." OFF)
# if this option is set, the build will exit after configuring special package configuration files
option(SUNSHINE_CONFIGURE_ONLY "Configure special files only, then exit." OFF)
option(SUNSHINE_ENABLE_TRAY "Enable system tray icon. This option will be ignored on macOS." ON)
option(SUNSHINE_SYSTEM_WAYLAND_PROTOCOLS "Use system installation of wayland-protocols rather than the submodule." OFF)
if(APPLE)
option(BOOST_USE_STATIC "Use static boost libraries." OFF)
else()
option(BOOST_USE_STATIC "Use static boost libraries." ON)
endif()
option(CUDA_FAIL_ON_MISSING "Fail the build if CUDA is not found." ON)
option(CUDA_INHERIT_COMPILE_OPTIONS
"When building CUDA code, inherit compile options from the the main project. You may want to disable this if
your IDE throws errors about unknown flags after running cmake." ON)
if(UNIX)
option(SUNSHINE_BUILD_HOMEBREW
"Enable a Homebrew build." OFF)
option(SUNSHINE_CONFIGURE_HOMEBREW
"Configure Homebrew formula. Recommended to use with SUNSHINE_CONFIGURE_ONLY" OFF)
endif()
if(APPLE)
option(SUNSHINE_CONFIGURE_PORTFILE
"Configure macOS Portfile. Recommended to use with SUNSHINE_CONFIGURE_ONLY" OFF)
option(SUNSHINE_PACKAGE_MACOS
"Should only be used when creating a macOS package/dmg." OFF)
elseif(UNIX) # Linux
option(SUNSHINE_BUILD_APPIMAGE
"Enable an AppImage build." OFF)
option(SUNSHINE_BUILD_FLATPAK
"Enable a Flatpak build." OFF)
option(SUNSHINE_CONFIGURE_PKGBUILD
"Configure files required for AUR. Recommended to use with SUNSHINE_CONFIGURE_ONLY" OFF)
option(SUNSHINE_CONFIGURE_FLATPAK_MAN
"Configure manifest file required for Flatpak build. Recommended to use with SUNSHINE_CONFIGURE_ONLY" OFF)
# Linux capture methods
option(SUNSHINE_ENABLE_CUDA
"Enable cuda specific code." ON)
option(SUNSHINE_ENABLE_DRM
"Enable KMS grab if available." ON)
option(SUNSHINE_ENABLE_VAAPI
"Enable building vaapi specific code." ON)
option(SUNSHINE_ENABLE_WAYLAND
"Enable building wayland specific code." ON)
option(SUNSHINE_ENABLE_X11
"Enable X11 grab if available." ON)
endif()
@@ -0,0 +1,57 @@
if(UNIX)
if(${SUNSHINE_CONFIGURE_HOMEBREW})
configure_file(packaging/sunshine.rb sunshine.rb @ONLY)
endif()
endif()
if(APPLE)
if(${SUNSHINE_CONFIGURE_PORTFILE})
configure_file(packaging/macos/Portfile Portfile @ONLY)
endif()
elseif(UNIX)
# configure the .desktop file
set(SUNSHINE_DESKTOP_ICON "sunshine")
if(${SUNSHINE_BUILD_APPIMAGE})
configure_file(packaging/linux/AppImage/sunshine.desktop sunshine.desktop @ONLY)
elseif(${SUNSHINE_BUILD_FLATPAK})
set(SUNSHINE_DESKTOP_ICON "${PROJECT_FQDN}")
configure_file(packaging/linux/flatpak/sunshine.desktop sunshine.desktop @ONLY)
configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.metainfo.xml
${PROJECT_FQDN}.metainfo.xml @ONLY)
else()
configure_file(packaging/linux/sunshine.desktop sunshine.desktop @ONLY)
configure_file(packaging/linux/sunshine_terminal.desktop sunshine_terminal.desktop @ONLY)
endif()
# configure metadata file
configure_file(packaging/linux/sunshine.appdata.xml sunshine.appdata.xml @ONLY)
# configure service
configure_file(packaging/linux/sunshine.service.in sunshine.service @ONLY)
# configure the arch linux pkgbuild
if(${SUNSHINE_CONFIGURE_PKGBUILD})
configure_file(packaging/linux/Arch/PKGBUILD PKGBUILD @ONLY)
configure_file(packaging/linux/Arch/sunshine.install sunshine.install @ONLY)
endif()
# configure the flatpak manifest
if(${SUNSHINE_CONFIGURE_FLATPAK_MAN})
configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.yml ${PROJECT_FQDN}.yml @ONLY)
configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.metainfo.xml
${PROJECT_FQDN}.metainfo.xml @ONLY)
file(COPY packaging/linux/flatpak/deps/ DESTINATION ${CMAKE_BINARY_DIR})
file(COPY packaging/linux/flatpak/modules DESTINATION ${CMAKE_BINARY_DIR})
file(COPY generated-sources.json DESTINATION ${CMAKE_BINARY_DIR})
file(COPY package-lock.json DESTINATION ${CMAKE_BINARY_DIR})
endif()
endif()
# return if configure only is set
if(${SUNSHINE_CONFIGURE_ONLY})
# message
message(STATUS "SUNSHINE_CONFIGURE_ONLY: ON, exiting...")
set(END_BUILD ON)
else()
set(END_BUILD OFF)
endif()
+128
View File
@@ -0,0 +1,128 @@
# common target definitions
# this file will also load platform specific macros
add_executable(sunshine ${SUNSHINE_TARGET_FILES})
foreach(dep ${SUNSHINE_TARGET_DEPENDENCIES})
add_dependencies(sunshine ${dep}) # compile these before sunshine
endforeach()
# platform specific target definitions
if(WIN32)
include(${CMAKE_MODULE_PATH}/targets/windows.cmake)
elseif(UNIX)
include(${CMAKE_MODULE_PATH}/targets/unix.cmake)
if(APPLE)
include(${CMAKE_MODULE_PATH}/targets/macos.cmake)
else()
include(${CMAKE_MODULE_PATH}/targets/linux.cmake)
endif()
endif()
# todo - is this necessary? ... for anything except linux?
if(NOT DEFINED CMAKE_CUDA_STANDARD)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
endif()
target_link_libraries(sunshine ${SUNSHINE_EXTERNAL_LIBRARIES} ${EXTRA_LIBS})
target_compile_definitions(sunshine PUBLIC ${SUNSHINE_DEFINITIONS})
set_target_properties(sunshine PROPERTIES CXX_STANDARD 20
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR})
# CLion complains about unknown flags after running cmake, and cannot add symbols to the index for cuda files
if(CUDA_INHERIT_COMPILE_OPTIONS)
foreach(flag IN LISTS SUNSHINE_COMPILE_OPTIONS)
list(APPEND SUNSHINE_COMPILE_OPTIONS_CUDA "$<$<COMPILE_LANGUAGE:CUDA>:--compiler-options=${flag}>")
endforeach()
endif()
target_compile_options(sunshine PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${SUNSHINE_COMPILE_OPTIONS}>;$<$<COMPILE_LANGUAGE:CUDA>:${SUNSHINE_COMPILE_OPTIONS_CUDA};-std=c++17>) # cmake-lint: disable=C0301
# Homebrew build fails the vite build if we set these environment variables
if(${SUNSHINE_BUILD_HOMEBREW})
set(NPM_SOURCE_ASSETS_DIR "")
set(NPM_ASSETS_DIR "")
set(NPM_BUILD_HOMEBREW "true")
else()
set(NPM_SOURCE_ASSETS_DIR ${SUNSHINE_SOURCE_ASSETS_DIR})
set(NPM_ASSETS_DIR ${CMAKE_BINARY_DIR})
set(NPM_BUILD_HOMEBREW "")
endif()
#WebUI build
find_program(NPM npm REQUIRED)
if (NPM_OFFLINE)
set(NPM_INSTALL_FLAGS "--offline")
else()
set(NPM_INSTALL_FLAGS "")
endif()
add_custom_target(web-ui ALL
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
COMMENT "Installing NPM Dependencies and Building the Web UI"
COMMAND "$<$<BOOL:${WIN32}>:cmd;/C>" "${NPM}" install ${NPM_INSTALL_FLAGS}
COMMAND "${CMAKE_COMMAND}" -E env "SUNSHINE_BUILD_HOMEBREW=${NPM_BUILD_HOMEBREW}" "SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR}" "SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR}" "$<$<BOOL:${WIN32}>:cmd;/C>" "${NPM}" run build # cmake-lint: disable=C0301
COMMAND_EXPAND_LISTS
VERBATIM)
# docs
if(BUILD_DOCS)
add_subdirectory(third-party/doxyconfig docs)
endif()
# tests
if(BUILD_TESTS)
add_subdirectory(tests)
endif()
# custom compile flags, must be after adding tests
if (NOT BUILD_TESTS)
set(TEST_DIR "")
else()
set(TEST_DIR "${CMAKE_SOURCE_DIR}/tests")
endif()
# src/upnp
set_source_files_properties("${CMAKE_SOURCE_DIR}/src/upnp.cpp"
DIRECTORY "${CMAKE_SOURCE_DIR}" "${TEST_DIR}"
PROPERTIES COMPILE_FLAGS -Wno-pedantic)
# third-party/nanors
set_source_files_properties("${CMAKE_SOURCE_DIR}/src/rswrapper.c"
DIRECTORY "${CMAKE_SOURCE_DIR}" "${TEST_DIR}"
PROPERTIES COMPILE_FLAGS "-ftree-vectorize -funroll-loops")
# third-party/ViGEmClient
set(VIGEM_COMPILE_FLAGS "")
string(APPEND VIGEM_COMPILE_FLAGS "-Wno-unknown-pragmas ")
string(APPEND VIGEM_COMPILE_FLAGS "-Wno-misleading-indentation ")
string(APPEND VIGEM_COMPILE_FLAGS "-Wno-class-memaccess ")
string(APPEND VIGEM_COMPILE_FLAGS "-Wno-unused-function ")
string(APPEND VIGEM_COMPILE_FLAGS "-Wno-unused-variable ")
set_source_files_properties("${CMAKE_SOURCE_DIR}/third-party/ViGEmClient/src/ViGEmClient.cpp"
DIRECTORY "${CMAKE_SOURCE_DIR}" "${TEST_DIR}"
PROPERTIES
COMPILE_DEFINITIONS "UNICODE=1;ERROR_INVALID_DEVICE_OBJECT_PARAMETER=650"
COMPILE_FLAGS ${VIGEM_COMPILE_FLAGS})
# src/nvhttp
string(TOUPPER "x${CMAKE_BUILD_TYPE}" BUILD_TYPE)
if("${BUILD_TYPE}" STREQUAL "XDEBUG")
if(WIN32)
if (NOT BUILD_TESTS)
set_source_files_properties("${CMAKE_SOURCE_DIR}/src/nvhttp.cpp"
DIRECTORY "${CMAKE_SOURCE_DIR}"
PROPERTIES COMPILE_FLAGS -O2)
else()
set_source_files_properties("${CMAKE_SOURCE_DIR}/src/nvhttp.cpp"
DIRECTORY "${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/tests"
PROPERTIES COMPILE_FLAGS -O2)
endif()
endif()
else()
add_definitions(-DNDEBUG)
endif()
+1
View File
@@ -0,0 +1 @@
# linux specific target definitions
+4
View File
@@ -0,0 +1,4 @@
# macos specific target definitions
target_link_options(sunshine PRIVATE LINKER:-sectcreate,__TEXT,__info_plist,${APPLE_PLIST_FILE})
# Tell linker to dynamically load these symbols at runtime, in case they're unavailable:
target_link_options(sunshine PRIVATE -Wl,-U,_CGPreflightScreenCaptureAccess -Wl,-U,_CGRequestScreenCaptureAccess)
+2
View File
@@ -0,0 +1,2 @@
# unix specific target definitions
# put anything here that applies to both linux and macos
+7
View File
@@ -0,0 +1,7 @@
# windows specific target definitions
set_target_properties(sunshine PROPERTIES LINK_SEARCH_START_STATIC 1)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
find_library(ZLIB ZLIB1)
list(APPEND SUNSHINE_EXTERNAL_LIBRARIES
Windowsapp.lib
Wtsapi32.lib)
+19
View File
@@ -0,0 +1,19 @@
---
codecov:
branch: master
coverage:
status:
project:
default:
target: auto
threshold: 10%
comment:
layout: "diff, flags, files"
behavior: default
require_changes: false # if true: only post the comment if coverage changes
ignore:
- "tests"
- "third-party"
+31
View File
@@ -0,0 +1,31 @@
---
"base_path": "."
"base_url": "https://api.crowdin.com" # optional (for Crowdin Enterprise only)
"preserve_hierarchy": true # false will flatten tree on crowdin, but doesn't work with dest option
"pull_request_title": "chore(l10n): update translations"
"pull_request_labels": [
"crowdin",
"l10n"
]
"files": [
{
"source": "/locale/*.po",
"dest": "/%original_file_name%",
"translation": "/locale/%two_letters_code%/LC_MESSAGES/%original_file_name%",
"languages_mapping": {
"two_letters_code": {
# map non-two letter codes here, left side is crowdin designation, right side is babel designation
"en-GB": "en_GB",
"en-US": "en_US"
}
},
"update_option": "update_as_unapproved"
},
{
"source": "/src_assets/common/assets/web/public/assets/locale/en.json",
"dest": "/sunshine.json",
"translation": "/src_assets/common/assets/web/public/assets/locale/%two_letters_code%.%file_extension%",
"update_option": "update_as_unapproved"
}
]
+166
View File
@@ -0,0 +1,166 @@
# syntax=docker/dockerfile:1
# artifacts: true
# platforms: linux/amd64
# archlinux does not have an arm64 base image
# no-cache-filters: artifacts,sunshine
ARG BASE=archlinux/archlinux
ARG TAG=base-devel
FROM ${BASE}:${TAG} AS sunshine-base
# Update keyring to avoid signature errors, and update system
RUN <<_DEPS
#!/bin/bash
set -e
pacman -Syy --disable-download-timeout --needed --noconfirm \
archlinux-keyring
pacman -Syu --disable-download-timeout --noconfirm
pacman -Scc --noconfirm
_DEPS
FROM sunshine-base AS sunshine-build
ARG BRANCH
ARG BUILD_VERSION
ARG COMMIT
ARG CLONE_URL
# note: BUILD_VERSION may be blank
ENV BRANCH=${BRANCH}
ENV BUILD_VERSION=${BUILD_VERSION}
ENV COMMIT=${COMMIT}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=SC2016
RUN <<_SETUP
#!/bin/bash
set -e
# Setup builder user, arch prevents running makepkg as root
useradd -m builder
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
# patch the build flags
sed -i 's,#MAKEFLAGS="-j2",MAKEFLAGS="-j$(nproc)",g' /etc/makepkg.conf
# install dependencies
pacman -Syu --disable-download-timeout --needed --noconfirm \
base-devel \
cmake \
cuda \
git \
namcap \
xorg-server-xvfb
pacman -Scc --noconfirm
_SETUP
# Setup builder user
USER builder
# copy repository
WORKDIR /build/sunshine/
COPY --link .. .
# setup build directory
WORKDIR /build/sunshine/build
# configure PKGBUILD file
RUN <<_MAKE
#!/bin/bash
set -e
if [[ "${BUILD_VERSION}" == '' ]]; then
sub_version=".r${COMMIT}"
else
sub_version=""
fi
cmake \
-DSUNSHINE_CONFIGURE_PKGBUILD=ON \
-DSUNSHINE_SUB_VERSION="${sub_version}" \
-DGITHUB_CLONE_URL="${CLONE_URL}" \
-DGITHUB_BRANCH=${BRANCH} \
-DGITHUB_BUILD_VERSION=${BUILD_VERSION} \
-DGITHUB_COMMIT="${COMMIT}" \
-DSUNSHINE_CONFIGURE_ONLY=ON \
/build/sunshine
_MAKE
WORKDIR /build/sunshine/pkg
RUN <<_PACKAGE
mv /build/sunshine/build/PKGBUILD .
mv /build/sunshine/build/sunshine.install .
makepkg --printsrcinfo > .SRCINFO
_PACKAGE
# create a PKGBUILD archive
USER root
RUN <<_REPO
#!/bin/bash
set -e
tar -czf /build/sunshine/sunshine.pkg.tar.gz .
_REPO
# namcap and build PKGBUILD file
USER builder
RUN <<_PKGBUILD
#!/bin/bash
set -e
# shellcheck source=/dev/null
source /etc/profile # ensure cuda is in the PATH
export DISPLAY=:1
Xvfb ${DISPLAY} -screen 0 1024x768x24 &
namcap -i PKGBUILD
makepkg -si --noconfirm
rm -f /build/sunshine/pkg/sunshine-debug*.pkg.tar.zst
ls -a
_PKGBUILD
FROM scratch AS artifacts
COPY --link --from=sunshine-build /build/sunshine/pkg/sunshine*.pkg.tar.zst /sunshine.pkg.tar.zst
COPY --link --from=sunshine-build /build/sunshine/sunshine.pkg.tar.gz /sunshine.pkg.tar.gz
FROM sunshine-base AS sunshine
COPY --link --from=artifacts /sunshine.pkg.tar.zst /
# install sunshine
RUN <<_INSTALL_SUNSHINE
#!/bin/bash
set -e
pacman -U --disable-download-timeout --needed --noconfirm \
/sunshine.pkg.tar.zst
pacman -Scc --noconfirm
_INSTALL_SUNSHINE
# network setup
EXPOSE 47984-47990/tcp
EXPOSE 48010
EXPOSE 47998-48000/udp
# setup user
ARG PGID=1000
ENV PGID=${PGID}
ARG PUID=1000
ENV PUID=${PUID}
ENV TZ="UTC"
ARG UNAME=lizard
ENV UNAME=${UNAME}
ENV HOME=/home/$UNAME
# setup user
RUN <<_SETUP_USER
#!/bin/bash
set -e
groupadd -f -g "${PGID}" "${UNAME}"
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -u "${PUID}" "${UNAME}"
mkdir -p ${HOME}/.config/sunshine
ln -s ${HOME}/.config/sunshine /config
chown -R ${UNAME} ${HOME}
_SETUP_USER
USER ${UNAME}
WORKDIR ${HOME}
# entrypoint
ENTRYPOINT ["/usr/bin/sunshine"]
+117
View File
@@ -0,0 +1,117 @@
# syntax=docker/dockerfile:1
# artifacts: false
# platforms: linux/amd64
# platforms_pr: linux/amd64
# no-cache-filters: toolchain-base,toolchain
ARG BASE=ubuntu
ARG TAG=22.04
FROM ${BASE}:${TAG} AS toolchain-base
ENV DEBIAN_FRONTEND=noninteractive
FROM toolchain-base AS toolchain
ARG TARGETPLATFORM
RUN echo "target_platform: ${TARGETPLATFORM}"
ENV DISPLAY=:0
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# install dependencies
# hadolint ignore=SC1091
RUN <<_DEPS
#!/bin/bash
set -e
apt-get update -y
apt-get install -y --no-install-recommends \
build-essential \
cmake=3.22.* \
ca-certificates \
doxygen \
gcc=4:11.2.* \
g++=4:11.2.* \
gdb \
git \
graphviz \
libayatana-appindicator3-dev \
libcap-dev \
libcurl4-openssl-dev \
libdrm-dev \
libevdev-dev \
libminiupnpc-dev \
libnotify-dev \
libnuma-dev \
libopus-dev \
libpulse-dev \
libssl-dev \
libva-dev \
libwayland-dev \
libx11-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
libxcb1-dev \
libxfixes-dev \
libxrandr-dev \
libxtst-dev \
udev \
wget \
x11-xserver-utils \
xvfb
apt-get clean
rm -rf /var/lib/apt/lists/*
# Install Node
wget --max-redirect=0 -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source "$HOME/.nvm/nvm.sh"
nvm install node
nvm use node
nvm alias default node
_DEPS
# install cuda
WORKDIR /build/cuda
# versions: https://developer.nvidia.com/cuda-toolkit-archive
ENV CUDA_VERSION="11.8.0"
ENV CUDA_BUILD="520.61.05"
# hadolint ignore=SC3010
RUN <<_INSTALL_CUDA
#!/bin/bash
set -e
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
cuda_suffix=""
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
cuda_suffix="_sbsa"
fi
url="${cuda_prefix}${CUDA_VERSION}/local_installers/cuda_${CUDA_VERSION}_${CUDA_BUILD}_linux${cuda_suffix}.run"
echo "cuda url: ${url}"
wget "$url" --progress=bar:force:noscroll -q --show-progress -O ./cuda.run
chmod a+x ./cuda.run
./cuda.run --silent --toolkit --toolkitpath=/usr/local --no-opengl-libs --no-man-page --no-drm
rm ./cuda.run
_INSTALL_CUDA
WORKDIR /
# Write a shell script that starts Xvfb and then runs a shell
RUN <<_ENTRYPOINT
#!/bin/bash
set -e
cat <<EOF > /entrypoint.sh
#!/bin/bash
Xvfb ${DISPLAY} -screen 0 1024x768x24 &
if [ "\$#" -eq 0 ]; then
exec "/bin/bash"
else
exec "\$@"
fi
EOF
# Make the script executable
chmod +x /entrypoint.sh
# Note about CLion
echo "ATTENTION: CLion will override the entrypoint, you can disable this in the toolchain settings"
_ENTRYPOINT
# Use the shell script as the entrypoint
ENTRYPOINT ["/entrypoint.sh"]
+134
View File
@@ -0,0 +1,134 @@
# syntax=docker/dockerfile:1
# artifacts: true
# platforms: linux/amd64,linux/arm64/v8
# platforms_pr: linux/amd64,linux/arm64/v8
# no-cache-filters: sunshine-base,artifacts,sunshine
ARG BASE=debian
ARG TAG=bookworm
FROM ${BASE}:${TAG} AS sunshine-base
ENV DEBIAN_FRONTEND=noninteractive
ARG BASE
ARG TAG
FROM --platform=$BUILDPLATFORM ${BASE}:${TAG} AS sunshine-build
ENV DEBIAN_FRONTEND=noninteractive
ARG TARGETPLATFORM
ARG BRANCH
ARG BUILD_VERSION
ARG COMMIT
# note: BUILD_VERSION may be blank
ENV BRANCH=${BRANCH}
ENV BUILD_VERSION=${BUILD_VERSION}
ENV COMMIT=${COMMIT}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# copy repository
WORKDIR /build/sunshine/
COPY --link .. .
# cmake and cpack
RUN <<_BUILD
#!/bin/bash
set -e
if [[ "${BUILDPLATFORM}" != "${TARGETPLATFORM}" ]]; then
cross_compile="--cross-compile"
else
cross_compile=""
fi
case "${TARGETPLATFORM}" in
linux/amd64)
cc_target_tuple="x86_64-linux-gnu"
cc_target_arch="amd64"
;;
linux/arm64)
cc_target_tuple="aarch64-linux-gnu"
cc_target_arch="arm64"
;;
*)
echo "unsupported platform: ${TARGETPLATFORM}";
exit 1
;;
esac
chmod +x ./scripts/linux_build.sh
./scripts/linux_build.sh \
${cross_compile} \
--cc-target-tuple="${cc_target_tuple}" \
--cc-target-arch="${cc_target_arch}" \
--publisher-name='LizardByte' \
--publisher-website='https://app.lizardbyte.dev' \
--publisher-issue-url='https://app.lizardbyte.dev/support' \
--sudo-off
apt-get clean
rm -rf /var/lib/apt/lists/*
_BUILD
# run tests
WORKDIR /build/sunshine/build/tests
# hadolint ignore=SC1091
RUN <<_TEST
#!/bin/bash
set -e
export DISPLAY=:1
Xvfb ${DISPLAY} -screen 0 1024x768x24 &
./test_sunshine --gtest_color=yes
_TEST
FROM scratch AS artifacts
ARG BASE
ARG TAG
ARG TARGETARCH
COPY --link --from=sunshine-build /build/sunshine/build/cpack_artifacts/Sunshine.deb /sunshine-${BASE}-${TAG}-${TARGETARCH}.deb
FROM sunshine-base AS sunshine
# copy deb from builder
COPY --link --from=artifacts /sunshine*.deb /sunshine.deb
# install sunshine
RUN <<_INSTALL_SUNSHINE
#!/bin/bash
set -e
apt-get update -y
apt-get install -y --no-install-recommends /sunshine.deb
apt-get clean
rm -rf /var/lib/apt/lists/*
_INSTALL_SUNSHINE
# network setup
EXPOSE 47984-47990/tcp
EXPOSE 48010
EXPOSE 47998-48000/udp
# setup user
ARG PGID=1000
ENV PGID=${PGID}
ARG PUID=1000
ENV PUID=${PUID}
ENV TZ="UTC"
ARG UNAME=lizard
ENV UNAME=${UNAME}
ENV HOME=/home/$UNAME
# setup user
RUN <<_SETUP_USER
#!/bin/bash
set -e
groupadd -f -g "${PGID}" "${UNAME}"
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -u "${PUID}" "${UNAME}"
mkdir -p ${HOME}/.config/sunshine
ln -s ${HOME}/.config/sunshine /config
chown -R ${UNAME} ${HOME}
_SETUP_USER
USER ${UNAME}
WORKDIR ${HOME}
# entrypoint
ENTRYPOINT ["/usr/bin/sunshine"]
+106
View File
@@ -0,0 +1,106 @@
# syntax=docker/dockerfile:1
# artifacts: true
# platforms: linux/amd64,linux/arm64/v8
# platforms_pr: linux/amd64
# no-cache-filters: sunshine-base,artifacts,sunshine
ARG BASE=ubuntu
ARG TAG=22.04
FROM ${BASE}:${TAG} AS sunshine-base
ENV DEBIAN_FRONTEND=noninteractive
FROM sunshine-base AS sunshine-build
ARG BRANCH
ARG BUILD_VERSION
ARG COMMIT
# note: BUILD_VERSION may be blank
ENV BRANCH=${BRANCH}
ENV BUILD_VERSION=${BUILD_VERSION}
ENV COMMIT=${COMMIT}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# copy repository
WORKDIR /build/sunshine/
COPY --link .. .
# cmake and cpack
RUN <<_BUILD
#!/bin/bash
set -e
chmod +x ./scripts/linux_build.sh
./scripts/linux_build.sh \
--publisher-name='LizardByte' \
--publisher-website='https://app.lizardbyte.dev' \
--publisher-issue-url='https://app.lizardbyte.dev/support' \
--sudo-off
apt-get clean
rm -rf /var/lib/apt/lists/*
_BUILD
# run tests
WORKDIR /build/sunshine/build/tests
# hadolint ignore=SC1091
RUN <<_TEST
#!/bin/bash
set -e
export DISPLAY=:1
Xvfb ${DISPLAY} -screen 0 1024x768x24 &
./test_sunshine --gtest_color=yes
_TEST
FROM scratch AS artifacts
ARG BASE
ARG TAG
ARG TARGETARCH
COPY --link --from=sunshine-build /build/sunshine/build/cpack_artifacts/Sunshine.deb /sunshine-${BASE}-${TAG}-${TARGETARCH}.deb
FROM sunshine-base AS sunshine
# copy deb from builder
COPY --link --from=artifacts /sunshine*.deb /sunshine.deb
# install sunshine
RUN <<_INSTALL_SUNSHINE
#!/bin/bash
set -e
apt-get update -y
apt-get install -y --no-install-recommends /sunshine.deb
apt-get clean
rm -rf /var/lib/apt/lists/*
_INSTALL_SUNSHINE
# network setup
EXPOSE 47984-47990/tcp
EXPOSE 48010
EXPOSE 47998-48000/udp
# setup user
ARG PGID=1000
ENV PGID=${PGID}
ARG PUID=1000
ENV PUID=${PUID}
ENV TZ="UTC"
ARG UNAME=lizard
ENV UNAME=${UNAME}
ENV HOME=/home/$UNAME
# setup user
RUN <<_SETUP_USER
#!/bin/bash
set -e
groupadd -f -g "${PGID}" "${UNAME}"
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -u "${PUID}" "${UNAME}"
mkdir -p ${HOME}/.config/sunshine
ln -s ${HOME}/.config/sunshine /config
chown -R ${UNAME} ${HOME}
_SETUP_USER
USER ${UNAME}
WORKDIR ${HOME}
# entrypoint
ENTRYPOINT ["/usr/bin/sunshine"]
+106
View File
@@ -0,0 +1,106 @@
# syntax=docker/dockerfile:1
# artifacts: true
# platforms: linux/amd64,linux/arm64/v8
# platforms_pr: linux/amd64
# no-cache-filters: sunshine-base,artifacts,sunshine
ARG BASE=ubuntu
ARG TAG=24.04
FROM ${BASE}:${TAG} AS sunshine-base
ENV DEBIAN_FRONTEND=noninteractive
FROM sunshine-base AS sunshine-build
ARG BRANCH
ARG BUILD_VERSION
ARG COMMIT
# note: BUILD_VERSION may be blank
ENV BRANCH=${BRANCH}
ENV BUILD_VERSION=${BUILD_VERSION}
ENV COMMIT=${COMMIT}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# copy repository
WORKDIR /build/sunshine/
COPY --link .. .
# cmake and cpack
RUN <<_BUILD
#!/bin/bash
set -e
chmod +x ./scripts/linux_build.sh
./scripts/linux_build.sh \
--publisher-name='LizardByte' \
--publisher-website='https://app.lizardbyte.dev' \
--publisher-issue-url='https://app.lizardbyte.dev/support' \
--sudo-off
apt-get clean
rm -rf /var/lib/apt/lists/*
_BUILD
# run tests
WORKDIR /build/sunshine/build/tests
# hadolint ignore=SC1091
RUN <<_TEST
#!/bin/bash
set -e
export DISPLAY=:1
Xvfb ${DISPLAY} -screen 0 1024x768x24 &
./test_sunshine --gtest_color=yes
_TEST
FROM scratch AS artifacts
ARG BASE
ARG TAG
ARG TARGETARCH
COPY --link --from=sunshine-build /build/sunshine/build/cpack_artifacts/Sunshine.deb /sunshine-${BASE}-${TAG}-${TARGETARCH}.deb
FROM sunshine-base AS sunshine
# copy deb from builder
COPY --link --from=artifacts /sunshine*.deb /sunshine.deb
# install sunshine
RUN <<_INSTALL_SUNSHINE
#!/bin/bash
set -e
apt-get update -y
apt-get install -y --no-install-recommends /sunshine.deb
apt-get clean
rm -rf /var/lib/apt/lists/*
_INSTALL_SUNSHINE
# network setup
EXPOSE 47984-47990/tcp
EXPOSE 48010
EXPOSE 47998-48000/udp
# setup user
ARG PGID=1001
ENV PGID=${PGID}
ARG PUID=1001
ENV PUID=${PUID}
ENV TZ="UTC"
ARG UNAME=lizard
ENV UNAME=${UNAME}
ENV HOME=/home/$UNAME
# setup user
RUN <<_SETUP_USER
#!/bin/bash
set -e
groupadd -f -g "${PGID}" "${UNAME}"
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -u "${PUID}" "${UNAME}"
mkdir -p ${HOME}/.config/sunshine
ln -s ${HOME}/.config/sunshine /config
chown -R ${UNAME} ${HOME}
_SETUP_USER
USER ${UNAME}
WORKDIR ${HOME}
# entrypoint
ENTRYPOINT ["/usr/bin/sunshine"]
+69
View File
@@ -0,0 +1,69 @@
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
# All text after a double hash (##) is considered a comment and is placed in
# front of the TAG it is preceding.
#
# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").
#
# Note:
#
# Use doxygen to compare the used configuration file with the template
# configuration file:
# doxygen -x [configFile]
# Use doxygen to compare the used configuration file with the template
# configuration file without replacing the environment variables or CMake type
# replacement variables:
# doxygen -x_noenv [configFile]
# project metadata
DOCSET_BUNDLE_ID = dev.lizardbyte.Sunshine
DOCSET_PUBLISHER_ID = dev.lizardbyte.Sunshine.documentation
PROJECT_BRIEF = "Self-hosted game stream host for Moonlight."
PROJECT_ICON = ../sunshine.ico
PROJECT_LOGO = ../sunshine.png
PROJECT_NAME = Sunshine
# project specific settings
DOT_GRAPH_MAX_NODES = 60
# IMAGE_PATH = ../docs/images
PREDEFINED += SUNSHINE_BUILD_WAYLAND
PREDEFINED += SUNSHINE_TRAY=1
# TODO: Enable this when we have complete documentation
WARN_IF_UNDOCUMENTED = NO
# files and directories to process
USE_MDFILE_AS_MAINPAGE = ../README.md
INPUT = ../README.md \
getting_started.md \
changelog.md \
../DOCKER_README.md \
third_party_packages.md \
gamestream_migration.md \
legal.md \
configuration.md \
app_examples.md \
guides.md \
performance_tuning.md \
api.md \
troubleshooting.md \
building.md \
contributing.md \
../third-party/doxyconfig/docs/source_code.md \
../src
# extra css
HTML_EXTRA_STYLESHEET += doc-styles.css
# extra js
HTML_EXTRA_FILES += api.js
HTML_EXTRA_FILES += configuration.js
# custom aliases
ALIASES += api_examples{3|}="@htmlonly<script>(function() { let examples = generateExamples('\1', '\2', \3); document.write(createTabs(examples)); })();</script>@endhtmlonly"
+130
View File
@@ -0,0 +1,130 @@
function generateExamples(endpoint, method, body = null) {
let curlBodyString = '';
let psBodyString = '';
if (body) {
const curlJsonString = JSON.stringify(body).replace(/"/g, '\\"');
curlBodyString = ` -d "${curlJsonString}"`;
psBodyString = `-Body (ConvertTo-Json ${JSON.stringify(body)})`;
}
return {
cURL: `curl -u user:pass -X ${method.trim()} -k https://localhost:47990${endpoint.trim()}${curlBodyString}`,
Python: `import json
import requests
from requests.auth import HTTPBasicAuth
requests.${method.trim().toLowerCase()}(
auth=HTTPBasicAuth('user', 'pass'),
url='https://localhost:47990${endpoint.trim()}',
verify=False,${body ? `\n json=${JSON.stringify(body)},` : ''}
).json()`,
JavaScript: `fetch('https://localhost:47990${endpoint.trim()}', {
method: '${method.trim()}',
headers: {
'Authorization': 'Basic ' + btoa('user:pass'),
'Content-Type': 'application/json',
}${body ? `,\n body: JSON.stringify(${JSON.stringify(body)}),` : ''}
})
.then(response => response.json())
.then(data => console.log(data));`,
PowerShell: `Invoke-RestMethod \`
-SkipCertificateCheck \`
-Uri 'https://localhost:47990${endpoint.trim()}' \`
-Method ${method.trim()} \`
-Headers @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes('user:pass'))}
${psBodyString}`
};
}
function hashString(str) {
let hash = 0;
for (let i = 0; i < str.length; i++) {
const char = str.charCodeAt(i);
hash = (hash << 5) - hash + char;
hash |= 0; // Convert to 32bit integer
}
return hash;
}
function createTabs(examples) {
const languages = Object.keys(examples);
let tabs = '<div class="tabs-overview-container"><div class="tabs-overview">';
let content = '<div class="tab-content">';
languages.forEach((lang, index) => {
const hash = hashString(examples[lang]);
tabs += `<button class="tab-button ${index === 0 ? 'active' : ''}" onclick="openTab(event, '${lang}')"><b class="tab-title" title=" ${lang} "> ${lang} </b></button>`;
content += `<div id="${lang}" class="tabcontent" style="display: ${index === 0 ? 'block' : 'none'};">
<div class="doxygen-awesome-fragment-wrapper">
<div class="fragment">
${examples[lang].split('\n').map(line => `<div class="line">${line}</div>`).join('')}
</div>
<doxygen-awesome-fragment-copy-button id="copy-button-${lang}-${hash}" title="Copy to clipboard">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
<path d="M0 0h24v24H0V0z" fill="none"></path>
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path>
</svg>
</doxygen-awesome-fragment-copy-button>
</div>
</div>`;
});
tabs += '</div></div>';
content += '</div>';
setTimeout(() => {
languages.forEach((lang, index) => {
const hash = hashString(examples[lang]);
const copyButton = document.getElementById(`copy-button-${lang}-${hash}`);
copyButton.addEventListener('click', copyContent);
});
}, 0);
return tabs + content;
}
function copyContent() {
const content = this.previousElementSibling.cloneNode(true);
if (content instanceof Element) {
// filter out line number from file listings
content.querySelectorAll(".lineno, .ttc").forEach((node) => {
node.remove();
});
let textContent = Array.from(content.querySelectorAll('.line'))
.map(line => line.innerText)
.join('\n')
.trim(); // Join lines with newline characters and trim leading/trailing whitespace
navigator.clipboard.writeText(textContent);
this.classList.add("success");
this.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`;
window.setTimeout(() => {
this.classList.remove("success");
this.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`;
}, 980);
} else {
console.error('Failed to copy: content is not a DOM element');
}
}
function openTab(evt, lang) {
const tabcontent = document.getElementsByClassName("tabcontent");
for (const content of tabcontent) {
content.style.display = "none";
}
const tablinks = document.getElementsByClassName("tab-button");
for (const link of tablinks) {
link.className = link.className.replace(" active", "");
}
const selectedTabs = document.querySelectorAll(`#${lang}`);
for (const tab of selectedTabs) {
tab.style.display = "block";
}
const selectedButtons = document.querySelectorAll(`.tab-button[onclick*="${lang}"]`);
for (const button of selectedButtons) {
button.className += " active";
}
}
+71
View File
@@ -0,0 +1,71 @@
# API
Sunshine has a RESTful API which can be used to interact with the service.
Unless otherwise specified, authentication is required for all API calls. You can authenticate using
basic authentication with the admin username and password.
@htmlonly
<script src="api.js"></script>
@endhtmlonly
## GET /api/apps
@copydoc confighttp::getApps()
## POST /api/apps
@copydoc confighttp::saveApp()
## POST /api/apps/close
@copydoc confighttp::closeApp()
## DELETE /api/apps/{index}
@copydoc confighttp::deleteApp()
## GET /api/clients/list
@copydoc confighttp::getClients()
## POST /api/clients/unpair
@copydoc confighttp::unpair()
## POST /api/clients/unpair-all
@copydoc confighttp::unpairAll()
## GET /api/config
@copydoc confighttp::getConfig()
## GET /api/configLocale
@copydoc confighttp::getLocale()
## POST /api/config
@copydoc confighttp::saveConfig()
## POST /api/covers/upload
@copydoc confighttp::uploadCover()
## GET /api/logs
@copydoc confighttp::getLogs()
## POST /api/password
@copydoc confighttp::savePassword()
## POST /api/pin
@copydoc confighttp::savePin()
## POST /api/reset-display-device-persistence
@copydoc confighttp::resetDisplayDevicePersistence()
## POST /api/restart
@copydoc confighttp::restart()
<div class="section_buttons">
| Previous | Next |
|:--------------------------------------------|--------------------------------------:|
| [Performance Tuning](performance_tuning.md) | [Troubleshooting](troubleshooting.md) |
</div>
<details style="display: none;">
<summary></summary>
[TOC]
</details>
+334
View File
@@ -0,0 +1,334 @@
# App Examples
Since not all applications behave the same, we decided to create some examples to help you get started adding games
and applications to Sunshine.
@attention{Throughout these examples, any fields not shown are left blank. You can enhance your experience by
adding an image or a log file (via the `Output` field).}
@note{When a working directory is not specified, it defaults to the folder where the target application resides.}
## Common Examples
### Desktop
| Field | Value |
|------------------|----------------------------|
| Application Name | @code{}Desktop@endcode |
| Image | @code{}desktop.png@endcode |
### Steam Big Picture
@note{Steam is launched as a detached command because Steam starts with a process that self updates itself and the original
process is killed.}
@tabs{
@tab{Linux | <!-- -->
\| Field \| Value \|
\|-------------------\|-----------------------------------------------------\|
\| Application Name \| @code{}Steam Big Picture@endcode \|
\| Detached Commands \| @code{}setsid steam steam://open/bigpicture@endcode \|
\| Image \| @code{}steam.png@endcode \|
}
@tab{macOS | <!-- -->
\| Field \| Value \|
\|-------------------\|---------------------------------------------------\|
\| Application Name \| @code{}Steam Big Picture@endcode \|
\| Detached Commands \| @code{}open steam steam://open/bigpicture@endcode \|
\| Image \| @code{}steam.png@endcode \|
}
@tab{Windows | <!-- -->
\| Field \| Value \|
\|-------------------\|----------------------------------------\|
\| Application Name \| @code{}Steam Big Picture@endcode \|
\| Detached Commands \| @code{}steam://open/bigpicture@endcode \|
\| Image \| @code{}steam.png@endcode \|
}
}
### Epic Game Store game
@note{Using URI method will be the most consistent between various games.}
#### URI
@tabs{
@tab{Windows | <!-- -->
\| Field \| Value \|
\|------------------\|-------------------------------------------------------------------------------------------------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Commands \| @code{}com.epicgames.launcher://apps/d759128018124dcabb1fbee9bb28e178%3A20729b9176c241f0b617c5723e70ec2d%3AOvenbird?action=launch&silent=true@endcode \|
}
}
#### Binary (w/ working directory
@tabs{
@tab{Windows | <!-- -->
\| Field \| Value \|
\|-------------------\|------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}MarsEpic.exe@endcode \|
\| Working Directory \| @code{}"C:\Program Files\Epic Games\SurvivingMars"@endcode \|
}
}
#### Binary (w/o working directory)
@tabs{
@tab{Windows | <!-- -->
\| Field \| Value \|
\|-------------------\|-------------------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}"C:\Program Files\Epic Games\SurvivingMars\MarsEpic.exe"@endcode \|
}
}
### Steam game
@note{Using URI method will be the most consistent between various games.}
#### URI
@tabs{
@tab{Linux | <!-- -->
\| Field \| Value \|
\|-------------------\|------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Detached Commands \| @code{}setsid steam steam://rungameid/464920@endcode \|
}
@tab{macOS | <!-- -->
\| Field \| Value \|
\|-------------------\|----------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Detached Commands \| @code{}open steam://rungameid/464920@endcode \|
}
@tab{Windows | <!-- -->
\| Field \| Value \|
\|-------------------\|-----------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Detached Commands \| @code{}steam://rungameid/464920@endcode \|
}
}
#### Binary (w/ working directory
@tabs{
@tab{Linux | <!-- -->
\| Field \| Value \|
\|-------------------\|--------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}MarsSteam@endcode \|
\| Working Directory \| @code{}~/.steam/steam/SteamApps/common/Survivng Mars@endcode \|
}
@tab{macOS | <!-- -->
\| Field \| Value \|
\|-------------------\|--------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}MarsSteam@endcode \|
\| Working Directory \| @code{}~/.steam/steam/SteamApps/common/Survivng Mars@endcode \|
}
@tab{Windows | <!-- -->
\| Field \| Value \|
\|-------------------\|-------------------------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}MarsSteam.exe@endcode \|
\| Working Directory \| @code{}"C:\Program Files (x86)\Steam\steamapps\common\Surviving Mars"@endcode \|
}
}
#### Binary (w/o working directory)
@tabs{
@tab{Linux | <!-- -->
\| Field \| Value \|
\|-------------------\|------------------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}~/.steam/steam/SteamApps/common/Survivng Mars/MarsSteam@endcode \|
}
@tab{macOS | <!-- -->
\| Field \| Value \|
\|-------------------\|------------------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}~/.steam/steam/SteamApps/common/Survivng Mars/MarsSteam@endcode \|
}
@tab{Windows | <!-- -->
\| Field \| Value \|
\|-------------------\|---------------------------------------------------------------------------------------------\|
\| Application Name \| @code{}Surviving Mars@endcode \|
\| Command \| @code{}"C:\Program Files (x86)\Steam\steamapps\common\Surviving Mars\MarsSteam.exe"@endcode \|
}
}
### Prep Commands
#### Changing Resolution and Refresh Rate
##### Linux
###### X11
| Prep Step | Command |
|-----------|---------------------------------------------------------------------------------------------------------------------------------------|
| Do | @code{}sh -c "xrandr --output HDMI-1 --mode ${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT} --rate ${SUNSHINE_CLIENT_FPS}"@endcode |
| Undo | @code{}xrandr --output HDMI-1 --mode 3840x2160 --rate 120@endcode |
@hint{The above only works if the xrandr mode already exists. You will need to create new modes to stream to macOS
and iOS devices, since they use non-standard resolutions.
You can update the ``Do`` command to this:
```bash
bash -c "${HOME}/scripts/set-custom-res.sh \"${SUNSHINE_CLIENT_WIDTH}\" \"${SUNSHINE_CLIENT_HEIGHT}\" \"${SUNSHINE_CLIENT_FPS}\""
```
The `set-custom-res.sh` will have this content:
```bash
#!/bin/bash
set -e
# Get params and set any defaults
width=${1:-1920}
height=${2:-1080}
refresh_rate=${3:-60}
# You may need to adjust the scaling differently so the UI/text isn't too small / big
scale=${4:-0.55}
# Get the name of the active display
display_output=$(xrandr | grep " connected" | awk '{ print $1 }')
# Get the modeline info from the 2nd row in the cvt output
modeline=$(cvt ${width} ${height} ${refresh_rate} | awk 'FNR == 2')
xrandr_mode_str=${modeline//Modeline \"*\" /}
mode_alias="${width}x${height}"
echo "xrandr setting new mode ${mode_alias} ${xrandr_mode_str}"
xrandr --newmode ${mode_alias} ${xrandr_mode_str}
xrandr --addmode ${display_output} ${mode_alias}
# Reset scaling
xrandr --output ${display_output} --scale 1
# Apply new xrandr mode
xrandr --output ${display_output} --primary --mode ${mode_alias} --pos 0x0 --rotate normal --scale ${scale}
# Optional reset your wallpaper to fit to new resolution
# xwallpaper --zoom /path/to/wallpaper.png
```
}
###### Wayland
| Prep Step | Command |
|-----------|------------------------------------------------------------------------------------------------------------------------------------------|
| Do | @code{}sh -c "wlr-xrandr --output HDMI-1 --mode \"${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}@${SUNSHINE_CLIENT_FPS}Hz\""@endcode |
| Undo | @code{}wlr-xrandr --output HDMI-1 --mode 3840x2160@120Hz@endcode |
@hint{`wlr-xrandr` only works with wlroots-based compositors.}
###### Gnome (Wayland, X11)
| Prep Step | Command |
|-----------|---------------------------------------------------------------------------------------------------------------------------------------|
| Do | @code{}sh -c "xrandr --output HDMI-1 --mode ${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT} --rate ${SUNSHINE_CLIENT_FPS}"@endcode |
| Undo | @code{}xrandr --output HDMI-1 --mode 3840x2160 --rate 120@endcode |
The commands above are valid for an X11 session but won't work for
Wayland. In that case `xrandr` must be replaced by [gnome-randr.py](https://gitlab.com/Oschowa/gnome-randr).
This script is intended as a drop-in replacement with the same syntax. (It can be saved in
`/usr/local/bin` and needs to be made executable.)
###### KDE Plasma (Wayland, X11)
| Prep Step | Command |
|-----------|--------------------------------------------------------------------------------------------------------------------------------------|
| Do | @code{}sh -c "kscreen-doctor output.HDMI-A-1.mode.${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}@${SUNSHINE_CLIENT_FPS}"@endcode |
| Undo | @code{}kscreen-doctor output.HDMI-A-1.mode.3840x2160@120@endcode |
@attention{The names of your displays will differ between X11 and Wayland.
Be sure to use the correct name, depending on your session manager.
e.g. On X11, the monitor may be called ``HDMI-A-0``, but on Wayland, it may be called ``HDMI-A-1``.
}
@hint{Replace ``HDMI-A-1`` with the display name of the monitor you would like to use for Moonlight.
You can list the monitors available to you with:
```
kscreen-doctor -o
```
These will also give you the supported display properties for each monitor. You can select them either by
hard-coding their corresponding number (e.g. ``kscreen-doctor output.HDMI-A1.mode.0``) or using the above
``do`` command to fetch the resolution requested by your Moonlight client
(which has a chance of not being supported by your monitor).
}
###### NVIDIA
| Prep Step | Command |
|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Do | @code{}sh -c "nvidia-settings -a CurrentMetaMode=\"HDMI-1: nvidia-auto-select { ViewPortIn=${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}, ViewPortOut=${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT}+0+0 }\""@endcode |
| Undo | @code{}nvidia-settings -a CurrentMetaMode=\"HDMI-1: nvidia-auto-select { ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0 }"@endcode |
##### macOS
###### displayplacer
@note{This example uses the `displayplacer` tool to change the resolution.
This tool can be installed following instructions in their
[GitHub repository](https://github.com/jakehilborn/displayplacer)}.
| Prep Step | Command |
|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Do | @code{}sh -c "displayplacer \"id:<screenId> res:${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT} hz:${SUNSHINE_CLIENT_FPS} scaling:on origin:(0,0) degree:0\""@endcode |
| Undo | @code{}displayplacer "id:<screenId> res:3840x2160 hz:120 scaling:on origin:(0,0) degree:0"@endcode |
##### Windows
Sunshine has built-in support for changing the resolution and refresh rate on Windows. If you prefer to use a
third-party tool, you can use *QRes* as an example.
###### QRes
@note{This example uses the *QRes* tool to change the resolution and refresh rate.
This tool can be downloaded from their [SourceForge repository](https://sourceforge.net/projects/qres).}
| Prep Step | Command |
|-----------|---------------------------------------------------------------------------------------------------------------------------|
| Do | @code{}cmd /C "FullPath\qres.exe /x:%SUNSHINE_CLIENT_WIDTH% /y:%SUNSHINE_CLIENT_HEIGHT% /r:%SUNSHINE_CLIENT_FPS%"@endcode |
| Undo | @code{}FullPath\qres.exe /x:3840 /y:2160 /r:120@endcode |
### Additional Considerations
#### Linux (Flatpak)
@attention{Because Flatpak packages run in a sandboxed environment and do not normally have access to the
host, the Flatpak of Sunshine requires commands to be prefixed with `flatpak-spawn --host`.}
#### Windows
**Elevating Commands (Windows)**
If you've installed Sunshine as a service (default), you can specify if a command should be elevated with
administrative privileges. Simply enable the elevated option in the WEB UI, or add it to the JSON configuration.
This is an option for both prep-cmd and regular commands and will launch the process with the current user without a
UAC prompt.
**Example**
```json
{
"name": "Game With AntiCheat that Requires Admin",
"output": "",
"cmd": "ping 127.0.0.1",
"exclude-global-prep-cmd": false,
"elevated": true,
"prep-cmd": [
{
"do": "powershell.exe -command \"Start-Streaming\"",
"undo": "powershell.exe -command \"Stop-Streaming\"",
"elevated": false
}
],
"image-path": ""
}
```
<div class="section_buttons">
| Previous | Next |
|:----------------------------------|--------------------:|
| [Configuration](configuration.md) | [Guides](guides.md) |
</div>
<details style="display: none;">
<summary></summary>
[TOC]
</details>

Some files were not shown because too many files have changed in this diff Show More