DSM 7.3/7.4 Note ⚠️
- Starting with DSM 7.3, Synology will officially drop support for older hardware. (Missing movbe support by CPU)
- Starting with DSM 7.4, Synology will officially drop support for older hardware. (Missing movbe and bmi2 support by CPU)
-> These changes are made by Synology and there are enough discussion around how they did to bypass this for their own "unsupported" systems
Update Note ⚠️
- A full clean installation of DSM is RECOMMENDED but you can try to update it. (Don't forget to backup your Data before you format the disks!)
- It will be like a complete rebuild of Arc -> Replace Bootimage and reconfigure to get all working
- Reselect the model and configure again to add missing parts.
- DSM 7.0/7.1 is not supported by loader anymore
✨ Arc Loader — Update
Arc 26.03.19 → 26.09.06
Addons 26.03.19 → 26.09.05
Modules 26.03.19 → 26.09.06
Configs 26.02.14 → 26.09.06
Patches 25.12.27 → 26.05.30
Custom 26.03.19 → 26.09.06
LKMs 26.02.07 → 26.08.01
📦 Arc (Loader)
🆕 DSM 7.4 Support
- Full DSM 7.4 support across the loader — build, updates and version selection
- Version selection reworked and refined
- Clearer warning for DSM 7.3 with kernel 5.x
epyc7003, epyc7003ntb, icelaked platforms added
⚙️ Kernel Selection Rework
- Kernel choice is now a 3-way selection: official / legacy / full
- The right kernel and module set are picked automatically; options only show up when they actually exist for your platform
- Older configs using
custom switch over to legacy on their own — nothing to do
- The
full kernel is back as its own separate option, and every option now explains what it is
- Core limits are handled per kernel: high-core-count systems are no longer hidden, you just get a warning
- Compatibility checks now run before the warnings, so the messages you see are the ones that matter
- The kernel menu opens directly instead of asking "are you sure?" first
- The CPU thread warning is now highlighted in red so it is not missed
🖥️ Web UI
- Complete rework of the web interface, styled to match Arc Control - user
root / password: arc
- Added dark mode
- New web server under the hood (lighttpd) - the old one is no longer maintained
- Added FAQ and Arc Management links, and DSM now has its own section
- Terminal is usable again instead of read-only
- System Info no longer drawn as a box inside a box
- Added shutdown action; button order and sidebar fixed; logo sizing corrected
- Login no longer crashes the web server
- The UI recovers on its own if it was left in a stuck state
- Password handling updated; system info fixed and extended — GPUs are now detected regardless of how the card reports itself, and network cards and controllers are listed with their exact device IDs
arc-functions can now be called externally from the web UI
🚀 Boot & Stability
- Extensive boot-path rework, cleanup and stabilization
- More reliable module unloading before boot; pstate code restored
- GPU workaround for virtual machines
- New option: GPU Passthrough (IOMMU) - decide whether the GPU is used in DSM (default) or handed to a virtual machine. Transcoding and DSM rendering work either way; only pick VM if you actually want to pass the card through
- IOMMU boot settings are now only applied when a matching GPU is really present, instead of always
- NVIDIA GPU reset now actually runs
scsi_transport_sas blacklisted on broadwell/broadwellnk
- Boot sanity checks and new warnings added
- Boot options trimmed and corrected, plus a fix for serial console on certain MSI boards
- CPU frequency scaling: Arc now ships its own governor modules and sets them up correctly on 5.x kernels
- Fan control detection improved — it now looks for real fan control signals instead of guessing from temperature sensors
- Netfix improved and made more reliable; marker path fixed, PAT lookup now live-patched; the confusing "force" mode is gone - it is simply on or off
- External controllers are only reported as such when disks are actually attached
- Port count limits lifted for virtual machines
💾 GRUB
- Fallback resolution for BIOS boot
- Stale default entry ID fixed; cmdline and video-mode settings fixed
intel_iommu handling revised
- Boot image slimmed down to fit 4GB USB sticks again
- Old kernels and theme leftovers are cleaned up on update
🛠️ Loader Management
- Update/upgrade path reworked; beta upgrade option added
- Multiple loader disks supported — internal loader can be updated from USB
- Loader-update issue during init fixed
- Format dialog reworked, with a "format all" option
- Hardware ID replaced by access token
- Menu reworked and reordered; model selection reworked
- Fancontrol unlocked for all supported physical systems
hdddb restored alongside diskcompat as default
- Docker support added to the build tree
🗑️ Removed
- Easy UI (
evo.sh) removed entirely — it had drifted out of sync with the Advanced UI; removal also shrinks the loader
- Unused flags, dead helpers, and ttyd/dufs port-change logic removed
🔒 Security
- Fixed a security finding in the GitHub Actions workflows; general hardening added
🧩 Addons
eudev
- Module backups packed as
.tgz; stale platform/productver backups cleaned up
- Backups are verified before anything is replaced — no more broken module sets
MODDIR always rebuilt from stock backup before overlaying custom modules
- DSM's
pgdrv dropped; modules.order / modules.builtin generation restored
- Modules losing the boot insmod dependency race are now retried
udevadm trigger --type=subsystem → subsystems fix
- AMD/amdgpu handling optimized; boot speed improved; rules updated
- iGPU detection widened — Intel graphics are now found on boards that report themselves unusually
- AMD-only systems keep their graphics stack — it used to be thrown away because only Intel GPUs were looked for, leaving
amdgpu unable to load and no hardware transcoding at all
amdgpu is loaded automatically when a real AMD graphics card is present — and only then, so AMD boards without a GPU no longer try to load it for nothing. Newer cards (RX 7000) are recognized as well
- Better hardware sensor detection order
- Fixed a power management issue with Intel
e1000e network cards
Sensors / Fancontrol
- Fancontrol updated to 2.0, moved to cmdline control
- PWM control extended to per-PWM granularity
- Fan curve not applying — fixed; mode default consolidated
- fan2go config format fixed and startup hang resolved
- AMD workaround added; checks for existing temp/PWM values
- The fan mode now lives in the Arc task and defaults to Cool; changing it in DSM syncs back automatically
- DSM's silent mode is recognized and the quiet curve restored, matching DSM's real modes
- Fans that report 0 RPM are still recognized as controllable
- Detection gives up after ~2 minutes instead of retrying forever
Disks / hdddb
diskcompat is back as its own addon, patching both the disk database and the live disk state — the description now carries a clear warning
support_disk_compatibility enabled by default, matching upstream
- Faster boot: the disk firmware check is now time-limited and the HBA wait was shortened drastically — first boots that used to hang for over 5 minutes on the disk check now move on, and the controller wait can no longer hold the login screen for minutes
- Drives no longer show as "not supported" on DSM 7.4 — DSM changed how it marks incompatible disks, and diskcompat now clears the new marker too
hdddb brought up to the current upstream version: better model detection, and it only touches the database of your model instead of everyone's
- A missing optional tool no longer aborts the whole script
- NVMe lock removed; NVMe
power_limit fixed on non-DT platforms
- Boot-disk guard added and boot-disk logic fixed
supportsas added to merge; Ironwolf fix removed from automated execution
- Partitions are no longer mistaken for disks
- USB slots are always reserved on non-DT models
- Disk logic rewritten and cleaned up
Misc
- NUMA workaround added
apparmor.sh patched to skip package-profile load when AppArmor isn't built into the kernel (currently disabled pending testing)
loader-reboot: automated marker now created on p1 before rebooting
cpuinfo: multiple fixes, incl. preventing errors on the login screen
cpuinfo: the DSM 7.4 GPU section now renders, fan RPM is shown cleanly, PCIe slot list narrowed to network, storage and GPU, and the addon now causes noticeably less system load
cpuinfo: CPU clock in Resource Monitor is finally correct — a busy machine used to look idle (e.g. 800 MHz shown while the core actually ran at 3.0 GHz). DSM and Arc Control now show the same value
- Power button no longer triggers a double shutdown on boards that report the button twice (e.g. UGREEN DXP2800)
- Bundled tools refreshed (
jq, yq, inxi) and duplicate copies removed, which makes the addons a bit smaller
- Files are installed to the correct system paths again, fixing tools that were silently kept as old versions
- CPU frequency scaling had several fixes
ledcontrol and notification service fixes
- Failing services are now reported instead of failing silently
updatenotify: beta logic added
mountloader reworked; storagepanel, nvmesystem, blockupdate, memory, vmtools fixes
- IPv6 disabled;
redpill synced to latest changes
- Platforms added:
epyc7003, epyc7003ntb, icelaked
🧮 Modules
- Build updated for DSM 7.4
- Missing firmware added; firmware always comes from the modules package
- AMD firmware completed for newer graphics — including Strix Point (GFX 11.5) and its video engine
- Module archive
update folder is now respected
- Missing sensor modules added, unused entries dropped
- HBA module set updated; backported modules synced
- movbe emulator added, then removed again
- 7.0 / 7.1 support removed; tree reworked, stripped before packing
- License changed to GPL 3.0
📄 Configs
- Platforms updated to DSM 7.4
- 26 new models added
epyc7003ntb platform added; epyc7003 temporarily disabled
- Platform typo fixes and build updates
- License updated
🩹 Patches
- Patch tree synced to local (
26.04.22)
- Patch tree updated (
26.05.30)
🐧 Custom Kernel (epyc7002 / geminilakenk / r1000nk / v1000nk)
New Hardware Support
- Broadcom 9600-series HBAs now supported
- Coral Edge TPU support added (for Frigate and similar) — covers the M.2 and mini-PCIe accelerators
- GPU passthrough to virtual machines now works properly, including cards that need the legacy VGA path
- Intel 10G network cards (
ixgbe) now use Intel's own current driver instead of the old in-kernel one
- Mellanox ConnectX cards now come up as proper network interfaces
tty0tty and acpi_call added and enabled on x86 NAS platforms
Realtek Networking
r8168 / r8125 / r8126 / r8127 updated to current Realtek sources and properly integrated into the build
r8169 and r8152 restored/enabled alongside the Realtek vendor drivers, so both work
- RTL8125D / RTL8126A support added, plus an energy-efficiency fix
- Several build warnings and errors cleaned up
Graphics
- i915 and amdgpu now work side by side
- Intel and AMD graphics are built from a much newer upstream base — the backport now tracks Linux 6.18
FB_EFI / FB_VESA disabled so the panel-quirks module can be =m
amdgpu: new PCI IDs for Renoir and Sienna Cichlid, plus cleanup of stale entries and firmware references
- AMD support reaches up to RDNA 3.5: RX 5000 / RX 6000 / RX 7000 and Ryzen integrated graphics including Ryzen AI 300 (Strix Point)
🆕 Hybrid CPU Support
- P-core / E-core awareness added to the scheduler — Intel hybrid CPUs are now scheduled correctly
- Extended to AMD hybrid CPUs as well
- Cores are correctly reported as performance or efficiency
- Enabled on every kernel branch, with a hybrid option in the build menu
- Zen 4 and Zen 5 support, including temperature readings
- Fixed a case where CPU frequency was boosted unnecessarily
- The build now fails loudly if hybrid support silently falls out, so it can never ship broken again
Storage & Network Device Support
- MegaRAID SAS and newgen (PERC3/PERC4) drivers enabled
- SAS-4 (22.5 Gbps) link speed support
- New IDs for LSI/Broadcom (SAS3716, ATTO ExpressSAS H12xx GT) and Emulex (Lancer G7+, ATTO Celerity/ThunderLink) HBAs
- Intel network cards: many new I219, I226, X710 and X722 variants
- SATA controllers: ASMedia ASM106x/116x, AMD Hudson-2 / Green Sardine and two missing Intel IDs
- Marvell/Aquantia 10G: AQC113CA/AQC116C added, AQC115C link speeds fixed
- Realtek USB adapters from D-Link, Trendnet and Dell
- Chipset support for Alder Lake through Panther Lake / Lunar Lake (SMBus, power management, LPSS)
- Thunderbolt support for newer Intel platforms was added but reverted again for now
- Broad storage/net PCI ID backport covering the gap between 5.10.55 and upstream 5.10.260, extended with IDs found by comparing against a known-working module set
- Temperature sensors: TI TMP461 support, MSI / ASRock / AMD board recognition, and
it87 replaced with a much better maintained driver
- Fibre Channel firmware loading fixed for QLogic and Broadcom cards
- Wider sensor and fan module set restored across platforms
virtiofs support added for virtual machines
- Dead weight removed: drivers for hardware no x86 NAS has
Build System
CONFIG_SYNO_DM_FLASHCACHE enabled for epyc7002
drivers/syno/ Kconfig/Makefile wiring restored after upstream rebase loss
- Backport-shadowed modules kept out of vmlinux where possible
- dmabuf tracepoint fixup keyed on host config instead of platform name
- Centralized bzImage build workflow, now one clear menu: legacy / full / new / firmware
- Core count is taken from each platform's own configuration
- Kernel build cache is shared across platforms — much faster rebuilds
- Firmware is now synced and audited instead of blindly downloaded, with a firmware-only build mode
- Several build reliability fixes, so a broken build fails loudly instead of silently
- New internal tooling to test backports and compare driver support between builds
- The scheduler now accounts for interrupt load, so a machine busy with disk I/O is no longer reported as idle
- A README was added explaining in plain words which hardware these kernels support and which build to download (short version:
epyc7002 is the generic x86 image and is the right one for Intel machines too)
🛠️ LKMs (redpill)
Crash / Deadlock Fixes
override_symbol: page (un)protection serialized across all instances — fixes 4.4.x invalid-opcode panic
override_symbol: IRQs-disabled on_each_cpu() deadlock in enable/disable fixed
smart_shim: deadlock in the sd_ioctl_canary() install/uninstall path fixed
memory_helper: flush_tlb_kernel_range() gated to kernel >= 5.10, falls back to flush_tlb_all() on 4.4.x
uart: serial_remote_read/write guarded against out-of-range port->line
Disk / Port Shims
dt_disk_port_shim: no longer panics on 4.4.x DT platforms missing the DT symbol; matches 4.4.302's camelCase symbol name; only compiled on DT-capable platforms
- DT disk-slot lookup log spam silenced on non-DT platforms
sata_port_shim: VirtIO/SAS disk detection no longer blocked on DT platforms
smart_shim: no longer fails the ioctl when gendisk fops isn't populated yet; firmware version and temperature reading fixed
scsi: disk firmware version fixed, SATA temps fixed, scsi_disk_serial fixed, sg* handling added
- HBA temperature reading fixed; disk index mapping added
- PSU logic in shim rewritten
Build
- Build updated for DSM 7.4; Docker LKM build added; Makefile cleaned up and reworked
- 7.0 / 7.1 build targets removed