1. 22 Dec, 2022 3 commits
    • Guido Gunther's avatar
      Make osk-wayland obsolete · 2fdd359f
      Guido Gunther authored and Guido Gunther's avatar Guido Gunther committed
      squeekboard 1.20.0-2 from Debian will use update-alternatives to manage
      the /u/s/a/sm.puri.OSK0.desktop finally allowing us to obsolete
      osk-wayland here.
      
      We do so by making sm.puri.OSK0-legacy.desktop use update-alternatives
      too and giving it a lower priority than squeekboards.
      
      As older squeekboard in PureOS Byzantium doesn't worry about
      sm.puri.OSK0 at all so an update of librem5-base-defaults won't change
      anything for the user.
      
      We can drop sm.puri.OSK0-legacy and osk-wayland for Crimson
      2fdd359f
    • Guido Gunther's avatar
      postrm: Make sure we exit 0 · 828aa168
      Guido Gunther authored and Guido Gunther's avatar Guido Gunther committed
      Don't rely on what a debhelper snippet does
      828aa168
    • Guido Gunther's avatar
      prerm: Add missing DEBHELPER magic · 8842a09e
      Guido Gunther authored and Guido Gunther's avatar Guido Gunther committed
      Otherwise we won't have debhelper snippets inserted
      
      Fixes 664324e4
      8842a09e
  2. 18 Nov, 2022 1 commit
    • Guido Gunther's avatar
      base: Move gthd to recommends · dd9c21b7
      Guido Gunther authored
      Now that `sensors` outputs reasonable values as well we can safely have
      people remove  it. gnome-usage has a separate Recommends: releationship
      so it's can be dropped completely for crimson.
      dd9c21b7
  3. 16 Nov, 2022 2 commits
  4. 10 Nov, 2022 1 commit
  5. 07 Nov, 2022 7 commits
    • Sebastian Krzyszkowiak's avatar
      debian: Add `systemctl daemon-reload` to postinst and postrm · abc798b2
      Sebastian Krzyszkowiak authored
      Otherwise, systemd drop-ins aren't registered until a reboot
      or manual reload.
      abc798b2
    • Sebastian Krzyszkowiak's avatar
      librem5-base-defaults: Use librem5.state file to store ALSA state · ad3c365a
      Sebastian Krzyszkowiak authored
      This prevents the old asound.state file to be loaded with outdated
      values that are potentially incompatible with the new UCM.
      
      As an added bonus, allow the state to be reset when the user deletes
      the librem5.state file manually and reboots - previously
      alsa-restore.service would simply regenerate the state file on
      shutdown, making it hard to intentionally reset the state.
      ad3c365a
    • Sebastian Krzyszkowiak's avatar
      debian: Bump kernel dependency to 6.0.0pureos2 · 0e83f898
      Sebastian Krzyszkowiak authored
      Otherwise the new UCM will unconditionally favor wired microphone
      input even if none is connected.
      0e83f898
    • Sebastian Krzyszkowiak's avatar
    • Sebastian Krzyszkowiak's avatar
      b3dc31dc
    • Sebastian Krzyszkowiak's avatar
      default: pulse: Set modem input volume to 50% · 18ae82b5
      Sebastian Krzyszkowiak authored
      It appears that BM818 is applying some kind of gain on its own, leading
      to distorted sound on the other end even when the local microphone
      volume isn't anywhere near being clipped. Provide it with quieter audio
      to avoid clipping at the modem end.
      18ae82b5
    • Sebastian Krzyszkowiak's avatar
      defaults: ucm2: Rework ALSA UCM profiles · e4aac8be
      Sebastian Krzyszkowiak authored
      This is a bigger overhaul of the profiles inspired by studying WM8962
      datasheet and debugging issues with PulseAudio.
      
      Aside of a general cleanup, it changes several things aimed to improve
      audio quality on both inputs and outputs.
      
      The new profile:
      - allows PulseAudio to use hardware volume control and makes sure that
        PGA gains are user-configurable
      - makes sure Zero-Cross feature is enabled for all relevant input and
        output paths
      - enables High-Pass Filters to protect the speakers from potential damage,
        get rid of DC offset and to improve input speech legibility
      - minimizes the amount of gains used in various paths
      - makes "Speaker" profile use both speakers, each with the same downmixed
        mono signal, which improves volume and frequency response
      - uses HD Bass feature for improved lower frequency response of internal
        speakers
      - uses only the bottom microphone by default and duplicates it into both
        stereo channels (and creates a new "stereo microphones" device, so users
        can still access both microphones when desired)
      - duplicates analog microphone signal into both stereo channels
      - enables High Performance modes for better signal to noise ratio
      - uses Dynamic Range Control for input path to control signal level
        and attenuate background noise
      e4aac8be
  6. 03 Nov, 2022 2 commits
  7. 24 Oct, 2022 1 commit
    • Guido Gunther's avatar
      smartcard: Use a more user friendly reader name · b9d93c0c
      Guido Gunther authored and Guido Gunther's avatar Guido Gunther committed
      With that we get
      
        PIN code for L5 built-in SmartCard Reader 00 00:
      
      for pin prompt and for `--card-status`:
      
          $ gpg --card-status
          Reader ...........: L5 built-in SmartCard Reader 00 00
          Application ID ...: D2760001240103030005000091000000
          Application type .: OpenPGP
          Version ..........: 3.3
          Manufacturer .....: ZeitControl
      
      rather than
      
        PIN code for TTXS serial 00 00:
      
      which doesn't give much information in case of multiple SC readers.
      b9d93c0c
  8. 16 Oct, 2022 1 commit
  9. 10 Oct, 2022 1 commit
  10. 09 Oct, 2022 1 commit
    • Sebastian Krzyszkowiak's avatar
      defaults: pulse: Use 2 fragments of 16 ms to reduce latency · 99de5d3d
      Sebastian Krzyszkowiak authored
      The default of 4 fragments of 25 ms results in 100 ms latency, which is
      noticeably high, especially when moving audio between two cards (SoC and
      modem) as the latencies add up. Librem 5 appears to be perfectly capable
      of dealing with lower latencies, so let's reduce it to 32 ms.
      
      This is a somewhat conservative choice, as there are lower values that
      still appear to work well, but going lower increases the chances of
      underruns happening under load, so we may want to wait until we scale
      DRAM frequency up dynamically to not regress on playing audio with screen
      locked use-case.
      99de5d3d
  11. 07 Sep, 2022 1 commit
    • Chris Vogel's avatar
      hardware kill switches: lockdown-support · 65ec7038
      Chris Vogel authored
      When lockdown mode (all hks enabled, hardware for sensors disabled) is
      entered, unload modules for lsm9ds1 and unbind vcnl4000. If one hks is
      disabled and sensors become available again load lsm9ds1 modules and
      bind vcnl4000.
      
      Background: the drivers do not detect the hardware being disabled and
      re-enabled. This leaves the sensors for proximity, light and acceleration
      in an unsusable state.
      
      This commit fixes:
      * linux#436
      * linux#431
      
      This commit removes the work by @martin.keppling for vcnl4000 only and
      integrates it into the new lockdown-support.sh script.
      
      **/etc/modprobe.d/librem5-lsm9ds1.conf** blacklists the lsm9ds1 modules to
      be not loaded on boot. Otherwise the sensors will become unsuable if
      during boot lockdown mode had been enabled.
      
      **lockdown-support.sh** checks for the state of the hks before loading the
      lsm9ds1 modules and binding vcnl4000 when any hks is disabled and
      unloads the lsm9ds1 modules and unbinds vcnl4000 if all hks become
      enabled.
      
      **librem5-lockdown-support.service** is started on boot to run
      lockdown-support.sh once.
      
      **librem5-lockdown-support.udev** calls lockdown-support.sh each time a hks
      is toggled
      
      Thanks a lot to @evangelos.tzaras, @guido.gunther and @martin.kepplinger
      for leading me through the process of generating a clean commit and all the
      corrections and help to improve this commit.
      65ec7038
  12. 11 Aug, 2022 6 commits
  13. 07 Jul, 2022 1 commit
  14. 14 Jun, 2022 1 commit
    • Sebastian Krzyszkowiak's avatar
      defaults: Add USBGuard configuration for Librem 5 and its devkit · 8c48937b
      Sebastian Krzyszkowiak authored
      This configures USBGuard to only accept allowlisted USB devices
      appearing on the internal bus, and to accept everything on the
      external bus.
      
      Since g-s-d has USBGuard support that rejects devices attached
      while the screen is locked, let's disable it by default for now
      to not introduce potentially breaking UX changes. It can be
      reenabled once it's properly configured and well-tested for our
      use cases.
      8c48937b
  15. 25 May, 2022 1 commit
  16. 23 May, 2022 1 commit
    • Sebastian Krzyszkowiak's avatar
      base-recommends: Add pcscd · 19db2bf2
      Sebastian Krzyszkowiak authored
      This makes the smart card reader operational out-of-box.
      
      Currently, pcscd doesn't shut down automatically when used
      in conjuction with scdaemon, which keeps the reader powered
      on even if unused, but this happens only when there's
      a valid card inserted and after the first use of the reader,
      so it's been decided that it's an acceptable price for having
      it work out-of-box right now.
      See: OS-issues#263
      19db2bf2
  17. 12 Apr, 2022 1 commit
  18. 30 Mar, 2022 1 commit
    • Martin Kepplinger's avatar
      udev: add rules to reload the vcnl4000 driver on any one hks-on · 75739c51
      Martin Kepplinger authored and Guido Gunther's avatar Guido Gunther committed
      the light sensor is being cut off when wwan-hks, wlan-hks and camera-hks
      are being switched off. it's powered again when only one of these 3
      hks are being switched on again - any one of them.
      
      Since I couldn't come up with a simple rule that does such an "OR"
      relationship, this runs a script on every HKS on-switching. That
      script then checks whether only 1 or 2 rfkill devices are unblocked
      (the wifi HKS or the camera/mic HKS each unblock 2 rfkill devices).
      
      In that case, it reloads the vcnl4000 driver to make illuminance and
      proximity values work again.
      75739c51
  19. 23 Mar, 2022 2 commits
  20. 19 Mar, 2022 2 commits
  21. 16 Mar, 2022 1 commit
  22. 15 Mar, 2022 2 commits