Jump to content

Google Nexus 4 (lg-mako)

From postmarketOS Wiki
Revision as of 02:53, 18 November 2017 by Ollieparanoid (talk | contribs) (Replace Category:Unsupported device with Category:Not booting and remove Category:Device (since the infobox template sets that anyway!))
Google (LG) Nexus 4
LG Nexus 4 running Weston
LG Nexus 4 running Weston
Manufacturer Google (LG)
Name Nexus 4
Codename mako
Released 2012
Hardware
Chipset Qualcomm APQ8064 Snapdragon S4 Pro
CPU Quad-core 1.5 GHz Krait
GPU Adreno 320
Display 768x1280 IPS
Storage 8/16 GB
Memory 2 GB
Software
Original software Android on Linux 3.4
postmarketOS
Category testing
Pre-built images no
Mainline no
Features
Flashing
No data
USB Networking
No data
Internal storage
No data
SD card
No data
Battery
No data
Screen
No data
Touchscreen
No data
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
No data
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data

Contributors

  • ollieparanoid
  • PabloCastellano and robb4 on IRC: Workaround for red screen bug (#54)

Installation

pmbootstrap init
pmbootstrap install
(enter fastboot, see below)
pmbootstrap flasher flash_system
pmbootstrap flasher boot

To flash the kernel, you can choose pmbootstrap flasher flash kernel (but charging and power off doesn't work as expected anymore, see below).

Entering "Fastboot mode"

Hold Volume Down + Power, let go of Power once the device display does something (e.g. turns from battery icon to black screen).

Charging and power off (after flashing the postmarketOS kernel)

Note You don't have to flash the kernel! pmbootstrap flasher boot is also working!

You can flash the postmarketOS kernel, but instead of charging the battery, it will boot straight into postmarketOS (or the on screen keyboard to type in the password). Right now, the best way to charge it from that situation is to boot the recovery TWRP.

You can properly turn the device off by unplugging the usb cable, then booting into fastboot, then choosing power off.

What works

  • Touchscreen
  • Weston (has the red screen bug, but we have a workaround for that now 👍 )

What does not work

  • XWayland
  • fbsplash only displays splash images very shortly, then goes to black screen
  • osk-sdl has graphical bugs (but it works for unlocking!) (osk-sdl#59)
  • The rest (Wifi, bluetooth, making calls, ...)

Wifi

Looks like, we need to package the wcnss.* files for wifi. A version from 2015 can be found here. It's a Qualcomm chip.

Alternative kernels

It *should* be possible to run The Mainline Kernel on the lg-mako, maybe we need to write a display driver, but there's a tutorial for it. I (ollieparanoid) didn't do enough research on this yet - if you're interested in doing this, please talk to opendata26 from postmarketOS and robclark from the freedreno project. With their help it should be quite feasible.

Non-mainline:

  • Freedreno backport to 3.4.0 (couldn't make it work out of the box and I suggest trying to get mainline working instead of spending time on this one)
  • Freedreno backport to 3.0.8 (#38)

Links

Photos