Mike Slinn

Push 3 Standalone Linux

Published 2024-06-04.
Time to read: 2 minutes.

This page is part of the av_studio collection.

This article was written after I published the Push 3 Standalone review. You should be familiar with that article before reading this one. Note: P3S is an abbreviation for Ableton Push 3 Standalone.

Linux Processes

I was curious to know which processes ran on the P3S, and if a firewall was installed. The ps command showed me all processes, including thread managment, memory management, task management, audit logger, Linux device tree manager, network management, swap management and running spplications.

Shell
ableton@push:~$ ps ax
PID TTY      STAT   TIME COMMAND
  1 ?        Ss     0:03 init [5]
  2 ?        S      0:00 [kthreadd]
  3 ?        I<     0:00 [rcu_gp]
  4 ?        I<     0:00 [rcu_par_gp]
  5 ?        I<     0:00 [netns]
  7 ?        I<     0:00 [kworker/0:0H-events_highpri]
  9 ?        I<     0:00 [mm_percpu_wq]
 10 ?        S      0:00 [rcu_tasks_rude_]
 11 ?        S      0:00 [rcu_tasks_trace]
 12 ?        S      0:03 [ksoftirqd/0]
 13 ?        I      2:20 [rcu_sched]
 14 ?        S      0:00 [migration/0]
 16 ?        S      0:00 [cpuhp/0]
 17 ?        S      0:00 [cpuhp/1]
 18 ?        S      0:00 [migration/1]
 19 ?        S      0:01 [ksoftirqd/1]
 21 ?        I<     0:00 [kworker/1:0H-events_highpri]
 22 ?        S      0:00 [cpuhp/2]
 23 ?        S      0:00 [migration/2]
 24 ?        S      0:02 [ksoftirqd/2]
 26 ?        I<     0:00 [kworker/2:0H-events_highpri]
 27 ?        S      0:00 [cpuhp/3]
 28 ?        S      0:00 [migration/3]
 29 ?        S      4:57 [ksoftirqd/3]
 31 ?        I<     0:00 [kworker/3:0H-events_highpri]
 32 ?        S      0:00 [kdevtmpfs]
 33 ?        I<     0:00 [inet_frag_wq]
 34 ?        S      0:00 [kauditd]
 35 ?        S      0:00 [khungtaskd]
 36 ?        S      0:00 [oom_reaper]
 37 ?        I<     0:00 [writeback]
 38 ?        S      0:08 [kcompactd0]
 39 ?        SN     0:00 [ksmd]
 40 ?        SN     0:00 [khugepaged]
 88 ?        I<     0:00 [kintegrityd]
 89 ?        I<     0:00 [kblockd]
 90 ?        I<     0:00 [blkcg_punt_bio]
 92 ?        I<     0:00 [tpm_dev_wq]
 93 ?        I<     0:00 [ata_sff]
 94 ?        I<     0:00 [edac-poller]
 95 ?        I<     0:00 [devfreq_wq]
 96 ?        S      0:00 [watchdogd]
 98 ?        R<     0:08 [kworker/0:1H-events_highpri]
100 ?        S      0:00 [kswapd0]
102 ?        I<     0:00 [kthrotld]
103 ?        S      0:00 [irq/122-aerdrv]
104 ?        S      0:00 [irq/122-pcie-dp]
105 ?        I<     0:00 [acpi_thermal_pm]
106 ?        I<     0:00 [nvme-wq]
107 ?        I<     0:00 [nvme-reset-wq]
108 ?        I<     0:00 [nvme-delete-wq]
111 ?        I<     0:00 [mld]
112 ?        I<     0:08 [kworker/2:1H-events_highpri]
113 ?        I<     0:00 [ipv6_addrconf]
122 ?        I<     0:00 [kstrp]
125 ?        I<     0:00 [zswap-shrink]
126 ?        I<     0:00 [kworker/u9:0-rb_allocator]
131 ?        I<     0:00 [charger_manager]
132 ?        I<     4:31 [kworker/3:1H-events_highpri]
133 ?        I<     0:09 [kworker/1:1H-events_highpri]
134 ?        S      0:00 [jbd2/nvme0n1p4-]
135 ?        I<     0:00 [ext4-rsv-conver]
181 ?        Ss     3:51 /sbin/udevd -d
230 ?        S      0:00 [irq/129-mei_me]
241 ?        I<     0:00 [cryptd]
350 ?        S      0:01 [jbd2/nvme0n1p5-]
351 ?        I<     0:00 [ext4-rsv-conver]
361 ?        I<     0:00 [cfg80211]
364 ?        S      0:38 [irq/130-iwlwifi]
365 ?        S      0:17 [irq/131-iwlwifi]
366 ?        S      0:02 [irq/132-iwlwifi]
367 ?        S      0:08 [irq/133-iwlwifi]
368 ?        S      0:19 [irq/134-iwlwifi]
369 ?        S      0:00 [irq/135-iwlwifi]
372 ?        I<     0:00 [kworker/u9:1-rb_allocator]
379 ?        S      0:00 [card0-crtc0]
380 ?        S      0:00 [card0-crtc1]
381 ?        S      0:00 [card0-crtc2]
382 ?        S      0:00 [card0-crtc3]
385 ?        S      0:00 /sbin/udevd -d
387 ?        S      0:00 /sbin/udevd -d
388 ?        S      0:00 /sbin/udevd -d
389 ?        S      0:00 /sbin/udevd -d
390 ?        S      0:00 /sbin/udevd -d
391 ?        S      0:00 /sbin/udevd -d
392 ?        S      0:00 /sbin/udevd -d
393 ?        S      0:00 /sbin/udevd -d
394 ?        S      0:00 /sbin/udevd -d
395 ?        S      6:07 /sbin/udevd -d
396 ?        S      0:00 /sbin/udevd -d
397 ?        S      0:00 /sbin/udevd -d
398 ?        S      0:00 /sbin/udevd -d
399 ?        S      0:00 /sbin/udevd -d
400 ?        S      0:00 /sbin/udevd -d
541 ?        Ss     0:02 /usr/bin/dbus-daemon --system
545 ?        Ssl    0:00 /usr/sbin/rngd -r /dev/hwrng -O jitter:buffer_size:64 -O jitter:refill_thresh:64
560 ?        Ss     0:04 /usr/sbin/connmand
567 ?        S      0:04 /usr/sbin/wpa_supplicant -u
597 ?        Ss     0:00 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups
607 ?        S      0:00 xinit /etc/X11/Xsession -- /usr/bin/Xorg :0 -br -pn
615 tty2     S
782 ?        Z      0:00 [gnome-keyring-d] 
787 ?        Z      0:00 [gnome-keyring-d] 
793 ?        S      0:00 dbus-launch --autolaunch 43408356cd2303ead3c76e85665522e9 --binary-syntax --close-stderr
795 ?        Ss     0:00 /usr/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session
797 ?        S      0:00 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
798 ?        Sl     0:00 /usr/bin/gnome-keyring-daemon --start --components
800 ?        Sl     0:00 /usr/bin/gnome-keyring-daemon --start --components
819 ?        Sl     0:00 /usr/lib/xfce4/xfconf/xfconfd
825 ?        Sl     0:00 /usr/libexec/at-spi2-registryd --use-gnome-session
863 ?        SNl    4:18 /opt/push3/Ableton Index /tmp/com.ableton.index.7792ecf.txt --crashpad-fd=5
12750 ?        I      0:42 [kworker/0:2-events]
13136 ?        I      0:00 [kworker/0:0]
14818 ?        I      0:19 [kworker/2:2-mm_percpu_wq]
16269 ?        I      0:01 [kworker/3:2-events]
16272 ?        I      0:17 [kworker/3:0-events]
16279 ?        D      0:17 [kworker/3:1+usb_hub_wq]
16513 ?        I      0:00 [kworker/u8:0-events_unbound]
16520 ?        I      0:00 [kworker/u8:1-events_unbound]
16522 ?        I      0:00 [kworker/1:1-events]
16531 ?        I      0:00 [kworker/u8:2-events_power_efficient]
16532 ?        I      0:00 [kworker/2:1]
16533 ?        I      0:00 [kworker/1:2-events]
16534 ?        I      0:00 [kworker/1:0]
16541 ?        Ss     0:00 sshd: ableton [priv]
16543 ?        S      0:00 sshd: ableton@pts/0
16544 pts/0    Ss     0:00 -sh
16550 pts/0    R+     0:00 ps ax 

I was surprised to see processes from the KVM type-1 hypervisor; the P3S only has an Intel i3 processor, and it is running a realtime application.

I also noticed the mention of sentry.io, however the URL referenced is no longer valid.

Linux Kernel Modules

The loaded kernel modules are:

Shell
ableton@push:~$ lsmod
Module                  Size  Used by
snd_hrtimer            16384  2
snd_seq_midi           20480  5
snd_seq_midi_event     16384  1 snd_seq_midi
snd_seq                69632  15 snd_seq_midi,snd_seq_midi_event
ccm                    20480  6
snd_hda_codec_generic    77824  1
snd_usb_audio         303104  7
snd_hwdep              16384  1 snd_usb_audio
snd_usbmidi_lib        36864  1 snd_usb_audio
snd_rawmidi            36864  2 snd_seq_midi,snd_usbmidi_lib
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
i915                 2506752  8
iwlmvm                413696  0
mac80211             1028096  1 iwlmvm
libarc4                16384  1 mac80211
iwlwifi               389120  1 iwlmvm
drm_kms_helper        253952  1 i915
snd_hda_intel          49152  0
snd_intel_dspcfg       20480  1 snd_hda_intel
snd_hda_codec         135168  2 snd_hda_codec_generic,snd_hda_intel
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
intel_powerclamp       20480  0
snd_hda_core           94208  3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec
sysimgblt              16384  1 drm_kms_helper
cfg80211              884736  3 iwlmvm,iwlwifi,mac80211
fb_sys_fops            16384  1 drm_kms_helper
ttm                    69632  1 i915
snd_pcm               118784  6 snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
coretemp               20480  0
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
ghash_clmulni_intel    16384  0
drm                   544768  8 drm_kms_helper,i915,ttm
wmi_bmof               16384  0
aesni_intel           376832  4
crypto_simd            16384  1 aesni_intel
cryptd                 24576  2 crypto_simd,ghash_clmulni_intel
snd_timer              36864  3 snd_seq,snd_hrtimer,snd_pcm
mei_me                 40960  0
snd                    94208  17 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_pcm,snd_rawmidi
mei                   131072  1 mei_me
intel_cstate           20480  0
intel_lpss_pci         24576  0
intel_lpss             16384  1 intel_lpss_pci
soundcore              16384  1 snd
idma64                 20480  0
wmi                    28672  1 wmi_bmof
video                  53248  1 i915
acpi_pad              184320  0 

The kvm module is not loaded, so the hypervisor is not active. I might look into this further at some point.

General Comments

The X display manager is xfce, a lightweight but capable desktop environment. Gnome Keyring is used to store secrets, passwords, keys, certificates and make them available to applications.

/data/logs/PushWebServiceCli.log is helpful for debugging system problems, however this file seems to grow forever, eventually filling the drive. Other log files also accumulate forever:

Shell
$ ls /data/logs/
Push3.log                launcher.log             launcher.log.2024-05-28
launcher.log.2024-05-30  launcher.log.2024-06-01  PushWebServiceCli.log
launcher.log.2024-05-24  launcher.log.2024-05-29  launcher.log.2024-05-31
launcher.log.2024-06-02 

The file system information was interesting:

Shell
ableton@push:~$ cat /etc/fstab
/dev/root            /                    auto       defaults              1  1
proc                 /proc                proc       defaults              0  0
devpts               /dev/pts             devpts     mode=0620,gid=5       0  0
tmpfs                /run                 tmpfs      mode=0755,nodev,nosuid,strictatime 0  0
tmpfs                /var/volatile        tmpfs      defaults              0  0
/dev/disk/by-partlabel/msdos            /boot                auto       defaults              0  0
/dev/disk/by-partlabel/data             /data                ext4       defaults              0  0
/dev/disk/by-partlabel/swap1            swap                 swap       defaults              0  0 

Push Software

/opt/push3/XPython3Exe executes /opt/push3/push3-launcher.pyc. This process is launched at boot time by /etc/init.d/push3.

The software update process (swupdate) is launched by /etc/init.d/swupdate.

I could not help but see what happens when I attempted to launch Live on the P3S from the command line (it was already running):

Shell
ableton@push:~$ /opt/push3/Live -h
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted

No Firewall Found

Although the iptables-xml command is installed, iptables is not. I looked for evidence of other firewalls, but did not find any. This is disturbing.

* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.