Sxmo/Pixel 3a

From postmarketOS Wiki
< Sxmo

SXMO works on Pixel 3A.

Sound

It seems to work better with pulse at the moment.

To force the use of pulse, select sxmo-utils-audio-pulseaudio as extra package in pmbootstrap.

With Pipewire, I get the same kind of problems I had with the op6 (for some things you need to have the mixer opened (placing calls) but for others (recorder) it blocks if mixer is opened.

Placing Calls

That is what a phone is for (no ?).

Current UCM profiles do not work (callaudio won't swich), so you'll have to use the ones that are worked on at this address [1] and place it in /usr/share/alsa/ucm2/Google/sargo/.

For the moment, there are issues with the internal mic using the current scripts ... To make calls work you'll have to :

  • remove calls to setup_audio in sxmo_modemdial.sh
  • invert calls to setup_audio and mmcli accept/start (both for incoming and outgoing calls) in sxmo_modemcall.sh

Sensors

Proximity, light and accelerometer all work using iio-sensor-proxy. Once running it can be queried using monitor-sensor.

You can to do the same as with Oneplus6. Here is the sxmo_proximitylock.sh script I currently use [2].

If you don't want monitor-sensor to be run as root, you can use this polkit rule (it should be placed in /etc/polkit-1/rules.d/) :

polkit.addRule(function(action, subject) {                                                                                 
  if (action.id == "net.hadess.SensorProxy.claim-sensor" && subject.isInGroup("plugdev")) {
    return polkit.Result.YES;
  }
});

Camera

Gnome snapshot works, but some things are not setup straightforward :

  • You'll need to give the user access for /dev/udmabuf, for instance using this 90-libcamera.rule udev rule :
KERNEL=="udmabuf",GROUP="video",MODE="0660"
  • pipewire and wireplumber need to be started.
$ superctl start wireplumber # starts wireplumber (and pipewire)
$ superctl enable wireplumber # enables them so they start automatically

When snapshot works, other applications using the same stack (such as decode for qr-code) work too, even as flatpak. The camera can also be used in firefox.


Megapixel has a configuration for pixel3a, but it does only take into account the front camera and the program closes when changing camera or taking photo.

Working around the notch

Just kiddin', there is no notch on this phone !!!

But if you're upset by the rounded corners, you can always add some gaps on the status bar :

bar {
    gaps 0 20 0 20
    height 20
    ...

Device profile

The deviceprofile for this device is in /usr/bin/sxmo_deviceprofile_google,b4s4-sdm670.sh

#!/bin/sh
# SPDX-License-Identifier: AGPL-3.0-only
# Copyright 2024 Sxmo Contributors

export SXMO_VOLUME_BUTTON="1:1:gpio-keys 0:0:pm8941_resin"
export SXMO_POWER_BUTTON="0:0:pm8941_pwrkey"
export SXMO_VIBRATE_DEV="/dev/input/event2"
export SXMO_VIBRATE_STRENGTH="50000"
export SXMO_SWAY_SCALE="3"

Issues

Most of them are minor, should be fixed quickly ;)

  • GPS not working (not really optimistic about this one)
  • Headset headphones not working (but mic does)