The officially official Devuan Forum!

You are not logged in.

#1 Re: Freedom Hacks » Automounting USB Drives (NTFS, exFAT) with dmask=022,fmask=133 » 2024-09-10 14:34:24

Hope it works for you.

PedroReina wrote:

After 20 years, at last I know how to fix this annoying behaviour.

I thought that it is a special feature of Devuan.
If it is "annoying behaviour" for you, it does not mean that it is also annoying for others.
Since nobody complains, it might be the normal way of things for pulseaudio users.
Although, of course, it might be a security problem.

The /etc/udisks2/mount_options.conf should be tested and verified.

Umask
_https://en.wikipedia.org/wiki/Umask
_https://wiki.archlinux.org/title/Umask

$ umask
0022 

_https://www.linuxquestions.org/questions/linux-general-1/mounting-ntsf-drive-in-fstab-unsure-of-fmask-and-dmask-values-4175458533/#post4934200

fmask, dmask, and umask taken together pertain only to Windows filetypes ( NTFS and FAT32 ) whereas umask alone pertains to both windows and Linux filetypes but are implemented 2 different ways.

On Linux Filesystems

At the moment of birth every file has permissions of 666 and every directory has permissions of 777. A system wide umask is created to modify these permissions immediately after birth and it's currently set at 002. So when you create a new file it's permissions are:

666
002 <-- minus the umask
==
664

And every new directory has permissions of:

777
002 <-- minus the umask
==
775

On Windows Filesystems

Windows fileystems have no Linux file permission attributes so a virtual filesystem is used to create a "view" to give them the appearance that they do have them. The system wide umask has no affect on these filesystems nor does a chmod or a chown. They can only be set when the "view" is created in fstab.

At the moment of birth NTFS files and folders start out with exactly the same permissions: 777. If you were to set up in fstab a umask of 002 for these partitions then the result would be different from a Linux filesystem:

File: 777 - 002 = 775
Folder: 777 - 002 = 775

The folder setting is fine and that's the way you want them to be but the files have all been made executable - every single one of them. You can change that by separating umask into it's constituent parts: fmask and dmask:

So if you set up fstab this way for an NTFS partition: dmask=002,fmask=113

File: 777 - 113 = 664
Folder: 777 - 002 = 775 

_https://thelinuxcode.com/automount-usb-ubuntu/
_https://www.freedesktop.org/wiki/Software/udisks/
_https://storaged.org/doc/udisks2-api/latest/mount_options.html
_https://www.kernel.org/doc/Documentation/filesystems/vfat.txt

ArchWiki
_https://wiki.archlinux.org/title/Udisks#NTFS_mount_failing
_https://wiki.archlinux.org/title/Udisks#NTFS_file_creation_failing_(filename-dependent)

$ locate udisksd
/usr/libexec/udisks2/udisksd
/usr/share/man/man8/udisksd.8.gz

$ man udisksd
$ man udisksctl 

#2 Freedom Hacks » Automounting USB Drives (NTFS, exFAT) with dmask=022,fmask=133 » 2024-09-09 11:30:53

igorzwx
Replies: 2

System: Devuan, Mate Desktop

$ cat /etc/*-release | grep PRETTY
PRETTY_NAME="Devuan GNU/Linux 5 (daedalus)" 

$ inxi -S
System:
  Host: devuan Kernel: 6.1.0-25-amd64 arch: x86_64 bits: 64 Desktop: MATE
    v: 1.26.0 Distro: Devuan GNU/Linux 5 (daedalus)

When you insert a USB drive, it is automatically mounted to a directory under /media
However, if your USB drive has a Windows file system (e.g. NTFS, or exFAT), all your text files (and all other files: *.jpg, *.wav, etc.) on the USB drive become executable (777 - 022 = 755).
If you copy such files to your home folder, you have to fix permissions, for example:

$ chmod -Rv -x+X -- ./ 

_https://unix.stackexchange.com/questions/296967/how-to-recursively-remove-execute-permissions-from-files-without-touching-folder

It seems that this problem can be easily fixed with /etc/udisks2/mount_options.conf

$ ls -1 /etc/udisks2/
mount_options.conf.example
udisks2.conf 

$ sudo nano /etc/udisks2/mount_options.conf
 
$ cat /etc/udisks2/mount_options.conf
[defaults]
vfat_defaults=uid=$UID,gid=$GID,shortname=mixed,utf8=1,showexec,dmask=022,fmask=133
exfat_defaults=uid=$UID,gid=$GID,iocharset=utf8,errors=remount-ro,dmask=022,fmask=133
ntfs_defaults=uid=$UID,gid=$GID,dmask=022,fmask=133 

NOTE: /etc/udisks2/mount_options.conf is enabled automatically (a reboot is not required).
You can simply insert your USB drive and check file permissions:

$ touch file.txt
$ stat -c %a file.txt
644
$ mkdir folder1
$ stat -c %a folder1
755 

See:
_https://chmodcommand.com/chmod-644/
_https://chmodcommand.com/chmod-755/

Perhaps, this mount_options.conf can be somehow improved, or there is a better solution.

#3 Re: Installation » does the Brave browser work here? » 2024-07-31 13:16:37

Brave works without problems

_https://brave.com/linux/#release-channel-installation
Release Channel Installation
Debian, Ubuntu, Mint

sudo apt install curl
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser

#4 Re: Off-topic » Secure Boot? Yes, we've heard of it ... » 2024-07-29 14:36:29

quickfur wrote:

a half-assed non-solution to the wrong problem

Are you talking about pulseaudio?

#5 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-29 12:30:20

Thank you for the link.

Have you already tried to build it?

If you really need it, you may start a new topic: "How to install the newest version of scrcpy?"

And 40 minutes after that, the FBI had Thomas's Samsung Android smartphone unlocked and open for detailed inspection of the shooter's social media, browsing, texting, whatever, history.
What's interesting is that in other, just it was coincidental really, reporting, it appears to be fortuitous for the FBI that Thomas was not using a later model Apple iOS device since some documents leaked from Cellebrite indicate its inability to unlock such devices. 9to5Mac picked up on this last Thursday, reporting under their headline "Cellebrite cannot unlock most iPhones running iOS 17.4 and later." They wrote: "Leaked documents reveal that Cellebrite cannot unlock iPhones running iOS 17.4 and later, at least as of the date of publication," which was April of this year. They said: "The company has confirmed that the documents are genuine. Cellebrite devices, which are widely used by law enforcement agencies, can crack most Android phones, though there are exceptions.
_https://www.grc.com/sn/sn-984.htm
Security Now: CrowdStruck
_https://youtu.be/eLkfKizz6NU

#6 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-28 22:19:17

How to rebuild scrcpy for Devuan.

Install the tools "which are considered essential for building Debian packages":

sudo apt install build-essential debhelper devscripts 
sudo apt install apt-file command-not-found 

Debian wiki: apt-file
_https://wiki.debian.org/apt-file

NOTE: If apt-file doesn't help, you may try to search with Google, for example:

"/usr/lib/android-sdk/build-tools/debian/dx" site:packages.ubuntu.com 
https://www.google.com/search?&q=%22%2Fusr%2Flib%2Fandroid-sdk%2Fbuild-tools%2Fdebian%2Fdx%22+site%3Apackages.ubuntu.com 

Install android-sdk and default-jdk

sudo apt install android-sdk default-jdk

dalvik-exchange is also missing (it is in the same Ubuntu repository)

dalvik-exchange_10.0.0+r36-4_all.deb	    2022-04-30 
http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-platform-dalvik/dalvik-exchange_10.0.0+r36-4_all.deb

Notice that "android-platform-dalvik" is the name of the source.
The folder "android-platform-dalvik" contains the source packages and the binaries.
This is how to search for missing packages.

Download and install dalvik-exchange

sudo dpkg -i dalvik-exchange_10.0.0+r36-4_all.deb

Download and install 3 packages of "android-framework-23" from the same repository.

android-sdk-platform-23
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/android-sdk-platform-23_6.0.1+r72-6_all.deb
libandroid-23-java
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/libandroid-23-java_6.0.1+r72-6_all.deb
libandroid-uiautomator-23-java
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/libandroid-uiautomator-23-java_6.0.1+r72-6_all.deb

sudo dpkg -i libandroid-23-java_6.0.1+r72-6_all.deb libandroid-uiautomator-23-java_6.0.1+r72-6_all.deb android-sdk-platform-23_6.0.1+r72-6_all.deb

1. Download the native Debian source packages from the same Ubuntu repository

scrcpy_1.25.orig.tar.gz	        2023-01-21 	
scrcpy_1.25-1.debian.tar.xz	        2023-01-21 
scrcpy_1.25-1.dsc	                2023-01-21 	

_http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/scrcpy_1.25.orig.tar.gz
_http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/scrcpy_1.25-1.debian.tar.xz
_http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/scrcpy_1.25-1.dsc

$ ls -1
scrcpy_1.25-1.debian.tar.xz
scrcpy_1.25-1.dsc
scrcpy_1.25.orig.tar.gz

2. Extract the source code

dpkg-source -x *.dsc 
$ dpkg-source -x *.dsc
gpgv: Signature made Sat 21 Jan 2023 01:31:18 AM CET
gpgv:                using RSA key 7E7729476D87D6F11D91ACCBC293E7B461825ACE
gpgv: Can't check signature: No public key
dpkg-source: warning: cannot verify inline signature for ./scrcpy_1.25-1.dsc: no acceptable signature found
dpkg-source: info: extracting scrcpy in scrcpy-1.25
dpkg-source: info: unpacking scrcpy_1.25.orig.tar.gz
dpkg-source: info: unpacking scrcpy_1.25-1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 0001-Fit-SDK-23.patch 
$ ls -1
scrcpy-1.25
scrcpy_1.25-1.debian.tar.xz
scrcpy_1.25-1.dsc
scrcpy_1.25.orig.tar.gz

3. cd to the source code directory

cd scrcpy-1.25

4. Read "Build-Depends" in /debian/control

$ cat ./debian/control
Source: scrcpy
Section: net
Priority: optional
Maintainer: Yangfl <mmyangfl@gmail.com>
Build-Depends:
 debhelper-compat (= 13),
Build-Depends-Arch:
 meson,
 libavcodec-dev,
 libavdevice-dev,
 libavformat-dev,
 libavutil-dev,
 libsdl2-dev,
 libusb-1.0-0-dev,
Build-Depends-Indep:
 android-sdk,
 android-sdk-platform-23,
 default-jdk,
 unzip,
 zip,
Rules-Requires-Root: no
Standards-Version: 4.6.2
Homepage: https://github.com/Genymobile/scrcpy
Vcs-Git: https://salsa.debian.org/yangfl-guest/scrcpy.git
Vcs-Browser: https://salsa.debian.org/yangfl-guest/scrcpy

Package: scrcpy
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}, scrcpy-server (= ${source:Version}),
Recommends: adb,
Description: Display and control your Android device
 This application provides display and control of Android devices connected on
 USB (or over TCP/IP). It does not require any root access.
 .
 This package contains the client (desktop) binary.

Package: scrcpy-server
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends},
Description: Display and control your Android device - server binary
 This application provides display and control of Android devices connected on
 USB (or over TCP/IP). It does not require any root access.
 .
 This package contains the server (mobile) binary, which will be pushed to the
 Android device. 

5. Install build dependencies

sudo mk-build-deps -i 
sudo apt install -f 

6. Build the packages

$ dpkg-buildpackage -us -uc -b
...
dpkg-deb: building package 'scrcpy' in '../scrcpy_1.25-1_amd64.deb'.
dpkg-deb: building package 'scrcpy-dbgsym' in '../scrcpy-dbgsym_1.25-1_amd64.deb'.
dpkg-deb: building package 'scrcpy-server' in '../scrcpy-server_1.25-1_all.deb'.
 dpkg-genbuildinfo --build=binary -O../scrcpy_1.25-1_amd64.buildinfo
 dpkg-genchanges --build=binary -O../scrcpy_1.25-1_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included) 
cd ../ 
$ ls -1 ./scr*.deb
./scrcpy_1.25-1_amd64.deb
./scrcpy-dbgsym_1.25-1_amd64.deb
./scrcpy-server_1.25-1_all.deb 

7. Install the packages

sudo dpkg -i scrcpy_1.25-1_amd64.deb scrcpy-server_1.25-1_all.deb 

You may also try to build the sources from Debian unstable:

_https://packages.debian.org/source/unstable/scrcpy
Download scrcpy
scrcpy_1.25-1.dsc   
scrcpy_1.25.orig.tar.gz   
scrcpy_1.25-1.debian.tar.xz

NOW WE KNOW WHERE TO SEARCH FOR MISSING PACKAGES.

The reference package:

scrcpy_1.25-1_amd64.deb	        2023-01-21 
http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/scrcpy_1.25-1_amd64.deb 

It is a native Debian package (without "ubuntu" mark) of 2023.

Ubuntu Maintainers Handbook:
When Ubuntu adds a change or modification on top on what is in Debian, that change is expressed in the version number. One can think of a version number consisting of three segments: [upstream_version]-[debian_revision]ubuntu[ubuntu_revision]. The - splits the upstream version from the Debian packaging segment as you have seen in Debian control field "Version". The ubuntu string then marks that whatever follows it is related to changes added in Ubuntu.
_https://github.com/canonical/ubuntu-maintainers-handbook/blob/main/VersionStrings.md

Of course, you can simply download the native Debian packages and install them. But they may work better, if they are rebuilt for Devuan. You can also rename the package, disable a sort of pulseaudio, remove systemd dependencies, etc.

Some packages should be rebuilt because of libc6 and/or other dependencies.

#7 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-28 15:11:50

If you do not want learn yourself, you can only hope that others may learn how to rebuild packages. Otherwise, it might be nothing to install.

$ apt changelog android-sdk-platform-23 | cat
Get:1 store: android-framework-23 6.0.1+r72-6 Changelog
android-framework-23 (6.0.1+r72-6) unstable; urgency=medium

  * source-only upload

 -- Hans-Christoph Steiner <hans@eds.org>  Thu, 31 Dec 2020 12:49:26 +0100

android-framework-23 (6.0.1+r72-5) unstable; urgency=medium

  * Fix FTBFS with Java 9+ (Closes: #894285)
  * add basic autopkgtest to check that class files are in the JAR

 -- Hans-Christoph Steiner <hans@eds.org>  Wed, 06 Mar 2019 12:10:58 +0000

android-framework-23 (6.0.1+r72-4) unstable; urgency=medium

  * Team upload.
  * Fix FTBFS (Closes: #891548)
  * Add Apache NOTICE file
  * Use debhelper 11
  * Bump Standards-Version to 4.1.3

 -- tony mancill <tmancill@debian.org>  Sat, 10 Mar 2018 12:32:30 -0800

android-framework-23 (6.0.1+r72-3) unstable; urgency=medium

  * Build-Depends on gradle-debian-helper (>= 1.4~) for backport friendly
  * Build shrinkedAndroid.jar
    * Build-Depends on proguard

 -- Kai-Chung Yan <seamlikok@gmail.com>  Fri, 09 Dec 2016 21:14:29 +0800

android-framework-23 (6.0.1+r72-2) unstable; urgency=medium

  * d/build.gradle:
    * Declare :uiautomator:stubs dependsOn :android:jar, fixing FTBFS
    * Add -api & -removedApi options to Doclava
  * Update the usage of gradle-debian-helper
  * d/rules: Update the usage of maven-debian-helper

 -- Kai-Chung Yan <seamlikok@gmail.com>  Fri, 25 Nov 2016 13:55:33 +0800

android-framework-23 (6.0.1+r72-1) unstable; urgency=medium

  * Initial release. (Closes: #833458)

 -- Kai-Chung Yan <seamlikok@gmail.com>  Fri, 07 Oct 2016 19:11:58 +0800

There is an official Ubuntu repository with native Debian sources and native Debian packages which work with Devuan. If some of them are needed to build Devuan packages, why not import them to the Devuan repository?

#8 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-28 09:00:41

This means that you have to learn how to rebuild packages.
But you cannot learn this, if it is impossible to compile.

On the other hand, if the users do not want to learn anything, the "under-staffed and over-worked Devuan crew" may have more work to do.

Have you already installed android-sdk-platform-23 and rebuilt scrcpy for Devuan?

The name of a Debian package is determined by its changelog.
If you want to change the name, you can add certain lines to the changelog, or edit it.

$ apt changelog scrcpy | cat
Get:1 store: scrcpy 1.25-1 Changelog
scrcpy (1.25-1) unstable; urgency=medium

  * New upstream release
  * Bump Standards-Version to 4.6.2

 -- Yangfl <mmyangfl@gmail.com>  Fri, 20 Jan 2023 18:28:52 +0800

scrcpy (1.24-1) unstable; urgency=medium

  * New upstream release
  * FTBFS if BUILD_DIR is set (Closes: #1013304)
  * Bump Standards-Version to 4.6.1

 -- Yangfl <mmyangfl@gmail.com>  Sat, 16 Jul 2022 17:47:57 +0800

scrcpy (1.23-1) unstable; urgency=medium

  * New upstream release
    * scrcpy now require scrcpy-server of the same version (Closes: #1004201)
    * Fix FTBFS with ffmpeg 5.0 (Closes: #1004812)

 -- Yangfl <mmyangfl@gmail.com>  Wed, 09 Mar 2022 16:37:46 +0800

scrcpy (1.21-1) unstable; urgency=medium

  * New upstream release

 -- Yangfl <mmyangfl@gmail.com>  Wed, 01 Dec 2021 04:36:41 +0800

scrcpy (1.19-1) unstable; urgency=medium

  * New upstream release (Closes: #995295)
  * Bump Standards-Version to 4.6.0

 -- Yangfl <mmyangfl@gmail.com>  Thu, 30 Sep 2021 11:25:13 +0800

scrcpy (1.17-1) unstable; urgency=medium

  * New upstream release

 -- Yangfl <mmyangfl@gmail.com>  Mon, 18 Jan 2021 16:40:22 +0800

scrcpy (1.14-1) unstable; urgency=medium

  * New upstream release
  * Bump Standards-Version to 4.5.0
  * Bump debhelper compat to 13

 -- Yangfl <mmyangfl@gmail.com>  Wed, 01 Jul 2020 14:59:53 +0800

scrcpy (1.12.1+ds-1) unstable; urgency=medium

  * New upstream release (Closes: #947465)
  * Recommend but not depend on adb
  * Add upstream metadata

 -- Yangfl <mmyangfl@gmail.com>  Tue, 14 Jan 2020 13:14:59 +0800

scrcpy (1.11+ds-1) unstable; urgency=medium

  * Initial release (Closes: #893279)

 -- Yangfl <mmyangfl@gmail.com>  Wed, 20 Nov 2019 23:40:21 +0800
Fetched 1,678 B in 0s (0 B/s) 

#9 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-27 23:33:20

What is interesting, android-sdk-platform-23 is also available in the same Ubuntu repository. It was also installed on Devuan 5 Daedalus without any problems:

$ sudo dpkg -i libandroid-23-java_6.0.1+r72-6_all.deb libandroid-uiautomator-23-java_6.0.1+r72-6_all.deb android-sdk-platform-23_6.0.1+r72-6_all.deb
(Reading database ... 399860 files and directories currently installed.)
Preparing to unpack libandroid-23-java_6.0.1+r72-6_all.deb ...
Unpacking libandroid-23-java (6.0.1+r72-6) over (6.0.1+r72-6) ...
Selecting previously unselected package libandroid-uiautomator-23-java.
Preparing to unpack libandroid-uiautomator-23-java_6.0.1+r72-6_all.deb ...
Unpacking libandroid-uiautomator-23-java (6.0.1+r72-6) ...
Preparing to unpack android-sdk-platform-23_6.0.1+r72-6_all.deb ...
Unpacking android-sdk-platform-23 (6.0.1+r72-6) over (6.0.1+r72-6) ...
Setting up libandroid-23-java (6.0.1+r72-6) ...
Setting up libandroid-uiautomator-23-java (6.0.1+r72-6) ...
Setting up android-sdk-platform-23 (6.0.1+r72-6) ...

android-sdk-platform-23
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/android-sdk-platform-23_6.0.1+r72-6_all.deb
libandroid-23-java
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/libandroid-23-java_6.0.1+r72-6_all.deb
libandroid-uiautomator-23-java
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/libandroid-uiautomator-23-java_6.0.1+r72-6_all.deb

As the names suggest, all these debs are native Debian packages, which were somehow appropriated by Ubuntu.

The native Ubuntu packages look like this:

android-sdk-platform-23_6.0.1+r72-6ubuntu1_all.deb

android-sdk-platform-23 is needed to compile scrcpy on Devuan 5 Daedalus (see above).

The source is android-framework-23

android-framework-23_6.0.1+r72.orig.tar.xz	     2016-11-11 
android-framework-23_6.0.1+r72-6.debian.tar.xz	 2021-01-02 
android-framework-23_6.0.1+r72-6.dsc	         2021-01-02 

It is 100% Debian source without Ubuntu patches.
It is available in the same Ubuntu repository:
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/android-framework-23_6.0.1+r72.orig.tar.xz
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/android-framework-23_6.0.1+r72-6.debian.tar.xz
_http://us.archive.ubuntu.com/ubuntu/pool/universe/a/android-framework-23/android-framework-23_6.0.1+r72-6.dsc

$ cat /var/lib/dpkg/status | grep android-sdk-platform-23 -B11
Package: android-sdk
Suggests: android-sdk-platform-23, maven, proguard-gui 

Why isn't android-sdk-platform-23 available in the Devuan 5 Daedalus repository?

#10 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-27 18:42:07

I installed them both (see may previous post) with command

sudo dpkg -i scrcpy_1.25-1_amd64.deb scrcpy-server_1.25-1_all.deb

scrcpy-server_1.25-1_all.deb
_http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/scrcpy-server_1.25-1_all.deb

How to Install Scrcpy [Screen Copy] on Ubuntu 22.04 Jammy Jellyfish | ADB Scrcpy [Debugging Bridge]
_https://www.youtube.com/watch?v=is-ASr4n45g

Scrcpy 2.0 is out! How to Install & Use this Android Remote Control App
_https://ubuntuhandbook.org/index.php/2023/03/scrcpy-2-0-install-android-remote-control/

EVERYTHING WAS INSTALLED, but I do not have an Android device to test it.

#11 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-27 17:08:42

Ubuntu package scrcpy_1.25-1_amd64.deb  libavformat59 (>= 7:5.0)

Devuan:

$ apt show libavformat59
Package: libavformat59
Version: 7:5.1.5-0+deb12u1

   
_http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/
_http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/scrcpy_1.25-1_amd64.deb

$ dpkg-deb --info scrcpy_1.25-1_amd64.deb
 new Debian package, version 2.0.
 size 75486 bytes: control archive=949 bytes.
     740 bytes,    16 lines      control              
     707 bytes,    10 lines      md5sums              
 Package: scrcpy
 Version: 1.25-1
 Architecture: amd64
 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
 Original-Maintainer: Yangfl <mmyangfl@gmail.com>
 Installed-Size: 198
 Depends: libavcodec59 (>= 7:5.0), libavdevice59 (>= 7:5.0), libavformat59 (>= 7:5.0), libavutil57 (>= 7:5.0), libc6 (>= 2.34), libsdl2-2.0-0 (>= 2.0.12), libusb-1.0-0 (>= 2:1.0.16), scrcpy-server (= 1.25-1)
 Recommends: adb
 Section: net
 Priority: optional
 Homepage: https://github.com/Genymobile/scrcpy
 Description: Display and control your Android device
  This application provides display and control of Android devices connected on
  USB (or over TCP/IP). It does not require any root access.
  .
  This package contains the client (desktop) binary. 

scrcpy-server_1.25-1_all.deb
_http://us.archive.ubuntu.com/ubuntu/pool/universe/s/scrcpy/scrcpy-server_1.25-1_all.deb

It was installed without problems:

$ sudo dpkg -i scrcpy_1.25-1_amd64.deb scrcpy-server_1.25-1_all.deb
(Reading database ... 391780 files and directories currently installed.)
Preparing to unpack scrcpy_1.25-1_amd64.deb ...
Unpacking scrcpy (1.25-1) over (1.25-1) ...
Selecting previously unselected package scrcpy-server.
Preparing to unpack scrcpy-server_1.25-1_all.deb ...
Unpacking scrcpy-server (1.25-1) ...
Setting up scrcpy-server (1.25-1) ...
Setting up scrcpy (1.25-1) ...
Processing triggers for bamfdaemon (0.5.6+repack-1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mate-menus (1.26.0-3) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for man-db (2.11.2-2) ...
$ whereis scrcpy
scrcpy: /usr/bin/scrcpy /usr/share/scrcpy /usr/share/man/man1/scrcpy.1.gz 
$ scrcpy
scrcpy 1.25 <https://github.com/Genymobile/scrcpy>
* daemon not running; starting now at tcp:5037
* daemon started successfully
ERROR: Could not find any ADB device
ERROR: Server connection failed 

I do not have any Android.

#12 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-27 14:29:58

The "unstable" source failed

dpkg-checkbuilddeps: error: Unmet build dependencies: android-sdk-platform-23
$ dpkg-buildpackage -us -uc -b
dpkg-buildpackage: info: source package scrcpy
dpkg-buildpackage: info: source version 1.25-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Yangfl <mmyangfl@gmail.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
dpkg-checkbuilddeps: error: Unmet build dependencies: android-sdk-platform-23
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.) 

EDIT:
Debian sources need "android-sdk-platform-23" to be compiled.
But it seems that it is not available for Debian 12 Bookworm and Devuan 5 Daedalus.
This is the problem.

#13 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-27 12:53:39

Thank you for the link!
It has links to old and new sources.

I will try to compile this:

_https://packages.debian.org/source/unstable/scrcpy
Download scrcpy
scrcpy_1.25-1.dsc   
scrcpy_1.25.orig.tar.gz   
scrcpy_1.25-1.debian.tar.xz

But I do have any sort of Android.

#14 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-26 23:03:39

In the Chimaera repo, there might be the same source as in Debian

Debian:
_https://packages.debian.org/bullseye/scrcpy

Download Source Package scrcpy:

    [scrcpy_1.17-1.dsc]
    [scrcpy_1.17.orig.tar.gz]
    [scrcpy_1.17-1.debian.tar.xz]

These three packages are needed. They provide the original source code, Debian patches, etc.
The Chimaera repo is likely to have these 3 packages and, perhaps, a package with Devuan patches.

Patches will automatically be applied, when you run "dpkg-source -x *.dsc"

How to get source code of package using the apt command on Debian or Ubuntu
_https://www.cyberciti.biz/faq/how-to-get-source-code-of-package-using-the-apt-command-on-debian-or-ubuntu/

1. enable the source repo
2. download the source with apt-get

apt-get source scrcpy

apt-get will download the source packages, unpack the source, and apply the patches.

3. disable the source repo
4. install build dependencies with mk-build-deps
5. build the package

Debian wiki: Get the build dependencies
_https://wiki.debian.org/BuildingAPackage#Get_the_build_dependencies

equivs
_https://wiki.debian.org/Packaging/HackingDependencies

#15 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-26 22:43:08

@ralph.ronnquist
Perhaps, the simplest way is to download the source code (tars + dsc) manually from the Chimaera repository. This will not cause any "conflics".

Could you provide the link?

#16 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-26 22:12:19

There is also a simple trick. Sometimes, it helps, but not always.
You can unpack a deb package with a special command.
Remove the unwanted dependencies from the list of dependencies.
Then pack it again, and install the deb.
This does not mean that the app will work, but this does not break dependencies.
If it does not work, you can simply remove the package

sudo apt remove <name of the package>

But this trick may cause troubles, if it about some important system libs (it may overwrite symlinks, etc.).

Debian wiki: Get the build dependencies
_https://wiki.debian.org/BuildingAPackage#Get_the_build_dependencies

_https://wiki.gbe0.com/linux/Debian/rebuild-package-from-source

#17 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-26 20:41:14

Perhaps, you may better try to rebuild. This sort of practical knowledge may liberate from frustration.

#18 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-26 16:26:58

If deb packages from the net break dependencies, you may try to fix them with "sudo apt install -f"

#19 Re: Desktop and Multimedia » [SOLVED] Android -> Linux screen mirroring software » 2024-07-26 13:13:14

You may try to rebuild the package for your Devuan.

sudo apt-get install build-essential debhelper devscripts 
apt show devscripts

1. Download the Debian source code (tars, dsc) manually.
You may also try sources from Ubuntu, or Ubuntu PPA.
For example, to rebuild wxMaxima for Devuan5, I used this source:
_https://launchpad.net/ubuntu/+source/wxmaxima/24.02.1-1build2

2. Extract the source code

dpkg-source -x *.dsc

3. cd to the source code directory

4. Install build dependencies

sudo mk-build-deps -i

5. Build the package

dpkg-buildpackage -us -uc -b

EDIT:
To avoid troubles, you may check build dependencies before installing them

$ mk-build-deps --help | grep "Build-Depends dependencies" -B2
    -B, --build-dep
        Generate a package which only depends on the source package's
        Build-Depends dependencies. 
dpkg-deb --info *.deb

You may also check dependencies before installing the package.

#20 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-22 09:09:20

aluma wrote:

I asked you to post information that I had repeatedly posted myself for my system.

I hope that I am mistaken, but it looks like you are simulating "problems with ALSA", in order to convince people to use pulseaudio.

#21 Re: Off-topic » Why cloud dependency and push updates is a bad thing » 2024-07-22 02:22:05

Actually, I am very happy that Debian devs managed to compile maxima which works.
It seems that it was a real problem. Without maxima, wxMaxima is useless.

$ maxima
Maxima 5.46.0 https://maxima.sourceforge.io
using Lisp GNU Common Lisp (GCL) GCL 2.6.14 git tag Version_2_6_15pre3 

Debian devs used a certain version Common Lisp from git. It works.
Fedora devs used another Lisp, not Common Lisp. The result is "segmentation fault".
On Fedora, you open wxMaxima, type a command, execute it, and wxMaxima does not react.
The Fedora users cannot understand what is going on.
You can compile the same version of wxMaxima on Devuan. It works, because maxima works.

It seems that flatpak is a sort of simple solution to all problems, a sort of cargo cult ritual, perhaps.

#22 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 19:34:02

Firefox is playing video in youtube:

$ firefox 2>&1
[Child 3342, MediaDecoderStateMachine #1] WARNING: 7fa31a74d4c0 Could not set cubeb stream name.: file ./dom/media/AudioStream.cpp:321
Input:  44100 Hz, 2 ch, 's32_le' (0xa): dummy = 0, period = 1764
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates:  44100 --> 48000 (J: 0.00%, T: FFT, W: Vorbis)
Ok. 

FFT is the fftrate resampler. It is GPL3, the source code is here:
_https://github.com/PetrovSE/fftrate

$ fuser -av $(find /dev/snd -type c 2>/dev/null)
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  igor       2229 F.... mate-settings-d
                     igor       2324 F.... mate-volume-con
/dev/snd/pcmC0D0c:
/dev/snd/pcmC0D0p:   igor       3175 F...m firefox-esr
/dev/snd/seq:
/dev/snd/timer:      igor       3175 f.... firefox-esr

It works without apulse, and it works with apulse as well

$ apulse firefox 2>&1
Input:  48000 Hz, 2 ch, 's32_le' (0xa): dummy = 0, period = 1920
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates:  48000 --> 48000 (J: 0.00%, T: None, W: Planar)
Ok. 

Notice that the resampler is not active (T: None).
It seems that it makes sense to run browsers with apulse.
It helps to improve sound quality with Min, Brave, Chromium and Chrome.
It might be a bug in ALSA backend.

The same video with Chromium:

$ apulse chromium 2>&1
Input:  44100 Hz, 2 ch, 's32_le' (0xa): dummy = 0, period = 1764
Output: 48000 Hz, 2 ch, 's16_le' (0x2): dummy = 0, period = 1920
Rates:  44100 --> 48000 (J: 0.00%, T: FFT, W: Vorbis)
Ok. 
$ fuser -av $(find /dev/snd -type c 2>/dev/null)
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  igor       2229 F.... mate-settings-d
                     igor       2324 F.... mate-volume-con
/dev/snd/pcmC0D0c:
/dev/snd/pcmC0D0p:   igor       7968 F...m firefox-esr
                     igor       8428 F...m chromium
/dev/snd/seq:
/dev/snd/timer:      igor       7968 f.... firefox-esr
                     igor       8428 f.... chromium 

If you do not believe my words, why should I believe yours?
It might be very difficult to believe that you really want to configure ALSA.

#23 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 17:01:03

aluma wrote:

With pure alsa, the sound was everywhere, except for the browser, which “did not see” the sound system. Either pipewire or jack was required.

If it works with pulseaudio, it does not mean that it cannot work with "pure alsa".

But I can agree that it might be difficult to create a correct ~/.asoundrc
That is why, I am using arateconf.

aluma wrote:

There is no sound device defined in the FF Daedalus settings.

I also do not have sound devices defined in the Firefox settings (about:support).
And, nevertheless, sound works with "pure alsa".

#24 Re: Off-topic » Why cloud dependency and push updates is a bad thing » 2024-07-21 16:02:40

quickfur wrote:

and nothing runs on Linux except Linux programs

The problem is that Linux programs, which were always working on Linux without any problems, may not work anymore.

For example, on Fedora, both maxima and wxMaxima do not work, and all sorts of maxima's flatpaks also fail.

On Devuan, maxima works, and wxMaxima is so buggy that is impossible to use. But you can compile it yourself.

However, you can install pulseaudio on Mac (if you want) with Homebrew

pulseaudio
Install command:

brew install pulseaudio

Sound system for POSIX OSes
_https://formulae.brew.sh/formula/pulseaudio

systemd is not yet available for macOS.

#25 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 12:50:04

On Devuan Daedalus 5.0, sound works in Firefox out of the box, after the removal of pulseaudio
_https://dev1galaxy.org/viewtopic.php?pid=49837#p49837

The problem might be that you want to use your Audigy2, and it is not the default device.
The simplest solution to such problems is to run

arateconf

and select Audigy2 as "default device".
The manual is here:

ALSA without PulseAudio and PipeWire
_https://dev1galaxy.org/viewtopic.php?id=6644

If you start a new topic, and I will try to help.

NOTE: It is not necessary to remove PulseAudio. You can remove it later, when ALSA is configured and sound works with

apulse firefox 

Some useful commands for testing ALSA, you may find here:
_https://dev1galaxy.org/viewtopic.php?pid=50114#p50114
_https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture

Board footer

Forum Software