diff --git a/Cargo.lock b/Cargo.lock index f6970f3..fb43556 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1480,9 +1480,9 @@ dependencies = [ [[package]] name = "d3d12" -version = "0.20.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" +checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" dependencies = [ "bitflags 2.5.0", "libloading 0.8.3", @@ -1895,7 +1895,7 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "web-time", - "wgpu 0.19.4", + "wgpu", "winapi", "winit", ] @@ -1928,7 +1928,7 @@ dependencies = [ "thiserror", "type-map", "web-time", - "wgpu 0.19.4", + "wgpu", "winit", ] @@ -2729,18 +2729,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ "bitflags 2.5.0", - "gpu-descriptor-types 0.1.2", - "hashbrown 0.14.5", -] - -[[package]] -name = "gpu-descriptor" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" -dependencies = [ - "bitflags 2.5.0", - "gpu-descriptor-types 0.2.0", + "gpu-descriptor-types", "hashbrown 0.14.5", ] @@ -2753,15 +2742,6 @@ dependencies = [ "bitflags 2.5.0", ] -[[package]] -name = "gpu-descriptor-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" -dependencies = [ - "bitflags 2.5.0", -] - [[package]] name = "group" version = "0.13.0" @@ -2817,7 +2797,7 @@ dependencies = [ "toml 0.7.8", "tor-rtcompat", "walkdir", - "wgpu 0.20.0", + "wgpu", "winres", "zeroize", "zip", @@ -3607,21 +3587,6 @@ dependencies = [ "paste", ] -[[package]] -name = "metal" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" -dependencies = [ - "bitflags 2.5.0", - "block", - "core-graphics-types", - "foreign-types 0.5.0", - "log", - "objc", - "paste", -] - [[package]] name = "mime" version = "0.3.17" @@ -3685,27 +3650,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "naga" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" -dependencies = [ - "arrayvec", - "bit-set", - "bitflags 2.5.0", - "codespan-reporting", - "hexf-parse", - "indexmap 2.2.6", - "log", - "num-traits", - "rustc-hash", - "spirv", - "termcolor", - "thiserror", - "unicode-xid", -] - [[package]] name = "native-tls" version = "0.2.11" @@ -7390,7 +7334,7 @@ dependencies = [ "cfg_aliases", "js-sys", "log", - "naga 0.19.2", + "naga", "parking_lot", "profiling", "raw-window-handle 0.6.1", @@ -7399,35 +7343,9 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core 0.19.4", - "wgpu-hal 0.19.4", - "wgpu-types 0.19.2", -] - -[[package]] -name = "wgpu" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ff1bfee408e1028e2e3acbf6d32d98b08a5a059ccbf5f33305534453ba5d3e" -dependencies = [ - "arrayvec", - "cfg-if", - "cfg_aliases", - "document-features", - "js-sys", - "log", - "naga 0.20.0", - "parking_lot", - "profiling", - "raw-window-handle 0.6.1", - "smallvec", - "static_assertions", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "wgpu-core 0.20.0", - "wgpu-hal 0.20.0", - "wgpu-types 0.20.0", + "wgpu-core", + "wgpu-hal", + "wgpu-types", ] [[package]] @@ -7443,7 +7361,7 @@ dependencies = [ "codespan-reporting", "indexmap 2.2.6", "log", - "naga 0.19.2", + "naga", "once_cell", "parking_lot", "profiling", @@ -7452,35 +7370,8 @@ dependencies = [ "smallvec", "thiserror", "web-sys", - "wgpu-hal 0.19.4", - "wgpu-types 0.19.2", -] - -[[package]] -name = "wgpu-core" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6a86eaa5e763e59c73cf9e97d55fffd4dfda69fd8bda19589fcf851ddfef1f" -dependencies = [ - "arrayvec", - "bit-vec", - "bitflags 2.5.0", - "cfg_aliases", - "codespan-reporting", - "document-features", - "indexmap 2.2.6", - "log", - "naga 0.20.0", - "once_cell", - "parking_lot", - "profiling", - "raw-window-handle 0.6.1", - "rustc-hash", - "smallvec", - "thiserror", - "web-sys", - "wgpu-hal 0.20.0", - "wgpu-types 0.20.0", + "wgpu-hal", + "wgpu-types", ] [[package]] @@ -7488,48 +7379,6 @@ name = "wgpu-hal" version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1a4924366df7ab41a5d8546d6534f1f33231aa5b3f72b9930e300f254e39c3" -dependencies = [ - "android_system_properties", - "arrayvec", - "ash", - "bitflags 2.5.0", - "block", - "cfg_aliases", - "core-graphics-types", - "glow", - "glutin_wgl_sys", - "gpu-alloc", - "gpu-allocator", - "gpu-descriptor 0.2.4", - "hassle-rs", - "js-sys", - "khronos-egl", - "libc", - "libloading 0.8.3", - "log", - "metal 0.27.0", - "naga 0.19.2", - "ndk-sys", - "objc", - "once_cell", - "parking_lot", - "profiling", - "raw-window-handle 0.6.1", - "renderdoc-sys", - "rustc-hash", - "smallvec", - "thiserror", - "wasm-bindgen", - "web-sys", - "wgpu-types 0.19.2", - "winapi", -] - -[[package]] -name = "wgpu-hal" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d71c8ae05170583049b65ee562fd839fdc0b3e9ddb84f4e40c9d5f8ea0d4c8c" dependencies = [ "android_system_properties", "arrayvec", @@ -7544,15 +7393,15 @@ dependencies = [ "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", - "gpu-descriptor 0.3.0", + "gpu-descriptor", "hassle-rs", "js-sys", "khronos-egl", "libc", "libloading 0.8.3", "log", - "metal 0.28.0", - "naga 0.20.0", + "metal", + "naga", "ndk-sys", "objc", "once_cell", @@ -7566,7 +7415,7 @@ dependencies = [ "thiserror", "wasm-bindgen", "web-sys", - "wgpu-types 0.20.0", + "wgpu-types", "winapi", ] @@ -7581,17 +7430,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wgpu-types" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" -dependencies = [ - "bitflags 2.5.0", - "js-sys", - "web-sys", -] - [[package]] name = "widestring" version = "1.1.0" diff --git a/Cargo.toml b/Cargo.toml index 4355eb2..f74aa6c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -108,7 +108,7 @@ tls-api-native-tls = "0.9.0" [target.'cfg(windows)'.dependencies] zip = "1.2.2" is_elevated = "0.1.2" -wgpu = { version = "0.20.0", features = ["angle"] } +wgpu = { version = "0.19.4", features = ["angle"] } # For Windows build (icon) [target.'cfg(windows)'.build-dependencies] diff --git a/README.md b/README.md index 370e613..ff0e8cd 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ Gupax is a GUI for mining [**Monero**](https://github.com/monero-project/monero) * [License](#License) * [FAQ](#FAQ) - [System requirements](#system-requirements) + - [Gupax does not start](#gupax-does-not-start) - [Where are updates downloaded from?](#where-are-updates-downloaded-from) - [P2Pool connection errors](#p2pool-connection-errors) - [Can I quit mid-update?](#can-i-quit-mid-update) @@ -677,11 +678,26 @@ Gupax may not run on machines with: Anything more recent than this should be okay. ---- +### Gupax does not start -Gupax only supports ARM CPUs for macOS. +#### Windows +Gupax may have issues with machines with older CPUs (~14 years old, <3.3 OpenGL) on Windows. -Windows and Linux are not supported as `XMRig` does not provide official binaries. This means machines like Raspberry Pis will not work. +Gupax may also be flagged by antivirus, adding an exception to the Gupax folder should fix this. + +#### macOS +Gupax may fail to start on macOS due to Apple's security features. Apps downloaded from the internet may be flagged as 'unsafe' if they lack proper notarization by Apple. + +As a workaround you can remove the quarantine flag on the .app file by running the following command in your terminal: + +```bash +xattr -d com.apple.quarantine Gupax.app +``` + +#### Linux ARM +Gupax only supports ARM for macOS, not Linux. + +Linux ARM is not supported as `XMRig` does not provide official binaries. This means machines like Raspberry Pis will not work. ### Where are updates downloaded from? The latest versions are downloaded using GitHub's API. @@ -693,8 +709,6 @@ GitHub's API blocks request that do not have an HTTP `User-Agent` header. [Gupax uses a random recent version of a `Wget/Curl` user-agent.](https://github.com/hinto-janai/gupax/blob/2c5bd0d7f6a39415353769427d60c0ca57f29710/src/update.rs#L178) ---- - ### P2Pool connection errors **TL;DR: Run & use your own Monero Node.** @@ -708,22 +722,16 @@ Running and using your own local Monero node improves privacy and ensures your c For a simple guide, see the [Running a Local Monero Node](#running-a-local-monero-node) section. ---- - ### Can I quit mid-update? If you started an update, you should let it finish. If the update has been stuck for a *long* time, quitting Gupax is probably okay. The worst that can happen is that your `Gupax/P2Pool/XMRig` binaries may be moved/deleted. Those can be easily redownloaded. Your actual `Gupax` user data (settings, custom nodes, pools, etc) is never touched. Although Gupax uses a temporary folder (`gupax_update_[A-Za-z0-9]`) to store temporary downloaded files, there aren't measures in place to revert an upgrade once the file swapping has actually started. If you quit Gupax anytime before the `Upgrading packages` phase (after metadata, download, extraction), you will technically be safe but this is not recommended as it is risky, especially since these updates can be very fast. ---- - ### Bundled vs Standalone `Bundled` Gupax comes with the latest version of P2Pool/XMRig already in the `zip/tar`. `Standalone` only contains the Gupax executable. ---- - ### How much memory does Gupax use? Gupax itself uses around 100-400 megabytes of memory. @@ -731,12 +739,8 @@ Gupax also holds up to [500,000 bytes](https://github.com/hinto-janai/gupax/blob Memory usage should *never* be above 500~ megabytes. If you see Gupax using more than this, please send a bug report. ---- - ### How is sudo handled? (on macOS/Linux) [See here for more info.](https://github.com/hinto-janai/gupax/tree/main/src#sudo) ---- - ### Why does Gupax need to be Admin? (on Windows) [See here for more info.](https://github.com/hinto-janai/gupax/tree/main/src#why-does-gupax-need-to-be-admin-on-windows)