Commit Graph

231 Commits

Author SHA1 Message Date
Stenzek 18e3a9987e deps: Build MoltenVK on MacOS 2024-03-23 12:14:56 +10:00
TellowKrinkle 60cb78577f CI:mac: Set CMAKE_INSTALL_NAME_DIR
CMake defaults to using rpath-based installs, but doesn't set rpath to include the deps dir when building, breaking Qt builds when they try to invoke rcc (which links against zstd) from the build dir
2024-03-23 00:01:43 +10:00
TellowKrinkle e8ad355a90 CI:mac: Use shared cmake config variable 2024-03-23 00:01:43 +10:00
TellowKrinkle 0a161f9591 CI: Support relative dirs in install scripts 2024-03-23 00:01:43 +10:00
Stenzek 88165ab072 CI: Update to SDL2 2.30.1 and Qt 6.6.2 2024-03-09 14:04:14 +10:00
Bart Piotrowski 19c3dd8419
ci: Switch Flatpak build to flathub-infra/flatpak-github-actions (#10838)
* ci: Switch Flatpak build to flathub-infra/flatpak-github-actions

Flathub team has recently forked flatpak-github-actions and merged
various PRs submitted to the original repo. However, it's not versioned
(yet?), so pin the latest commit instead.

Additionally, enable validation of the build using flatpak-builder-lint,
and run all steps in the container with the runtime and required tooling
baked in.

* Update mirror-screenshots-url

* Shush git complaining about "dubious" ownership

* Update date format to iso8601

* Fix flatpak-builder-lint invocations
2024-02-24 14:19:35 +10:00
Stenzek 8ffd920700 deps: Fix prefix for libbacktrace on Linux 2024-02-05 13:19:27 +10:00
Stenzek 65882ae14d deps: Bump to SDL2 2.30.0 2024-02-05 13:19:27 +10:00
Stenzek 3d13c5d13c CI: Allow user to override deps build path 2024-01-14 14:05:16 +10:00
dependabot[bot] 7207681485
CI: migrate to upload-artifact@v4, download-artifact@v4 and labeler@v5 (#10431)
* Bump actions/upload-artifact from 3 to 4

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
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>

* Bump actions/download-artifact from 3 to 4

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

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

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

* github: group github actions updates going forward

* ci: update to labeler@v5

* ci: properly differentiate between windows build artifacts on PRs

* ci: workaround flatpak-builder temporarily as well as test fix

* ci: simplify things, just explicitly specify the artifact names in the workflows

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2024-01-06 15:44:44 -05:00
Stenzek 0784b5930b CMake: Use shared libwebp, liblz4, and libzstd on Linux/Mac 2023-12-31 13:08:03 +10:00
Stenzek 6de792c465 CI: Add xz/zstd/lz4/webp to Mac dependencies
Also fix building on Apple Silicon, and allow the destination path to be
specified, instead of being hardcoded to $HOME/deps.
2023-12-31 13:08:03 +10:00
Stenzek 9c416bdbc1 Qt: Patch macdeployqt to always deploy Qt SVG imageformat plugin
This seems silly, but since we don't have a direct reference to
QtSvg, it doesn't deployed directly from the main binary
(only indirectly from iconengines), and the libqsvg.dylib imageformat
plugin does not get deployed.

Patch macdeploy to remove the Svg check, ensuring the dylib is always
deployed.

Fixes controller images not being displayed in Mac builds.
2023-12-25 18:05:41 +10:00
Stenzek 0dfc35ee5f deps: Bump to Qt 6.6.1 and SDL2 2.28.5 2023-12-02 16:51:46 +10:00
Stenzek bb7e08cdce CI/AppImage: Add I_WANT_A_BROKEN_WAYLAND_UI environment variable 2023-10-29 22:48:37 +10:00
Stenzek 802081c3f8 CI/Flatpak: Validate build before pushing 2023-10-28 21:28:36 +10:00
Stenzek 2a2cd0dbca CI/Flatpak: Use socket=x11 instead of fallback 2023-10-28 21:28:36 +10:00
Stenzek 7205f10ec2 CI/Flatpak: Drop host:ro filesystem permission
We don't need it. Adding directories through portals in Qt works fine.
2023-10-25 17:53:17 +10:00
Stenzek f7750f04a6 CI/Flatpak: Disable Wayland support 2023-10-25 17:53:17 +10:00
Stenzek d58d84dbcf CI/Flatpak: Bump to KDE 6.6 runtime 2023-10-25 17:53:17 +10:00
Stenzek f025261ddf CI/AppImage: Bump to Clang/LLVM 17 2023-10-25 17:53:17 +10:00
Stenzek dcf57093f8 CI/AppImage: Disable Wayland support 2023-10-25 17:53:17 +10:00
Stenzek d27ad8e23a CI/AppImage: Enable DBus for dependencies 2023-10-25 13:38:15 +10:00
Mrlinkwii 1bc77620d9 CI: remove libjpeg from mac build script 2023-10-14 21:48:41 +10:00
Stenzek e5cb313d92 deps: Update to Qt 6.6.0 and SDL2 2.28.4
Also bumps the minimum macOS version to 11.0.

Minimum for building is 6.5.3, because there's no 6.6 flatpak runtime yet.
2023-10-14 12:26:44 +10:00
Stenzek 9dad1d79d7 CMake: Generate/copy qtbase translations on Linux/Mac 2023-09-17 16:57:58 +10:00
Stenzek f250b006b1 CI: Disable MFI joystick for SDL on MacOS 2023-09-07 14:09:25 +10:00
refractionpcsx2 b74ae9fabf Build: patch in Qt monitor fix from post 6.5.2 2023-09-01 17:09:21 +01:00
Stenzek dfa6165662 CI/MacOS: No longer need to build SoundTouch 2023-08-26 17:23:14 +10:00
Stenzek 3567d8913f CMake: Use dynamic SDL2 on all platforms 2023-08-26 17:23:14 +10:00
Stenzek 8276054671 CI: Build Windows dependencies as part of workflow 2023-08-26 17:23:14 +10:00
Tyler Wilding 76a04efc5c ci: properly fetch release info to make announcement 2023-08-03 21:41:46 +01:00
Stenzek 876b576679 CI: Pin flat-manager-client version 2023-07-24 21:26:41 +10:00
Stenzek 4b50d016b5 CI: Add qtimageformats for Linux/Mac 2023-07-23 17:34:50 +10:00
Stenzek 041c0ce86c CI/Linux: Include AppStream XML in AppImage 2023-07-22 18:47:47 +10:00
Stenzek 90aabdf499 CI/Linux: Fix AppImage getting symbols stripped 2023-07-22 18:47:47 +10:00
TellowKrinkle 484b75f755 GHActions:MacOS: Bundle a minimal ffmpeg 2023-07-22 00:40:24 -05:00
TellowKrinkle 7ba7e04a13 Qt: Stop open/save dialogs from spamming users with permission requests 2023-07-20 19:58:45 +10:00
charlesthobe fef06a1544 Flatpak: Add project links to the flathub store page 2023-07-20 18:34:47 +10:00
Tyler Wilding 822b166753 ci: one workflow to fix caching issue and simplify releases 2023-07-20 08:38:05 +01:00
Stenzek 6ec0b44487 CI: Add daily base translation update 2023-07-17 23:24:37 +10:00
Ali d4acb95d7c Flatpak: Add the talk-name flag for org.freedesktop.Screensaver
This brings the functionality in line with the old Flatpak release. This allows PCSX2 to inhibit the screensaver or screen blanking without needing to touch the mouse/keyboard while the VM is running.
2023-07-14 14:53:05 +10:00
Stenzek 494afb9d43 Linux/CI: Switch to Ubuntu 22.04 and linuxdeploy 2023-07-10 14:16:41 +10:00
refractionpcsx2 c994e4828d Build: Restore old filenames temporarily 2023-07-09 23:18:43 +01:00
Stenzek c5aa04d4eb CI: Remove redundant GUI variables
And adjust release filenames.
2023-07-09 21:14:23 +01:00
Stenzek 10a5ea2a29 3rdparty/SDL2: Bump to v2.28.1 2023-07-07 21:06:53 +10:00
Stenzek ecabadbf95 CMake: Use FindWayland from ECM
Fixes previously-broken FindWayland.cmake which had local modifications
that prevented PCSX2 from being compiled on OpenSUSE.
2023-07-06 12:30:05 +10:00
Stenzek 9d2d8c0713 CI/Linux: Hopefully fix Flathub release versioning 2023-07-01 14:17:29 +10:00
Stenzek ea803ff2d4 Build: Always use bundled soundtouch
Because we're disabling exceptions in it.

Might gain a bit of speed by -Ofast as well.
2023-06-30 21:37:44 +10:00
Stenzek db642b05c0 CI/Linux: Add manifest to AppStream XML 2023-06-30 02:41:29 +10:00
Stenzek 7da904aa00 CI/Linux: Use add-extensions for ffmpeg in Flatpak 2023-06-30 02:41:29 +10:00
kamfretoz 7a6c0c6b4b Qt: Update main PCSX2 icon 2023-06-27 21:13:12 +01:00
Stenzek 19cf29e5cf CI/Linux: Push to Flathub beta 2023-06-27 01:50:15 +10:00
Stenzek 8fe9282bd9 Qt: De-duplicate AppIcon 2023-06-26 17:52:39 +10:00
Stenzek cd4d829f9f CI/Linux: Use clang 16 for AppImage 2023-06-24 02:10:35 +10:00
Stenzek 0366929231 Flatpak: Add screenshots 2023-06-22 18:32:51 +10:00
Stenzek 161cead2e4 CI: Install ffmpeg packages on AppImage builder 2023-06-16 22:36:57 +10:00
Stenzek 1b953c1dc7 CI/Linux: Add Flatpak build files 2023-06-14 22:56:37 +10:00
Stenzek c33960b411 CI/Linux: Allow path to clang and build deps to be set at build time 2023-06-14 22:56:37 +10:00
CharlesThobe 9de152b8ee Linux: implement DBus screensaver inhibitor 2023-04-30 19:18:53 +01:00
Connor McLaughlin 1d7a69ad40 AppImage: Include libxcb-cursor 2023-04-13 10:51:09 +01:00
TellowKrinkle 128cf9b57d 3rdparty:macOS: Update to Qt 6.4.3
Gives us 5 more months to decide whether we want to use 6.2 LTS or drop macOS 10.14 and macOS 10.15 support
2023-04-13 08:27:49 +01:00
TellowKrinkle e5b7adb228 3rdparty:linux: Update to Qt 6.5.0 2023-04-13 08:27:49 +01:00
TellowKrinkle bd5ae66fbe 3rdparty: Update SDL to 2.26.5 2023-04-13 08:27:49 +01:00
Stenzek 1499994143 CI: Update Linux to Qt 6.4.3 and SDL2 2.26.4 2023-03-20 15:46:32 +00:00
Stenzek 8c8bf22892 CI: Build libbacktrace in Linux deps 2023-03-20 15:46:32 +00:00
TellowKrinkle 0ba1a42867 CI:macOS: Use xz for distribution
macOS 10.14 fixed a bug where Archive Utility couldn't decompress .tar.xz and is now our minimum version
2023-03-17 03:18:02 +01:00
TellowKrinkle 2cd5ce6aea GHActions: Update release pipeline for MultiISA 2023-01-25 18:27:06 -06:00
Stenzek 771d3c3c9d CI: Retry downloading commands on Linux
The Azure Ubuntu package server, in particular, seems to be very
unreliable. Hopefully within 10 attempts it'll complete the package
download in such cases.
2023-01-13 09:30:46 +00:00
Stenzek f240660a6e CMake: Post-WX cleanup
- Remove unused build options

 - Disable setcap by default
    Applications should not need to call sudo as part of the build process.

 - Rename XDG_STD to USE_LEGACY_USER_DIRECTORY
    By default, we use ~/.config/PCSX2 now.

 - Default Wayland support to on
    I don't think there's any systems worth supporting that don't have it.

 - Rework "install" logic
    Linux no longer installs to GIT_ROOT/bin, it builds direct to BUILD/bin.
    Saves a file copy, and running make install before running your developer
    build was always silly.

 - Don't require install target to build appimage
    AppImage creator now just adds the entire bin directory as-is.
    Everything needed is in there.
2023-01-02 14:13:42 +00:00
lightningterror 2de6a5029f gh-workflows-macos: Remove leftover wx dependencies.
Also remove qt gui check since it's the only gui we use.
2023-01-02 08:50:43 +01:00
Mrlinkwii 8681eb0251 CI : remove mention to wxWidgets in MAC build-dependencies 2022-12-29 09:37:40 +01:00
Stenzek 2b99f3c753 pcsx2-wx: Finally remove it all 2022-12-24 08:42:23 +00:00
Stenzek 7cb22815e6 CI: Remove wx builds 2022-12-24 07:59:22 +00:00
lightningterror 3d551e384a workflows: Remove external shaders directory from appimage. 2022-11-29 09:46:31 +01:00
TellowKrinkle bb2016889a 3rdparty: Update SDL to 2.26.0 2022-11-25 23:47:32 -06:00
AKuHAK 2ab27ef42a formatter: apply editorconig into various files 2022-11-25 22:41:00 +00:00
Connor McLaughlin db8fb7f5a3 AppImage: Don't change current working directory 2022-11-25 10:25:28 +00:00
Tyler Wilding d1459650e1 ci/lint: remove GameDB python lint script, replace with json-schema 2022-11-15 12:15:42 +01:00
Tyler Wilding 212b2aea16 releases: allow publishing discord announcements to multiple webhooks 2022-11-08 17:44:00 +00:00
refractionpcsx2 5321ca913e EE: Implement Instant DMA hack for some cache problematic games
Bump savestate version for new dma stall flag

[SAVEVERSION+]
2022-11-07 18:56:04 +00:00
refractionpcsx2 bc2f576b30 GS-HW: SW Render CLUT draws 2022-10-30 14:46:11 +00:00
TellowKrinkle 65aeeba567 GHActions: Migrate to new variable output system 2022-10-20 09:30:00 +01:00
Connor McLaughlin 6b0564d6e4 Qt: Add automatic updater for Linux 2022-10-15 17:37:49 +01:00
TellowKrinkle af1888b21a GHActions:macOS: Remove unused dependencies 2022-10-08 22:41:59 +01:00
TellowKrinkle fca61d68b0 GHActions:MacOS: Disable Qt gssapi support
Qt's build script picks up gssapi_krb5.dylib instead of GSS.framework on some MacOS SDKs, failing the build.  We don't need GSS, so disable it instead of patching
2022-10-08 22:41:59 +01:00
Connor McLaughlin 7ea8b983d4 CI: Switch from libcurl4-gnutls-dev to libcurl4-openssl-dev
Hopefully fix the Linux AppImage not finding certificates on Debian.
2022-10-07 11:28:16 +01:00
Connor McLaughlin 27229da36f CI: Install libasound2-dev for Linux builds
Hopefully sort out cubeb not building with ALSA support.
2022-10-01 05:00:40 +01:00
Connor McLaughlin 6b245f34a2 CI: Add libcurl to appimages 2022-09-17 17:51:14 +01:00
TellowKrinkle 738c8cb630 Core: Remove trailing whitespace from all files 2022-09-16 00:52:28 -05:00
Connor McLaughlin 0f24048cd5 GameDatabase: Add gpuPaletteConversion = 2 value
Some games (e.g. Metal Gear Solid 2) use large-ish textures, with a
bunch of different CLUTs/palettes, depending on the draw. Kind-of like a
texture atlas.

This causes issues when texture preloading is enabled, as both VRAM and
GS CPU thread usage increase proporiately to the number of texture:clut
pairs (since it has to be hashed).

An alternative to disabling preloading, which is what we currently do,
is enabling GPU palette conversion in these games. Even though we
ever-so-slightly increase the GPU load due to having to do shader
sampling, the CPU load on the GS thread is considerably reduced, and
overall performance is greater. In theory it'll also achieve higher
cache hit rates on the GPU, since we're not duplicating a bunch of
textures.

However, as a general rule of thumb, we don't want to encourage people
to enable paltex, as most games run slower with it on. So, what this PR
does, is add a GameDB option for these types of games, to enable paltex
when texture preloading is set to full/hash cache, but otherwise leave
the setting alone. The best of both worlds.

NOTE: I've also forced paltex=0 for Spider-Man 2, as it uses a massive
number of palettes which can cause descriptor issues in DX12/Vulkan. A
perfect example of where you *don't* want to use paltex.
2022-09-15 12:24:43 +01:00
TellowKrinkle a50a9fcf9a GHActions: CMake builds are SSE4 2022-08-23 03:32:26 -05:00
TellowKrinkle bc7037bb52 3rdparty: Upgrade SDL to 2.24 2022-08-23 03:24:57 -05:00
tellowkrinkle fc1504f2e5 GHActions: Properly label Linux AVX2/SSE4 releases 2022-07-28 20:45:23 -05:00
Connor McLaughlin ef0fde8615 CI: Use Qt 6.3.1 for all platforms 2022-07-24 16:22:37 +01:00
Connor McLaughlin 2cf920a1d4 CI: Add AppImage builder for Qt 2022-07-05 13:05:57 +01:00
Connor McLaughlin 6daeb56550 GS: Support using SW renderer for texture decompression sprites 2022-06-29 14:03:16 +01:00
refractionpcsx2 73a3542ab2 Build: Fix appimage.sh 2022-06-23 23:25:46 +01:00
Connor McLaughlin e63c068720 GameDatabase: Add option to force blit-based FPS detection 2022-06-15 16:21:31 +01:00
TellowKrinkle 347736f2b4 GHActions:macOS: Add Qt SVG plugin 2022-06-04 22:28:15 -05:00