Google Nexus 4 (lg-mako)
![]() 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 |
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_rootfs 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)
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.
freedreno / Mainline
The freedreno project brings an open source kernel driver for 3D acceleration. You would still need to run the proprietary blob on the GPU, but it makes 3D acceleration possible at all. There is a backport of freedreno to the 3.4 kernel, but the display doesn't work there. According to robclark from Freedreno, it makes more sense to get mainline going:
- tbh, with the exception of perhaps making phone calls (modem), upstream support for 8064 should be decent (like the work that john stultz did on n7 tablet).. so I probably wouldn't try too hard on ancient 3.4 stuff
Let us know if you're interested in doing this and talk to opendata26 (from postmarketOS) and robclark (from freedreno). With their help it should be quite feasible.
Links
- freedreno: Nexus 4
- Device package
- Tutorial: UART debug cable
- Official proprietary drivers
- #1079 The Nexus 7 DTB is so similar, it even boots