← Back to Devices

Samsung Galaxy S8 (SM-G950F) — Batteryless 1080p60 DeX Appliance

Active dreamlte Smartphone (DeX Appliance) aarch64

Last updated October 31, 2026

SoC Samsung Exynos 8895 (universal8895)
Architecture aarch64
Kernel Downstream Linux 4.4.302 (hadesKernel v2.5.18)
OS / Userland hadesRom OneUI Q v3.0 (Android 10)
Boot Path Internal UFS (TWRP + Magisk v25.2)

The Samsung Galaxy S8 (SM-G950F / dreamlte) is deployed as a stationary living-room media and desktop appliance connected to a TV over a USB-C HDMI hub. It outputs native 1920×1080 @ 60 Hz video with Samsung DeX desktop mode and multi-channel PCM audio over HDMI.

Recovering this device for continuous stationary operation required two distinct fixes: a hardware resistor modification to clear a bootloader thermistor lockout, and a systemless AudioPolicy configuration patch to restore HDMI audio output on custom OneUI Q ROMs.


Hardware & Software Profile

Field Specification
Model Samsung Galaxy S8 (SM-G950F / dreamlte)
SoC Samsung Exynos 8895 (universal8895, Octa-core aarch64)
RAM / Storage 4 GB LPDDR4X / 64 GB UFS 2.1
ROM hadesRom OneUI Q v3.0 (Android 10, QP1A.190711.020)
Kernel 4.4.302-hadesKernel-v2.5.18-dreamlte
Root & Recovery Magisk v25.2 (25200), TWRP Recovery
Display Output 1920×1080 @ 60 Hz over USB-C DisplayPort Alt Mode → HDMI

Subsystem Status

Subsystem Mechanism / Driver Status Notes
Boot & Thermal Lockout 100 kΩ NTC replacement resistor Working Bypasses missing/damaged NFC & wireless-charging coil thermistor
USB-C DisplayPort / HDMI sec_displayport + DeX Desktop Working Full 1920×1080 @ 60 Hz desktop output on external display
HDMI Audio Output audio_policy_configuration_sec.xml overlay Working Routes AUDIO_DEVICE_OUT_AUX_DIGITAL (0x400) through primary_out
Root & Service Persistence Magisk v25.2 systemless overlay Working Survives reboots without modifying /vendor directly
Wi-Fi & Bluetooth Broadcom BCM4361 Working Used for LAN media streaming and wireless keyboard/mouse

Hardware Fix: 100 kΩ Wireless-Charging Coil NTC Bypass

On the Galaxy S8, the wireless charging / NFC flex assembly houses a 100 kΩ Negative Temperature Coefficient (NTC) thermistor monitored by the PMIC and bootloader during pre-boot and charging checks. When the wireless charging coil flex is missing or its thermistor trace is open-circuit, the ADC reads an extreme out-of-range temperature fault and refuses to charge or complete boot.

Solution

Instead of requiring the full wireless-charging backplate assembly in a ventilated stationary enclosure:

  1. Located the wireless-charging NTC thermistor contact pad on the motherboard and a nearby ground (GND) reference pad.
  2. Soldered a fixed 100 kΩ resistor between the NTC signal pad and GND, simulating a continuous nominal room temperature (~25 °C).
  3. The bootloader and PMIC thermal checks pass immediately, allowing reliable unattended startup.

Software Fix: Restoring DeX / HDMI Audio on hadesRom Q

Symptom

When connected to a TV via a USB-C HDMI hub, video output (1920×1080p60) and Samsung DeX initialized normally, but all audio continued playing through the phone's internal speaker instead of the TV.

Root Cause Analysis

Inspecting dumpsys media.audio_policy and logcat -b all | grep -iE "APM_AudioPolicyManager|displayport" during HDMI hotplug revealed:

  • The kernel DisplayPort driver detected the HDMI audio sink and notified AudioPolicyManager to connect device 0x400 (AUDIO_DEVICE_OUT_AUX_DIGITAL).
  • setDeviceConnectionStateInt() rejected the connection with checkOutputsForDevice(): No output available for device 0400.
  • On Samsung's Exynos 8895 audio HAL, AudioPolicyManager loads /vendor/etc/audio_policy_configuration_sec.xml (not the generic AOSP /vendor/etc/audio_policy_configuration.xml).
  • Inside audio_policy_configuration_sec.xml, the Audio Out devicePort (AUDIO_DEVICE_OUT_AUX_DIGITAL) was declared under <devicePorts>, and <route sink="Audio Out" sources="primary_out,fast,deep_buffer,..."/> existed under <routes>, but Audio Out was missing from the <attachedDevices> list only on the active MixPorts (primary_out only routed to Earpiece, Speaker, BT SCO, etc. in the active profile without exposing a dedicated hdmi mixPort or allowing primary_out to open Audio Out).

Reversible Magisk Overlay

To fix routing without dirtying the read-only /vendor partition, a Magisk module (/data/adb/modules/dex_hdmi_audio_fix/system/vendor/etc/audio_policy_configuration_sec.xml) overrides the policy at boot:

  1. Added <item>Audio Out</item> to the <routes> source list for primary_out (AUDIO_OUTPUT_FLAG_PRIMARY) and deep_buffer.
  2. Restarted audioserver (killall audioserver).

Verification via dumpsys media.audio_policy confirmed availableOutputDevices includes AUDIO_DEVICE_OUT_AUX_DIGITAL (0x400) and media playback routes 48 kHz 16-bit stereo PCM cleanly over HDMI.

Device Tags:

Other Ported Devices