Skip to content

supermarsx/magisk-samsung-dex-standalone-mode

Repository files navigation

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.

✅ Enables DeX standalone mode on supported phones.

✅ Compatible with magisk and kernelsu.

Made with brain GitHub Stars GitHub Forks GitHub Watchers GitHub repo size CI GitHub Downloads GitHub Issues or Pull Requests

[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

  1. Download the latest release
  2. Open Magisk or KernelSU app
  3. Go to Modules → Install from storage
  4. Select the downloaded ZIP
  5. 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

  1. Enable Developer Options: Settings → About phone → Software information → Tap "Build number" 7 times
  2. Go to Settings → Developer options
  3. 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.

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

  • Initial release

License

MIT License — see license.md

No warranties whatsoever.