Samsung Galaxy S4 (samsung-jflte)
|
Galaxy S4 | |
| Manufacturer | Samsung |
|---|---|
| Name | Galaxy S4 |
| Codename | samsung-jflte |
| Released | 2013 |
| Type | handset |
| Hardware | |
| Chipset | Qualcomm Snapdragon 600 (APQ8064AB) |
| CPU | Quad-core 1.9 GHz Krait 300 |
| GPU | Adreno 320 |
| Display | 1080x1920 AMOLED |
| Storage | 16/32/64 GB |
| Memory | 2 GB |
| Architecture | armv7 |
| Software | |
Original software The software and version the device was shipped with. |
Android 4.2.2 |
Extended version The most recent supported version from the manufacturer. |
Android |
| Nura | |
| Category | testing |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
pmOS kernel The kernel version that runs on the device's port. |
7.1 |
Unixbench score Unixbench Whetstone/Dhrystone score. See Unixbench. |
717.1 |
| Device package |
|
| Kernel package |
|
Flashing Whether it is possible to flash the device with pmbootstrap flasher. |
Works
|
|---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
SD card Also includes other external storage cards. |
Untested
|
Battery Whether charging and battery level reporting work. |
Works
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Partial
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Partial
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Broken
|
Camera Flash |
Broken
|
IR TX |
Broken
|
| Connectivity | |
WiFi |
Works
|
Bluetooth |
Works
|
GPS |
Broken
|
NFC Near Field Communication |
Broken
|
| Modem | |
Calls |
Broken
|
SMS |
Broken
|
Mobile data |
Broken
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Untested
|
USB OTG USB On-The-Go or USB-C Role switching. |
Untested
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Broken
|
| This device is based on the Snapdragon 600. See the SoC page for common tips, guides and troubleshooting steps |
| This page is about "Galaxy S4" variants that use the Qualcomm Snapdragon 600 SoC, see #Model variants. |
Contributors
- Alex-min
- i9505_someone (rrooij on GitHub)
- GrantM11235
Maintainer(s)
Users owning this device
- Bastindo (Notes: 2x black, one has a cracked screen)
- Beni
- BenWolsieffer
- Chmod-rwx (Notes: 3x, 2 working 1 untested)
- Chronos (Notes: with lineageos)
- Danfigasystems (Notes: unknown model. Screen broken)
- Deviled (Notes: 32gb, black, global model, with a degraded battery)
- Eepymeowers (Notes: 3x - 1 is ATT ver, rooted with locked BL on Android 5 TouchWiz, 2nd is stock and ATT ver, third is Sprint on LOS 18.1)
- Fizzo
- GloomyJD (Notes: Works)
- GrantM11235
- Grimler
- I9505 someone
- Igor121 (Notes: playground?)
- Jacobk (Notes: 2x SPH-L720T, 1 of which runs pmOS w/ various usability bugs, and 1x SCH-I545V, which probably needs an exploit to flash))
- JuniorJPDJ (Notes: broken display)
- Lifehackerhansol
- Loomhigh (Notes: Booting into a black screen)
- Madeline1805 (Notes: jflteatt, running Android 5.1, dead screen)
- Madhaxbro (Notes: GT-I9505, runs crDroid Android + TWRP. Ready for testing. Boots lk2nd without porting, only display works! Classic design. Could run mainline some day.)
- Manty
- MayeulC (Notes: Two I9505, two I9506)
- Nardo45 (Notes: Model: SGH-I337M)
- Notnoelchannel
- OHA (Notes: 9.2026: GT-I9505 runs pmOS with lxqt)
- Piero-e (Notes: international LTE / gt-i9505 / running official /e/OS android.11 based (jfltexx))
- PL (Notes: Boots pmOS, screen black. USB Networking works, normal networking is a hassle but can be made to work)
- SnappedAll (Notes: cm13, suspicious display, 2ndary phone)
- Stani2000
- Thekingkerellos (Notes: Cant get pmos to boot so im just porting a11/12 roms to this device)
- Tuxorials (Notes: broken screen)
- Ungeskriptet (Notes: Missing battery and broken panel; Compatible with jfvelte panel)
- WeirdTreeThing
Model variants
Galaxy S4 (LTE) "JF?"
- GT-I9505 (Global) - Compatible.
- GT-I9505G - Probably compatible (untested).
- GT-I9506 isn't based on the apq8064 SOC but MSM8974 (like the Galaxy S5), this one is unsupported by the current package.
- SCH-I545V (US?, ?) - Not compatible
- SGH-I337M (Canada?, ?) - Partially Compatible (tested, gets stuck in telnet).
- SGH-M919 (Canada?, ?) - Not Compatible.
- SPH-L720T (US, Sprint, "jfltespr") - Not Compatible.
North american variants are based on an Exynos SOC, they aren't compatible with the current package which is based on GT-I9505 - apq8064 SOC.
Firmware
Locked bootloader
Watch out, some versions have bootloaders that can't be unlocked, although the locked versions have a bootloader that contains a bug.
Boot modes
How to enter flash mode
- Download Mode: Hold and while connecting the device to a computer with a USB cable.
Installation
$ pmbootstrap init
$ pmbootstrap install
Since the Galaxy S4 only has a 10 MB kernel partition, the lk2nd bootloader is required. Download the device-specific image and flash it with Heimdall after booting into Download Mode:
$ wget https://raw.githubusercontent.com/apq8064-mainline/linux/master/lk2nd.img
$ heimdall flash --BOOT lk2nd.img
On reboot, hold the Home button to land on lk2nd.
$ pmbootstrap flasher flash_rootfs
Now reboot the device, everything is installed!
Battery
This device uses removable 2600 mAh Li-Ion batteries. Large aftermarket batteries (with a custom back cover) are made by third parties.
| WARNING: Be careful with degraded batteries. They may cause issues. Some UIs will not power the device off automatically on low charge! |
Battery charging status and fuelgauge work on mainline.
Wireless connectivity
WiFi
If you are using any desktop environment with a WiFi tray, it should work out of the box, otherwise you can also connect to WiFi from a terminal.
To list available networks, run
$ nmcli connection show
To connect to a network:
$ sudo nmcli device wifi connect "SSID_NAME" password "WIFI_PASSWORD"
Screen
Screen support is marked as partial as the screen brightness only has 10 levels and not 255 like it normally has on mainline.
The brightness code has been copied over from downstream so the brightness limitations here are identical to downstream.
3D acceleration
3D acceleration is partial, the GPU supports GLES 3.0 but Freedreno support is a bit buggy so this port is pinned to GLES 2.0 which is better supported.
Moreover, some commands can hang the GPU, there are some issues to solve in Mesa/Freedreno for full support.
Despite being a bit laggy, Phosh and XFCE do not hit the paths which hang the GPU and are recommended.
Other Hardware support
- Front LED is supported
- Smart cover (External GPIO) on the phone isn't supported yet
- External antenna support on the back of the phone is unknown.
Other issues
When rebooting the device with the "reboot" command, the device may fail to reboot and stay with a black screen. If it happens, unplug/replug the battery and boot again. This doesn't occur with a regular shutdown.
Notes
Main board UART
To simplify getting logs when doing development, it can be useful to connect to UART directly on the main board. UART (and supposedly JTAG) can be found close to the battery connector, among in 11 pads at the edge of the PCB. TX (from the phone's perspective) is the second pad from the top, and RX is the third one. The device uses 1.8 V signal strength.

External links
- Downstream kernel source code (LineageOS)
- Disassembly instructions on iFixit