Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
203efd9
Bumped version
Bendr0id Dec 4, 2023
68991ae
Merge branch 'master' into dev
Bendr0id Dec 4, 2023
4bf6252
Merge branch 'master' into dev
Bendr0id Mar 2, 2024
6c62386
Update bug_report.md
SChernykh Feb 29, 2024
957c558
Merge pull request #3434 from SChernykh/dev
xmrig Feb 29, 2024
8fee00a
Merge branch 'xmrig-dev' into dev
Bendr0id Mar 2, 2024
dfb7326
Merge branch 'xmrig-dev' into dev
Bendr0id Mar 2, 2024
03b3a97
Removed binaries
Bendr0id Mar 13, 2024
5919026
Merge branch 'master' into dev
Bendr0id Mar 24, 2024
a891eb8
Merge branch 'master' into dev
Bendr0id May 8, 2024
f6dfa96
Merge branch 'xmrig-dev' into dev
Bendr0id May 8, 2024
afbc64c
Added RandomTuske variant
Bendr0id May 23, 2024
2c992b1
Merge branch 'master' into dev
Bendr0id May 23, 2024
eb791bf
Delete build files
Bendr0id May 23, 2024
b6902a0
Add .cmake to gitignore
Bendr0id May 23, 2024
726d5ae
changed Version
Bendr0id May 23, 2024
0d82ce7
Bumped version
Bendr0id May 23, 2024
0180109
Added RandomXEQ (Equilibria) support
Bendr0id May 27, 2024
f0dae70
Added Readme
Bendr0id May 28, 2024
8d8b1ea
Changed version for MR
Bendr0id May 28, 2024
3b781cc
Merge branch 'master' into dev
Bendr0id May 28, 2024
13031c4
Cleanup
Bendr0id May 28, 2024
1a47c04
Merge branch 'master' into dev
Bendr0id May 28, 2024
edd548f
bumped dev version
Bendr0id May 28, 2024
553f998
Rebase XMRIG v6.22.0
Bendr0id Oct 3, 2024
1eca07c
Merge branch 'master' into dev
Bendr0id Oct 3, 2024
5fe53dd
Merge branch 'xmrig-master' into dev
Bendr0id Oct 3, 2024
c0ddf4c
Merge branch 'xmrig-dev' into dev
Bendr0id Oct 3, 2024
58146e0
Changed version to rel
Bendr0id Oct 3, 2024
afd9ea6
Merge branch 'master' into dev
Bendr0id Oct 6, 2024
d8cb530
Bumped version
Bendr0id Oct 6, 2024
a26c2bb
Merge branch 'xmrig-dev' into dev
Bendr0id Nov 4, 2024
3b5a325
version
Bendr0id Nov 4, 2024
0a8f1ba
Merge branch 'master' into dev
Bendr0id Nov 4, 2024
9c9dfbf
Bumped version
Bendr0id Nov 4, 2024
d79dbe5
Merge branch 'master' into dev
Bendr0id Feb 24, 2025
012f868
Fixed bonero solo mining daemon blocktemplate parsing
Bendr0id Mar 6, 2025
e266ba7
Fixed changelog
Bendr0id Mar 6, 2025
700ce10
Merge branch 'master' into dev
Bendr0id Mar 6, 2025
6096fa9
version bump
Bendr0id Mar 6, 2025
cd79715
Merge branch 'master' into dev
Bendr0id Mar 7, 2025
df016aa
Merge branch 'master' into dev
Bendr0id Mar 19, 2025
247e54a
WIP mac build
Bendr0id May 7, 2025
3b49086
Added socks/tor onion support for cc communication, remove bonero
Bendr0id Jun 2, 2025
d43120b
Updated version
Bendr0id Jun 2, 2025
5829a0c
Merge branch 'master' into dev
Bendr0id Jun 2, 2025
c81e896
Bumped version
Bendr0id Jun 2, 2025
1676da1
Merge branch 'master' into dev
xmrig Jun 23, 2025
d2363ba
v6.24.1-dev
xmrig Jun 23, 2025
1161f23
Add armv8l to list of 32 bit ARM targets
benthetechguy Jun 24, 2025
2619131
Merge pull request #3680 from benthetechguy/armhf
xmrig Jun 24, 2025
a1ee2fd
Improved LibreSSL support.
xmrig Jun 29, 2025
dd6671b
Merge branch 'dev' of github.com:xmrig/xmrig into dev
xmrig Jun 29, 2025
aa32517
Added RX/vrl Virel Randomx variant
Bendr0id Aug 18, 2025
6d5b193
Update version.h
Bendr0id Aug 19, 2025
be7247a
Bumped version
Bendr0id Aug 19, 2025
93f5067
minor Aarch64 JIT changes (better instruction selection, don't emit i…
xtophyr Sep 17, 2025
eeec5ec
undo this change
xtophyr Sep 20, 2025
7abf17c
adjust instruction/register suffixes to compile with gcc-based assemb…
xtophyr Sep 21, 2025
878e83b
Merge branch 'master' of https://github.com/xtophyr/xmrig into xtophy…
xmrig Sep 22, 2025
255565b
Merge branch 'xtophyr-master' into dev
xmrig Sep 22, 2025
da683d8
Solo mining: added support for FCMP++ hardfork
SChernykh Oct 5, 2025
20acfd0
Merge pull request #3718 from SChernykh/dev
xmrig Oct 5, 2025
a659397
Fix: correct FCMP++ version number
SChernykh Oct 5, 2025
6cc4819
Merge pull request #3719 from SChernykh/dev
xmrig Oct 5, 2025
da5a567
Added Zen4 (Hawk Point) CPUs detection
SChernykh Oct 15, 2025
116ba18
Merge pull request #3722 from SChernykh/dev
xmrig Oct 15, 2025
643b65f
RISC-V Intergration
Slayingripper Oct 22, 2025
75b63dd
RISC-V JIT compiler
SChernykh Oct 22, 2025
985fe06
RISC-V: test for instruction extensions
SChernykh Oct 22, 2025
27c8e60
Removed unused files
SChernykh Oct 22, 2025
3ecacf0
Merge pull request #3725 from SChernykh/dev
xmrig Oct 23, 2025
ea83289
Fixed macOS build.
xmrig Oct 23, 2025
a44b21c
Cleanup
xmrig Oct 27, 2025
b02519b
feat: initial support for haiku
Nov 4, 2025
4cdc35f
Merge pull request #3731 from user0-07161/dev-haiku-os-support
xmrig Nov 5, 2025
5115597
Improved compatibility for automatically enabling huge pages on Linux…
xmrig Nov 6, 2025
e88009d
add detection for MSVC/2026
void-512 Nov 12, 2025
db5c6d9
Merge pull request #3733 from void-512/master
xmrig Nov 13, 2025
7ef5142
RISC-V: added vectorized dataset init (activated by setting `init-avx…
SChernykh Nov 30, 2025
7981e4a
Merge pull request #3736 from SChernykh/dev
xmrig Dec 1, 2025
23da1a9
RISC-V: added vectorized soft AES
SChernykh Dec 5, 2025
856813c
Merge pull request #3740 from SChernykh/dev
xmrig Dec 6, 2025
482a1f0
Linux: added support for transparent huge pages
SChernykh Dec 11, 2025
e0564b5
Merge pull request #3743 from SChernykh/dev
xmrig Dec 11, 2025
290a0de
v6.25.0-dev
xmrig Dec 23, 2025
712a5a5
Merge branch 'dev'
xmrig Dec 23, 2025
753859c
v6.25.0
xmrig Dec 23, 2025
d5c1a4a
Merge branch 'xmrig-master' into dev
Bendr0id Dec 23, 2025
cd93832
Merge branch 'master' into dev
Bendr0id Dec 23, 2025
ac9f4f3
Version to 3.4.8
Bendr0id Dec 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 3.4.7
# 3.4.8
* Rebase on latest xmrig-6.25.0
* Added Virel(VRL) RandomX varirant (rx/vrl)
# 3.4.6
* Removed Bonero
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ set(HEADERS_CRYPTO
src/crypto/common/VirtualMemory.h
)

if (XMRIG_ARM)
if (XMRIG_ARM OR XMRIG_RISCV)
set(HEADERS_CRYPTO "${HEADERS_CRYPTO}" src/crypto/cn/CryptoNight_arm.h)
else()
set(HEADERS_CRYPTO "${HEADERS_CRYPTO}" src/crypto/cn/CryptoNight_x86.h)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ List of all supported algos can be found [here](doc/ALGORITHMS.md)
* Daemon to restart the miner

## Mining backends
- **CPU** (x86/x64/ARMv7/ARMv8)
- **CPU** (x86/x64/ARMv7/ARMv8/RISC-V)
- **OpenCL** for AMD GPUs.
- **CUDA** for NVIDIA GPUs use:
- XMRig's official [CUDA plugin](https://github.com/xmrig/xmrig-cuda/releases)
Expand Down
2 changes: 1 addition & 1 deletion cmake/asm.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
if (WITH_ASM AND NOT XMRIG_ARM AND CMAKE_SIZEOF_VOID_P EQUAL 8)
if (WITH_ASM AND NOT XMRIG_ARM AND NOT XMRIG_RISCV AND CMAKE_SIZEOF_VOID_P EQUAL 8)
set(XMRIG_ASM_LIBRARY "xmrig-asm")

if (CMAKE_C_COMPILER_ID MATCHES MSVC)
Expand Down
66 changes: 65 additions & 1 deletion cmake/cpu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,19 @@ if (NOT VAES_SUPPORTED)
set(WITH_VAES OFF)
endif()

# Detect RISC-V architecture early (before it's used below)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv64|riscv|rv64)$")
set(RISCV_TARGET 64)
set(XMRIG_RISCV ON)
add_definitions(-DXMRIG_RISCV)
message(STATUS "Detected RISC-V 64-bit architecture (${CMAKE_SYSTEM_PROCESSOR})")
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv32|rv32)$")
set(RISCV_TARGET 32)
set(XMRIG_RISCV ON)
add_definitions(-DXMRIG_RISCV)
message(STATUS "Detected RISC-V 32-bit architecture (${CMAKE_SYSTEM_PROCESSOR})")
endif()

if (XMRIG_64_BIT AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$")
add_definitions(-DRAPIDJSON_SSE2)
else()
Expand All @@ -29,6 +42,57 @@ else()
set(WITH_VAES OFF)
endif()

# Disable x86-specific features for RISC-V
if (XMRIG_RISCV)
set(WITH_SSE4_1 OFF)
set(WITH_AVX2 OFF)
set(WITH_VAES OFF)

# default build uses the RV64GC baseline
set(RVARCH "rv64gc")

# for native builds, enable Zba and Zbb if supported by the CPU
if(ARCH STREQUAL "native")
enable_language(ASM)

try_run(RANDOMX_VECTOR_RUN_FAIL
RANDOMX_VECTOR_COMPILE_OK
${CMAKE_CURRENT_BINARY_DIR}/
${CMAKE_CURRENT_SOURCE_DIR}/src/crypto/randomx/tests/riscv64_vector.s
COMPILE_DEFINITIONS "-march=rv64gcv_zicbop")

if (RANDOMX_VECTOR_COMPILE_OK AND NOT RANDOMX_VECTOR_RUN_FAIL)
set(RVARCH "${RVARCH}v_zicbop")
add_definitions(-DXMRIG_RVV_ENABLED)
message(STATUS "RISC-V vector extension detected")
endif()

try_run(RANDOMX_ZBA_RUN_FAIL
RANDOMX_ZBA_COMPILE_OK
${CMAKE_CURRENT_BINARY_DIR}/
${CMAKE_CURRENT_SOURCE_DIR}/src/crypto/randomx/tests/riscv64_zba.s
COMPILE_DEFINITIONS "-march=rv64gc_zba")

if (RANDOMX_ZBA_COMPILE_OK AND NOT RANDOMX_ZBA_RUN_FAIL)
set(RVARCH "${RVARCH}_zba")
message(STATUS "RISC-V zba extension detected")
endif()

try_run(RANDOMX_ZBB_RUN_FAIL
RANDOMX_ZBB_COMPILE_OK
${CMAKE_CURRENT_BINARY_DIR}/
${CMAKE_CURRENT_SOURCE_DIR}/src/crypto/randomx/tests/riscv64_zbb.s
COMPILE_DEFINITIONS "-march=rv64gc_zbb")

if (RANDOMX_ZBB_COMPILE_OK AND NOT RANDOMX_ZBB_RUN_FAIL)
set(RVARCH "${RVARCH}_zbb")
message(STATUS "RISC-V zbb extension detected")
endif()
endif()

message(STATUS "Using -march=${RVARCH}")
endif()

add_definitions(-DRAPIDJSON_WRITE_DEFAULT_FLAGS=6) # rapidjson::kWriteNanAndInfFlag | rapidjson::kWriteNanAndInfNullFlag

if (ARM_V8)
Expand All @@ -40,7 +104,7 @@ endif()
if (NOT ARM_TARGET)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|ARM64|armv8-a)$")
set(ARM_TARGET 8)
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7|armv7f|armv7s|armv7k|armv7-a|armv7l|armv7ve)$")
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7|armv7f|armv7s|armv7k|armv7-a|armv7l|armv7ve|armv8l)$")
set(ARM_TARGET 7)
endif()
endif()
Expand Down
12 changes: 12 additions & 0 deletions cmake/flags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
elseif (ARM_TARGET EQUAL 7)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv7-a -mfpu=neon -flax-vector-conversions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv7-a -mfpu=neon -flax-vector-conversions")
elseif (XMRIG_RISCV)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=${RVARCH}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${RVARCH}")

add_definitions(-DHAVE_ROTR)
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes")
Expand All @@ -41,6 +46,8 @@ if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
else()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static -Wl,--large-address-aware")
endif()
elseif(CMAKE_SYSTEM_NAME STREQUAL "Haiku")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc")
else()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
endif()
Expand Down Expand Up @@ -74,6 +81,11 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
elseif (ARM_TARGET EQUAL 7)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=neon -march=${CMAKE_SYSTEM_PROCESSOR}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon -march=${CMAKE_SYSTEM_PROCESSOR}")
elseif (XMRIG_RISCV)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=${RVARCH}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${RVARCH}")

add_definitions(-DHAVE_ROTR)
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes")
Expand Down
8 changes: 8 additions & 0 deletions cmake/os.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ else()
set(XMRIG_OS_LINUX ON)
elseif(CMAKE_SYSTEM_NAME STREQUAL FreeBSD OR CMAKE_SYSTEM_NAME STREQUAL DragonFly)
set(XMRIG_OS_FREEBSD ON)
elseif(CMAKE_SYSTEM_NAME STREQUAL OpenBSD)
set(XMRIG_OS_OPENBSD ON)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Haiku")
set(XMRIG_OS_HAIKU ON)
endif()
endif()

Expand All @@ -43,6 +47,10 @@ elseif(XMRIG_OS_UNIX)
add_definitions(-DXMRIG_OS_LINUX)
elseif (XMRIG_OS_FREEBSD)
add_definitions(-DXMRIG_OS_FREEBSD)
elseif (XMRIG_OS_OPENBSD)
add_definitions(-DXMRIG_OS_OPENBSD)
elseif (XMRIG_OS_HAIKU)
add_definitions(-DXMRIG_OS_HAIKU)
endif()
endif()

Expand Down
14 changes: 12 additions & 2 deletions cmake/randomx.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ if (WITH_RANDOMX)
src/crypto/randomx/jit_compiler_x86_static.asm
src/crypto/randomx/jit_compiler_x86.cpp
)
elseif (WITH_ASM AND NOT XMRIG_ARM AND CMAKE_SIZEOF_VOID_P EQUAL 8)
elseif (WITH_ASM AND NOT XMRIG_ARM AND NOT XMRIG_RISCV AND CMAKE_SIZEOF_VOID_P EQUAL 8)
list(APPEND SOURCES_CRYPTO
src/crypto/randomx/jit_compiler_x86_static.S
src/crypto/randomx/jit_compiler_x86.cpp
Expand All @@ -81,6 +81,16 @@ if (WITH_RANDOMX)
else()
set_property(SOURCE src/crypto/randomx/jit_compiler_a64_static.S PROPERTY LANGUAGE C)
endif()
elseif (XMRIG_RISCV AND CMAKE_SIZEOF_VOID_P EQUAL 8)
list(APPEND SOURCES_CRYPTO
src/crypto/randomx/jit_compiler_rv64_static.S
src/crypto/randomx/jit_compiler_rv64_vector_static.S
src/crypto/randomx/jit_compiler_rv64.cpp
src/crypto/randomx/jit_compiler_rv64_vector.cpp
)
# cheat because cmake and ccache hate each other
set_property(SOURCE src/crypto/randomx/jit_compiler_rv64_static.S PROPERTY LANGUAGE C)
set_property(SOURCE src/crypto/randomx/jit_compiler_rv64_vector_static.S PROPERTY LANGUAGE C)
else()
list(APPEND SOURCES_CRYPTO
src/crypto/randomx/jit_compiler_fallback.cpp
Expand Down Expand Up @@ -117,7 +127,7 @@ if (WITH_RANDOMX)
)
endif()

if (WITH_MSR AND NOT XMRIG_ARM AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND (XMRIG_OS_WIN OR XMRIG_OS_LINUX))
if (WITH_MSR AND NOT XMRIG_ARM AND NOT XMRIG_RISCV AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND (XMRIG_OS_WIN OR XMRIG_OS_LINUX))
add_definitions(/DXMRIG_FEATURE_MSR)
add_definitions(/DXMRIG_FIX_RYZEN)
message("-- WITH_MSR=ON")
Expand Down
Loading
Loading