magisk-samsung-dex-standalone-mode
Magisk module to systemlessly enable Samsung DeX standalone mode by patching floating_feature.xml, it adds standalone value to SEC_FLOATING_FEATURE_COMMON_CONFIG_DEX_MODE key. Works on One UI prior to version 8.
✅ Enables DeX standalone mode on supported phones.
✅ Compatible with magisk and kernelsu.

[Download latest release]
[Download repository]
Table of Contents
Requirements
- Samsung One UI ROM (stock or custom)
- Root access via Magisk or KernelSU
- No conflicting modules that modify
floating_feature.xml
Installation
Via Magisk/KernelSU App
- Download the latest release
- Open Magisk or KernelSU app
- Go to Modules → Install from storage
- Select the downloaded ZIP
- Reboot
Via Terminal
magisk --install-module path/to/magisk-samsung-dex-standalone-mode.zip
Verify Installation
Check the patched value with root access:
su -c "cat /system/etc/floating_feature.xml | grep DEX_MODE"
On some devices the file may be at /system/vendor/etc/ or /vendor/etc/ instead. The module automatically detects and patches all locations.
Troubleshooting
Gesture Issues After Exiting DeX
See Issue #2
DeX Ignoring the Notch / Desktop Not Full Width
See Issue #3
Fix: Change display cutout simulation to “Double cutout”
Thanks to @admiralsym
- Enable Developer Options: Settings → About phone → Software information → Tap “Build number” 7 times
- Go to Settings → Developer options
- Find Simulate display with a cutout → Select Double cutout
ZIP Install Error
See Issue #4
Fix: Install manually via Termux
Thanks to @hzykiss
su
magisk --install-module /path/to/module.zip
FAQ
Does this require a Samsung device?
Yes. Specifically a Samsung device running One UI with DeX support.
What does "standalone mode" mean?
It allows starting DeX directly on your phone screen without connecting to an external display via HDMI or wireless.
Can DeX be screen-shared to another Android device?
Not with this module. That would require a different solution.
Will this work on non-Samsung devices?
No. This module is specifically for Samsung devices with DeX.
Will this work on custom ROMs?
Only if the custom ROM is One UI-based and includes DeX.
Will this add DeX to my phone?
No. This only enables standalone mode on phones that already have DeX.
I have an S23 Ultra, does standalone work without this module?
No. Standalone mode isn’t enabled by default on any Samsung phone, regardless of how high-end it is.
Will this work on OneUI 8?
Apparently not, as reported by @DudeThat, so i’m not using OneUI 8 with root at the time and won’t be working on it for the foreseeable future. If you have any new point it out in an issue and I might look at it.
Thanks to @WilsonBradley and @foxypiratecove37350 for their questions.
Development
Prerequisites
bash and zip in PATH
- Linux, WSL, or Git Bash on Windows
Building
make build # Create magisk-samsung-dex-standalone-mode.zip
make clean # Remove generated ZIP
Or use the scripts directly:
bash build-tools/build-create-module.sh # Create ZIP
bash build-tools/build-delete-module.sh # Delete ZIP
The file list for the ZIP is defined in build-tools/build-filelist.txt.
Testing
make test # Run all tests
make lint # Run shellcheck on all scripts
Tests run automatically in CI on every push.
Debugging
A log file post-fs-data.log is generated on each boot at:
/data/adb/modules/samsung-dex-standalone-mode/post-fs-data.log
To unmount the patched file during development:
sh debug/debug-unmount.sh
Release Workflow
Releases are automated via GitHub Actions when a tag is pushed.
Version Management Scripts
| Script |
Purpose |
build-tools/set-version.sh |
Update version in module.prop and update.json |
build-tools/update-changelog.sh |
Prepend new entry to changelog.md |
build-tools/release.sh |
Full release: version, changelog, lint, test, package, tag, publish |
scripts/check-version.sh |
Verify module.prop and update.json are in sync |
scripts/build-and-commit.sh |
Auto-increment version, build, commit, and tag |
Release Commands
Full release (recommended):
VERSION=2026.3 VERSION_CODE=6 CHANGELOG_NOTES_FILE=notes.txt bash build-tools/release.sh
Auto-increment release:
bash scripts/build-and-commit.sh
Manual version update:
bash build-tools/set-version.sh 2026.3 6
bash build-tools/update-changelog.sh 2026.3 notes.txt
Verify version sync:
bash scripts/check-version.sh
Changelog
2026.3
- Hotfix: revert multi-path mount that caused boot failure, restore single-target bind mount
- Keep path detection logging for diagnostics
- Add
/system/etc/ as additional path fallback
2026.2
- Fix patching on devices where
floating_feature.xml exists at multiple paths (e.g. Galaxy S20+) — thanks to @parkerlreed
- Mount patched file to all detected locations instead of only the first one found
- Add path detection logging for easier debugging
- Installation checks now validate across all known paths
2026.1
- Add support for older phones (S9, S10, Note 9) with “system-as-root” partition layout — thanks to @serifpersia
- Minor fixes
2025.1
- Add release automation scripts
- Resolve shellcheck warnings
2024.2
- Restructure build/debug scripts
- Fix module status bug (was appending to old statuses on reboot)
2024.1
License
MIT License — see license.md
No warranties whatsoever.
评论