diff --git a/CMakeLists.txt b/CMakeLists.txt index a44e672b..791c1864 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,15 @@ cmake_minimum_required(VERSION 3.1) -project(xmrig) +project(xmrig-4-xdag) option(WITH_HWLOC "Enable hwloc support" ON) -option(WITH_CN_LITE "Enable CryptoNight-Lite algorithms family" ON) -option(WITH_CN_HEAVY "Enable CryptoNight-Heavy algorithms family" ON) -option(WITH_CN_PICO "Enable CryptoNight-Pico algorithm" ON) -option(WITH_CN_FEMTO "Enable CryptoNight-UPX2 algorithm" ON) +option(WITH_CN_LITE "Enable CryptoNight-Lite algorithms family" OFF) +option(WITH_CN_HEAVY "Enable CryptoNight-Heavy algorithms family" OFF) +option(WITH_CN_PICO "Enable CryptoNight-Pico algorithm" OFF) +option(WITH_CN_FEMTO "Enable CryptoNight-UPX2 algorithm" OFF) option(WITH_RANDOMX "Enable RandomX algorithms family" ON) -option(WITH_ARGON2 "Enable Argon2 algorithms family" ON) -option(WITH_KAWPOW "Enable KawPow algorithms family" ON) -option(WITH_GHOSTRIDER "Enable GhostRider algorithm" ON) +option(WITH_ARGON2 "Enable Argon2 algorithms family" OFF) +option(WITH_KAWPOW "Enable KawPow algorithms family" OFF) +option(WITH_GHOSTRIDER "Enable GhostRider algorithm" OFF) option(WITH_HTTP "Enable HTTP protocol support (client/server)" ON) option(WITH_DEBUG_LOG "Enable debug log output" OFF) option(WITH_TLS "Enable OpenSSL support" ON) @@ -17,10 +17,10 @@ option(WITH_ASM "Enable ASM PoW implementations" ON) option(WITH_MSR "Enable MSR mod & 1st-gen Ryzen fix" ON) option(WITH_ENV_VARS "Enable environment variables support in config file" ON) option(WITH_EMBEDDED_CONFIG "Enable internal embedded JSON config" OFF) -option(WITH_OPENCL "Enable OpenCL backend" ON) +option(WITH_OPENCL "Enable OpenCL backend" OFF) set(WITH_OPENCL_VERSION 200 CACHE STRING "Target OpenCL version") set_property(CACHE WITH_OPENCL_VERSION PROPERTY STRINGS 120 200 210 220) -option(WITH_CUDA "Enable CUDA backend" ON) +option(WITH_CUDA "Enable CUDA backend" OFF) option(WITH_NVML "Enable NVML (NVIDIA Management Library) support (only if CUDA backend enabled)" ON) option(WITH_ADL "Enable ADL (AMD Display Library) or sysfs support (only if OpenCL backend enabled)" ON) option(WITH_STRICT_CACHE "Enable strict checks for OpenCL cache" ON) diff --git a/README.md b/README.md index ce45b01b..8f1fb6b3 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,49 @@ -# XMRig +# XMRig-4-XDAG -[![Github All Releases](https://img.shields.io/github/downloads/xmrig/xmrig/total.svg)](https://github.com/xmrig/xmrig/releases) -[![GitHub release](https://img.shields.io/github/release/xmrig/xmrig/all.svg)](https://github.com/xmrig/xmrig/releases) -[![GitHub Release Date](https://img.shields.io/github/release-date/xmrig/xmrig.svg)](https://github.com/xmrig/xmrig/releases) -[![GitHub license](https://img.shields.io/github/license/xmrig/xmrig.svg)](https://github.com/xmrig/xmrig/blob/master/LICENSE) -[![GitHub stars](https://img.shields.io/github/stars/xmrig/xmrig.svg)](https://github.com/xmrig/xmrig/stargazers) -[![GitHub forks](https://img.shields.io/github/forks/xmrig/xmrig.svg)](https://github.com/xmrig/xmrig/network) +[![Github All Releases](https://img.shields.io/github/downloads/FSOL-XDAG/xmrig-4-xdag/total.svg)]() +[![GitHub release](https://img.shields.io/github/release/FSOL-XDAG/xmrig-4-xdag/all.svg)](https://github.com/FSOL-XDAG/xmrig-4-xdag/releases) +[![GitHub Release Date](https://img.shields.io/github/release-date/FSOL-XDAG/xmrig-4-xdag.svg)](https://github.com/FSOL-XDAG/xmrig-4-xdag/releases) +[![GitHub license](https://img.shields.io/github/license/FSOL-XDAG/xmrig-4-xdag.svg)](https://github.com/FSOL-XDAG/xmrig-4-xdag/blob/master/LICENSE) +[![GitHub stars](https://img.shields.io/github/stars/FSOL-XDAG/xmrig-4-xdag.svg)](https://github.com/FSOL-XDAG/xmrig-4-xdag/stargazers) +[![GitHub forks](https://img.shields.io/github/forks/FSOL-XDAG/xmrig-4-xdag.svg)](https://github.com/FSOL-XDAG/xmrig-4-xdag/network) -XMRig is a high performance, open source, cross platform RandomX, KawPow, CryptoNight and [GhostRider](https://github.com/xmrig/xmrig/tree/master/src/crypto/ghostrider#readme) unified CPU/GPU miner and [RandomX benchmark](https://xmrig.com/benchmark). Official binaries are available for Windows, Linux, macOS and FreeBSD. +![x4x_spash](https://user-images.githubusercontent.com/128682335/227436274-10a8321c-7b75-4f70-a304-e7ab34f74e16.png) -## Mining backends -- **CPU** (x64/ARMv7/ARMv8) -- **OpenCL** for AMD GPUs. -- **CUDA** for NVIDIA GPUs via external [CUDA plugin](https://github.com/xmrig/xmrig-cuda). +## Description -## Download -* **[Binary releases](https://github.com/xmrig/xmrig/releases)** -* **[Build from source](https://xmrig.com/docs/miner/build)** +**x4x** is a strict XMRIG's fork incorporating randomX algorithm variant for mining XDAG. It's based on the [Swordlet project](https://github.com/swordlet/xmrig/tree/xdag) using [XMRig 6.18.0](https://github.com/xmrig/xmrig/releases/tag/v6.18.0). It's specially designed to improve XDAG mining : -## Usage -The preferred way to configure the miner is the [JSON config file](https://xmrig.com/docs/miner/config) as it is more flexible and human friendly. The [command line interface](https://xmrig.com/docs/miner/command-line-options) does not cover all features, such as mining profiles for different algorithms. Important options can be changed during runtime without miner restart by editing the config file or executing [API](https://xmrig.com/docs/miner/api) calls. +* **algorithms other than RandomX have been removed** at compilation (_CryptoNight, Argon2, KawPow and GhostRider_), +* **_CUDA_ and _OpenCL_ support have been removed** at compilation too (_GPUs are useless to mine XDAG_). +* **the fees have been set to zero** for improving mining and to avoid disconnections to XDAG mining pools, -* **[Wizard](https://xmrig.com/wizard)** helps you create initial configuration for the miner. -* **[Workers](http://workers.xmrig.info)** helps manage your miners via HTTP API. +## Available on theses OS/platforms : +* Windows 10 x64 and upper. +* Linux Ubuntu 18.04 / 20.04 / 22.04 / 22.10 +* Hive OS (Ubuntu 18.04) +* FreeBSD 13.1 +* MacOS x64 darwin (10.5.x and upper) +* CentOS 8 + +## How to compile +Check Github [wiki pages](https://github.com/FSOL-XDAG/xmrig-4-xdag/wiki#how-to-build). ## Donations -* Default donation 1% (1 minute in 100 minutes) can be increased via option `donate-level` or disabled in source code. -* XMR: `48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD` +* If you appreciate this work, feel free to send me some XDAG as tips (remark : `x4x tips`). +* XDAG: `53r2nH7y81CePxqe73mpoZdEjs66j178K` -## Developers +## XMRig Developers * **[xmrig](https://github.com/xmrig)** * **[sech1](https://github.com/SChernykh)** -## Contacts -* support@xmrig.com -* [reddit](https://www.reddit.com/user/XMRig/) -* [twitter](https://twitter.com/xmrig_dev) +## x4x Developer +* **[FSOL-XDAG](https://github.com/FSOL-XDAG)** + +## Usefull link +* [Medium](https://medium.com/@fsol) +* [Discord]([https://medium.com/@fsol](https://discord.gg/fHE4sJ7NKt)) +* [Twitter](https://twitter.com/Chrix_Switch) +* [How to](https://1to.fr) + +## Contact +* fsol@xdag.io diff --git a/res/app.ico b/res/app.ico index 8c3d628f..16e6e88e 100644 Binary files a/res/app.ico and b/res/app.ico differ diff --git a/res/app.rc b/res/app.rc index fb41b8b1..ec3cdd14 100644 --- a/res/app.rc +++ b/res/app.rc @@ -24,7 +24,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "FileDescription", APP_DESC VALUE "FileVersion", APP_VERSION VALUE "LegalCopyright", APP_COPYRIGHT - VALUE "OriginalFilename", "xmrig.exe" + VALUE "OriginalFilename", "xmrig-4-xdag.exe" VALUE "ProductName", APP_NAME VALUE "ProductVersion", APP_VERSION END diff --git a/src/backend/opencl/cl/cn/algorithm.cl b/src/backend/opencl/cl/cn/algorithm.cl index 36607184..542bcd3d 100644 --- a/src/backend/opencl/cl/cn/algorithm.cl +++ b/src/backend/opencl/cl/cn/algorithm.cl @@ -24,6 +24,7 @@ #define ALGO_RX_SFX 0x72151273 #define ALGO_RX_KEVA 0x7214116b #define ALGO_RX_GRAFT 0x72151267 +#define ALGO_RX_XDAG 0x72151208 #define ALGO_AR2_CHUKWA 0x61130000 #define ALGO_AR2_CHUKWA_V2 0x61140000 #define ALGO_AR2_WRKZ 0x61120000 diff --git a/src/base/crypto/Algorithm.cpp b/src/base/crypto/Algorithm.cpp index 6e76fd26..27c70b73 100644 --- a/src/base/crypto/Algorithm.cpp +++ b/src/base/crypto/Algorithm.cpp @@ -82,6 +82,7 @@ const char *Algorithm::kRX_ARQ = "rx/arq"; const char *Algorithm::kRX_GRAFT = "rx/graft"; const char *Algorithm::kRX_SFX = "rx/sfx"; const char *Algorithm::kRX_KEVA = "rx/keva"; +const char *Algorithm::kRX_XDAG = "rx/xdag"; #endif #ifdef XMRIG_ALGO_ARGON2 @@ -148,6 +149,7 @@ static const std::map kAlgorithmNames = { ALGO_NAME(RX_GRAFT), ALGO_NAME(RX_SFX), ALGO_NAME(RX_KEVA), + ALGO_NAME(RX_XDAG), # endif # ifdef XMRIG_ALGO_ARGON2 @@ -263,6 +265,8 @@ static const std::map kAlgorithmAlias ALGO_ALIAS(RX_SFX, "randomsfx"), ALGO_ALIAS_AUTO(RX_KEVA), ALGO_ALIAS(RX_KEVA, "randomx/keva"), ALGO_ALIAS(RX_KEVA, "randomkeva"), + ALGO_ALIAS_AUTO(RX_XDAG), ALGO_ALIAS(RX_XDAG, "randomx/xdag"), + ALGO_ALIAS(RX_XDAG, "randomxdag"), # endif # ifdef XMRIG_ALGO_ARGON2 @@ -350,7 +354,7 @@ std::vector xmrig::Algorithm::all(const std::function