FS#75397 - [scratch] 1.4 fails to start when pipewire is used

Attached to Project: Community Packages
Opened by Stas Rudakou (staaas) - Friday, 22 July 2022, 12:04 GMT
Last edited by Jonathan Steel (jsteel) - Sunday, 22 January 2023, 14:50 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Jonathan Steel (jsteel)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

scratch-1.4.0.7-8 fails to start for me after migrating from pulseaudio to pipewire and pipewire-pulse.
This happens because scratch decides to use ALSA when `pulseaudio` binary is not available.

Additional info:
* package version: 1.4.0.7-8
* Scratch 1.4 is marked as deprecated in favor of Scratch 3 according to https://github.com/LLK/Scratch_1.4
* I haven't reported this upstream due to version 1.4 being deprecated
* Workaround: replace `if pulseaudio --check 2>/dev/null ; then` with `if pactl info 2>/dev/null ; then` in `/usr/bin/scratch` (https://github.com/LLK/Scratch_1.4/blob/d26f099e3d8358760d0129de4a57e792d97d146f/src/scratch#L88)

Steps to reproduce:
1. install, configure and start pipewire and pipewire-pulse
2. install scratch 1.4.0.7-8 from community
3. try to start scratch
```
$ scratch
Executing: /usr/lib/squeak/4.10.2-2614/squeakvm -encoding UTF-8 -vm-display-x11 -plugins /usr/lib/scratch/Plugins/:/usr/lib/squeak/4.10.2-2614/ -vm-sound-ALSA /usr/lib/scratch/Scratch.image
could not find module vm-sound-ALSA
fish: Job 1, 'scratch' terminated by signal SIGABRT (Abort)
```
This task depends upon

Closed by  Jonathan Steel (jsteel)
Sunday, 22 January 2023, 14:50 GMT
Reason for closing:  Deferred
Comment by Jonathan Steel (jsteel) - Thursday, 01 December 2022, 09:20 GMT
Yes this version hasn't had an update for some time and looks unlikely to be touched again. Someone could fork it and I'd likely switch if it contains fixes for modern software. I did look at moving over to version 3 but didn't like the look of the dependencies/build process so you can find scratch 3 in the AUR. Given a push, I could remove version 1 from the repos but unless there is a TU/Dev who wants to move scratch 3 into its place (not me), version 3 will remain in the AUR.

Loading...