r/archlinux • u/nucking_futs_001 • 3d ago
SUPPORT update broke my networking
Hey all, I frequently update my computers and this morning my desktop took a bit longer to start than usual with a warning that waydroid failed to start. I no longer use waydroid so I figured I'd uninstall it. I just ran a simple pacman -R waydroid and it was gone but I noticed my working was off so I figured I'd reboot since it probably messed with ip tables, etc.
After rebooting my nfs mounts all timed out and I noticed I can reach the outside network but not my lan network other than gateway. After a bit of poking around I decided to reinstall waydroid and it seemed to fix my lan access issue. I rebooted to confirm and sadly I can't reach local network again. I'm not entirely sure where to start but I'll include a few things that might be helpful: (yes i temporarily have a /21 b/c i started moving things around and got lazy, gw is .18.1)
$ ip route show
default via 192.168.18.1 dev br0 proto dhcp src 192.168.18.39 metric 1024
default via 192.168.18.1 dev enp3s0 proto dhcp src 192.168.18.39 metric 20100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-8df2687bb087 proto kernel scope link src 172.18.0.1 linkdown
173.255.215.209 via 192.168.18.1 dev br0 proto dhcp src 192.168.18.39 metric 1024
192.168.16.0/21 dev enp3s0 proto kernel scope link src 192.168.18.39 metric 100
192.168.16.0/21 dev br0 proto kernel scope link src 192.168.18.39 metric 1024
192.168.18.1 dev br0 proto dhcp scope link src 192.168.18.39 metric 1024
205.161.200.3 via 192.168.18.1 dev br0 proto dhcp src 192.168.18.39 metric 1024
``` $ ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000 link/ether 18:c0:... brd ff:ff:ff:ff:ff:ff altname enx18c0... inet 192.168.18.39/21 brd 192.168.23.255 scope global dynamic noprefixroute enp3s0 valid_lft 862780sec preferred_lft 862780sec inet6 fe80::.../64 scope link noprefixroute valid_lft forever preferred_lft forever 3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 18:... brd ff:ff:ff:ff:ff:ff inet 192.168.18.39/21 metric 1024 brd 192.168.23.255 scope global dynamic br0 valid_lft 862780sec preferred_lft 862780sec inet6 fe80::.../64 scope link proto kernel_ll valid_lft forever preferred_lft forever 4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:58:... brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever 5: br-8df2687bb087: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:43:... brd ff:ff:ff:ff:ff:ff inet 172.18.0.1/16 brd 172.18.255.255 scope global br-8df2687bb087 valid_lft forever preferred_lft forever
```
r/archlinux • u/TemperatureBrave9159 • 3d ago
QUESTION Best cryptsetup integrity option?
I currently have my disk encrypted with aes-xts and argon2id, however this only ensures confidentiality and not integrity. What would be the best way of ensuring integrity as well (and if it's cryptsetup, which algorithm do you recommend)?
r/archlinux • u/kezo-kun • 3d ago
SUPPORT Stuck in the "Boot loader" step in arch installation process
I've done everything so far that is on the installation, except for the timezone, location and Initramfs.
After I used the command "arch-chroot /mnt" my terminal red thing now is gray and since I couldn't use grub last time (this is my 3rd attempt installing this) I decided to go with systemd-boot, but I don't know how to do it. The steps ahead are confusing for me and I don't know how to check that I have done everything correctly.
All the steps I've followed so far are from the installation guide only so I did not used any command that is not there, expect to wipe out the storage.
r/archlinux • u/tek_aevl • 3d ago
SUPPORT pmlogger.service is failing to collect data
pmlogger.service is failing to collect data
The only thing that works for a little while is clearing the logs folder then restarting it.
Nothing really explains to what is causing it, it just fails.
It will show the stats in cockpit for a moment when I get it cleared then when I come back it is failing again.
This used to work with no issue.,
r/archlinux • u/Strict_Cup_6607 • 3d ago
SUPPORT Volume issues
I have installed arch through https://alci.online/ using the pure iso and then installed most of my environment with Jakoolit's dots.
It seems that I am using pipewire for audio.
I am using firefox for playback from youtube and I spend a lot of time in discord chatting. The issue is that discord as a whole is a lot quieter than firefox. I have to set firefox to around 10% for it not to destroy my ears. When I then adjust volume for a certain video which might be more quiet it adjust my audio levels in pavucontrol. I have done some searching and found that this is flat-volume behaviour. Which I can see why someone might want. I am completely on the other side and consider this completely psychotic behaviour. Sure having things in one place might be nice, but having two in place is much better imo.
I want to adjust volume for firefox as a whole to ~25% and that to be mixed with the volume inside firefox. I tried searching for how to disable flat-volume in pipewire, but it apparently doesn't support that. And the most comprehensive answer I managed to find was from a firefox thread where they said that this is indeed a feature.
Is there a way to circumvent this either add a layer where I can change volume of say "process groups" or am I fucked?
r/archlinux • u/le_disappointment • 3d ago
QUESTION How can I cross-compile for ARM target on my archlinux x86_64 machine?
I want to cross-compile some binaries for aarch64
target on my amd64
ArchLinux machine. How can I do so? Where can I find the necessary packages? What I'm looking for is the GCC
toolchain for ARM. I found the arm-none-eabi-gcc
package which works for bare metal applications, but I want to compile applications with the standard C library. I plan to execute the binaries using qemu
. How can I do this? Can someone please help me out?
When I try to compile this program:
#include <stdio.h>
int main()
{
printf("Hello Worldn");
return 0;
}
using arm-none-eabi-gcc hello.c
, I get the following errors due to missing glibc
:
hello.c:1:10: fatal error: stdio.h: No such file or directory
1 | #include <stdio.h>
| ^~~~~~~~~
compilation terminated.
How can I fix this?
Update: Solved!
Thanks to u/TheRealBummelz, I was able to figure this out. Here is the solution:
Step 1: Install the neccessary pacakges: yay -Syu aarch64-linux-gnu-glibc aarch64-linux-gnu-gcc aarch64-linux-gnu-binutils qemu-user
Step 2: Compile the code statically: aarch64-linux-gnu-gcc -static hello.c
Step 3: Execute using qemu
: qemu-aarch64 ./a.out
r/archlinux • u/Micromolecule001 • 3d ago
SUPPORT Bluetoothctl: no default controller available
I have installed bleuz, blues-utils and blueman, turn start/enable service, check rfkill. Check twice info from archwiki!
dmesg: Bluetooth:hci0 Opcode 0x0e03 failed: -110
Asus TUF motherboard. Windows bluetooth worked fine before
r/archlinux • u/AdPuzzleheaded3721 • 3d ago
QUESTION GB-Operator by Epilogue
hey :)
did someone of you get the gb-operator running? Or has deal with it?
r/archlinux • u/safe049 • 4d ago
SUPPORT AMDGPU reset when playing games[especially in proton]
It will even happen when you are playing very small games like Madness Nexus Project 2
tested on CS2 too
it happens when the game show up for a few moment[like 30 seconds]
and when it happens,all the graphic get freeze,after a while,screen get glitched,then pop me back to the login menu and reset the gpu
dmesg:https://0x0.st/8sKU.txt
neofetch
(base) dynamo ~ git-[ main]- neofetch
-` dynamo@archyyds
.o+` ---------------
`ooo/ OS: Arch Linux x86_64
`+oooo: Kernel: 6.11.3-273-tkg-bore
`+oooooo: Uptime: 14 mins
-+oooooo+: Packages: 2857 (pacman), 9 (flatpak)
`/:-:++oooo+: Shell: zsh 5.9
`/++++/+++++++: Resolution: 1920x1080
`/++++++++++++++: DE: Hyprland
`/+++ooooooooooooo/` Theme: Adwaita [GTK3]
./ooosssso++osssssso+` Icons: breeze [GTK2/3]
.oossssso-````/ossssss+` Terminal: alacritty
-osssssso. :ssssssso. CPU: Intel i5-6600K (4) @ 3.900GHz
:osssssss/ osssso+++. GPU: AMD ATI Radeon RX Vega 56/64
/ossssssss/ +ssssooo/- Memory: 4637MiB / 15930MiB
`/ossssso+/:- -:/+osssso+-
`+sso+:-` `.-/+oso:
`++:. `-/+/
.` `/
Using Vega56[not overclocked]
rocm-smi:
======================================== ROCm System Management Interface ========================================
================================================== Concise Info ==================================================
Device Node IDs Temp Power Partitions SCLK MCLK Fan Perf PwrCap VRAM% GPU%
(DID, GUID) (Edge) (Socket) (Mem, Compute, ID)
==================================================================================================================
0 1 0x687f, 51005 42.0°C 4.0W N/A, N/A, 0 None None 0% auto 260.0W 7% 0%
==================================================================================================================
============================================== End of ROCm SMI Log ===============================================
I notice a strange thing that in lact,the overclock is strangely on[didn't turn it on manually]
when i try to disable overclocking support in lact
it says
2024-12-27T13:28:21.097121Z WARN lact_gui::app: Got error from daemon, end of client boundary
Caused by:
Overclocking was not enabled through LACT (file at /etc/modprobe.d/99-amdgpu-overdrive.conf does not exist)
lspci -nnk
(base) dynamo ~ git-[ main]- lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers [8086:191f] (rev 07)
Subsystem: ASRock Incorporation Device [1849:191f]
Kernel driver in use: skl_uncore
Kernel modules: ie31200_edac
00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 07)
Subsystem: ASRock Incorporation Device [1849:1901]
Kernel driver in use: pcieport
00:14.0 USB controller [0c03]: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller [8086:a12f] (rev 31)
Subsystem: ASRock Incorporation Device [1849:a12f]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:14.2 Signal processing controller [1180]: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem [8086:a131] (rev 31)
Subsystem: ASRock Incorporation Device [1849:a131]
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
00:16.0 Communication controller [0780]: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 [8086:a13a] (rev 31)
Subsystem: ASRock Incorporation Device [1849:a13a]
Kernel driver in use: mei_me
Kernel modules: mei_me
00:17.0 SATA controller [0106]: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] [8086:a102] (rev 31)
Subsystem: ASRock Incorporation Device [1849:a102]
Kernel driver in use: ahci
00:1c.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 [8086:a114] (rev f1)
Subsystem: ASRock Incorporation Device [1849:a114]
Kernel driver in use: pcieport
00:1d.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 [8086:a118] (rev f1)
Subsystem: ASRock Incorporation Device [1849:a118]
Kernel driver in use: pcieport
00:1d.3 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #12 [8086:a11b] (rev f1)
Subsystem: ASRock Incorporation Device [1849:a11b]
Kernel driver in use: pcieport
00:1f.0 ISA bridge [0601]: Intel Corporation B150 Chipset LPC/eSPI Controller [8086:a148] (rev 31)
Subsystem: ASRock Incorporation Device [1849:a148]
00:1f.2 Memory controller [0580]: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller [8086:a121] (rev 31)
Subsystem: ASRock Incorporation Device [1849:a121]
00:1f.3 Audio device [0403]: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller [8086:a170] (rev 31)
Subsystem: ASRock Incorporation Device [1849:1151]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_avs
00:1f.4 SMBus [0c05]: Intel Corporation 100 Series/C230 Series Chipset Family SMBus [8086:a123] (rev 31)
Subsystem: ASRock Incorporation Device [1849:a123]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
01:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Vega 10 PCIe Bridge [1022:1470] (rev c3)
Kernel driver in use: pcieport
02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Vega 10 PCIe Bridge [1022:1471]
Subsystem: Advanced Micro Devices, Inc. [AMD] Vega 10 PCIe Bridge [1022:1471]
Kernel driver in use: pcieport
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] [1002:687f] (rev c3)
Subsystem: ASUSTeK Computer Inc. Device [1043:0555]
Kernel driver in use: amdgpu
Kernel modules: amdgpu
03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64] [1002:aaf8]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64] [1002:aaf8]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
05:00.0 Ethernet controller [0200]: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller [1969:e0a1] (rev 10)
Subsystem: ASRock Incorporation Device [1849:e0a1]
Kernel driver in use: alx
Kernel modules: alx
06:00.0 Network controller [0280]: Intel Corporation Wireless 7260 [8086:08b1] (rev bb)
Subsystem: Intel Corporation Dual Band Wireless-AC 7260 [Wilkins Peak 2] [8086:c470]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
(base) dynamo ~ git-[ main]-
grub kernel parameters:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 amdgpu.aspm=0 amdgpu.runpm=0 amdgpu.bapm=0 amdgpu.noretry=0 amdgpu.ppfeaturemask=0xffffcff8 intel_iommu=on iommu=pt video=efifb:off pcie_acs_override=downstream,multifunction vfio-pci.ids=1002:687f,1002:aaf8"
[i disabled vfio in mkinitcpio.conf and don't have any other configs]
part of these parameters come from this post:https://bbs.archlinux.org/viewtopic.php?id=299883
Switching into linux stable kernel doesn't works
switched to mesa 24.2.7,doesn't work
all the mesa packages:
(base) dynamo ~ git-[ main]- sudo pacman -Qs mesa
local/glu 9.0.3-2
Mesa OpenGL utility library
local/lib32-glu 9.0.3-2
Mesa OpenGL utility library (32 bits)
local/lib32-mesa 1:24.2.7-1
Open-source OpenGL drivers - 32-bit
local/lib32-vulkan-mesa-layers 1:24.2.7-1
Mesa's Vulkan layers - 32-bit
local/mesa 1:24.2.7-1
Open-source OpenGL drivers
local/mesa-demos 9.0.0-5
Mesa demos
local/mesa-utils 9.0.0-5
Essential Mesa utilities
local/vulkan-mesa-layers 1:24.2.7-1
Mesa's Vulkan layersswitched to mesa 24.2.7,doesn't work
all the mesa packages:(base) dynamo ~ git-[ main]- sudo pacman -Qs mesa
local/glu 9.0.3-2
Mesa OpenGL utility library
local/lib32-glu 9.0.3-2
Mesa OpenGL utility library (32 bits)
local/lib32-mesa 1:24.2.7-1
Open-source OpenGL drivers - 32-bit
local/lib32-vulkan-mesa-layers 1:24.2.7-1
Mesa's Vulkan layers - 32-bit
local/mesa 1:24.2.7-1
Open-source OpenGL drivers
local/mesa-demos 9.0.0-5
Mesa demos
local/mesa-utils 9.0.0-5
Essential Mesa utilities
local/vulkan-mesa-layers 1:24.2.7-1
Mesa's Vulkan layers
tested on Windows
in Windows,playing Battlefield 1 is completely fine
playing Minecraft[JAVA]is okay[with a high-end shader]
i assume it only happens on proton?
Downgrading vulkan-radeon[include lib32]make the crash slower[at least i can get loaded and get into the game for a while]
but it still crashes
switching to lts doesn't work
disabling iommu doesn't work either
tried to clear all grub launch parameter
still doesn't work
i can use ollama 8b llm good
r/archlinux • u/Pepinolindo22 • 3d ago
QUESTION YouTube videos freeze when audio is enabled on Linux with Hyprland. PLZ HELP!
Hi everyone,
I'm encountering a strange issue on my Linux system. Every time I try to watch videos on YouTube, the video freezes as soon as I enable the sound. The video keeps loading and never starts playing, and this happens both on YouTube and other online video players.
Here are some details about my system:
- Compositor: Hyprland (Wayland)
- Browser: Firefox/Chromium (I've tried both, the issue persists)
- Audio: PipeWire (with PulseAudio support)
- Graphics drivers: Using drivers for AMD (depending on the hardware)
I've already tried some solutions, such as:
- Checking audio drivers (reinstalled PipeWire and PulseAudio)
- Disabling hardware acceleration in the browsers
- Clearing browser cache
- Disabling browser extensions
My system doesn't seem to be overloaded, so it's not a CPU or memory issue. Also, the problem started happening suddenly, with no significant configuration changes.
Has anyone experienced something similar or have any suggestions on how to fix this? Any help would be greatly appreciated!
r/archlinux • u/thatNatsukiLass • 3d ago
SUPPORT | SOLVED help my desktop enviroments are killing themselves
When I try to boot KDE Plasma, It gets to the bit where the loading bar and KDE logo is on screen before kicking me out and sending me back to the display manager. This started today.
A much older problem is that when I try to boot into deepin DE, the screen goes black for 5-15 mins before going back to the display manager.
Gnome works perfectly fine, but I prefer KDE Plasma and would like to use it again.
r/archlinux • u/DeskOpsAdmin • 3d ago
SUPPORT Web Cam inquiry
Hello,
I'm hoping the community can help me. I am using Arch Linux with KDE Plasma. My laptop is an XPS 9640 which uses the intel ipu6 MIPI camera. I read here: https://aur.archlinux.org/packages/intel-ipu6-dkms-git that the 6.10 kernel should support it (I believe) but it's not working when I attempt to use it on webcamtests website. Does anyone have any idea how I should investigate this?
r/archlinux • u/NathanCodeFoxs • 3d ago
SUPPORT | SOLVED Help me Boot Menu Loop
I'm new to Installing Arch Linux.
I done the steps of Installing Arch Linux (Btw Window to Arch Linux)
Problem: When I hit Enter on my Bootable USB it keeps looping on Boot Menu
Device
Laptop Model: T460 Laptop (ThinkPad) - Type 20FM
CPU Type: Intel (R) Core (TM) i7-6600U CPU
Installed Memory: 8192MB
USB Flash Drive: General UDisk USB Device (31.2 GB)
ISO: archlinux-2024.12.01-x86_64.iso (Link: https://asia.mirror.pkgbuild.com/iso/2024.12.01/)
ThinkPad Setup
Secure Boot: [Disabled]
Boot Priority Order: I move the USB HDD: General UDisk at 1.
UEFI/Legacy Boot: [UEFI Only]
CSM Support: [No]
Rufus
Partition Scheme: GPT
Target System: UEFI (non CSM)
File System: FAT32 (Default)
Cluster size: 16 kilobytes (Default)
Video Error Loop Link: https://www.youtube.com/watch?v=aHDG48rNL74 (Noise Warning)
[SOLVED]
The problem is it not on Rufus or ThinkPad Setup is on the USB Flash Drive. My is a USB 2.0 and I switch it on USB 3.0, and it works! (I still use the setting for Rufus and ThinkPad Setup on the top)
r/archlinux • u/EternalWanderrVoids • 3d ago
QUESTION Arch is working only from USB
I just installed Arch on my laptop, I installed it on disk absolutely for sure. But it works only from usb flash. Why can it happen? Everything is working correctly as I set it up, but only from flash. Is something wrong with loader, I don’t understand…
r/archlinux • u/Easy_Comfort_1454 • 4d ago
SUPPORT | SOLVED Sddm loop
now I recently posted about archinstall module not found I have done a successful install via 3.0.1 I choose hyprland but when i type my password the screen goes black for a second then again the sddm screen comes.....pls pls help guys I have marked that other one solved
r/archlinux • u/Clutchreal1356 • 4d ago
QUESTION What is the best practice if a package dependency is out of date
So I wanted to update my cheapino's keymap today which uses qmk, But when trying to compile the firmware, I get an error, as qmk uses python-milc and it is out of date in the arch repos(though it is aldready reported). What should one do in such a situation?
r/archlinux • u/Diligent_Resolve_626 • 4d ago
SUPPORT | SOLVED Trying to use my mic on discord web crashes the tab.
I'm using arch sometimes with hyprland sometimes with kde-plasma, idk if that matters or anything. So, i am using a firefox based browser (Zen) and whenever i join a vc, test if my mic works, doing anything that requires me to use my microphone just crashes the tab almost instantly (almost). One time i actually was able to say 1 word in the vc but it crashed right after anyways. I also tried using firefox but that didn't work. I haven't tried using a chromium based browser yet, i might try that but does anyone know why this happens? I'm pretty sure it isn't a browser problem since i used Pop OS for a really long time before switching to arch and i had no problem there. Maybe a pipewire problem?
Edit : It was a Zen browser related problem, i tried firefox again and it worked.
r/archlinux • u/winslowsoren • 4d ago
SUPPORT Weird sddm behavior on wrong password
Upon inputting a wrong password sddm would repeatly reattempt that wrong password until it is locked out by pam(I discovered this via journals), each failed attempt will cause it to empty the input bar so I have to wait until it is locked by pam to input a new password, this is rather a strange behaviour, do you have any idea how to debug this/ what might be causing the issue?
r/archlinux • u/Better_Heat2069 • 4d ago
QUESTION [Help] How do I connect to the wired Internet with a password from terminal?
[SOLVED] I started installing archlinux and wanted to connect to the Internet, but on the arch wiki I only found a case with password-free Internet or wifi. So what command do I need to use to connect to the wired internet with a password (PPPoE)?
r/archlinux • u/immortal192 • 4d ago
SUPPORT | SOLVED $LANG not being set
echo $LANG
results in an empty string despite following the wiki:
$ cat /etc/locale.conf
LANG=en_US.UTF-8
$ locale-gen # run from previous boot
Default shell: zsh, nothing appears to override them:
$ sudo grep -ir 'LANG=' /etc
/etc/profile.d/locale.sh:LANG=${LANG:-C.UTF-8}
/etc/locale.conf:LANG=en_US.UTF-8
$ grep -ir 'LANG=' ~/.zshenv "$ZDOTDIR" # no results
I suppose I can set it explicitly per $USER
but it shouldn't be needed, right?
r/archlinux • u/Right-Tea-825 • 4d ago
SUPPORT Can a USB audio interface open and close qjackctl using udev?
This is my first time posting. Do let me know if I got this right since I never usually post anywhere.
Context:
I am running Arch with i3wm, and jack2, qjackctl, PulseAudio, pavucontrol. I use the shell/script method outlined here: https://wiki.archlinux.org/title/PulseAudio/Examples#The_shell_script_method in order to allow PulseAudio and JACK to work together. All of this works perfectly, so my ambitions are slightly larger now.
What I want to do now:
I want to plug in my Focusrite Scarlett 8i6, then see qjackctl open in a new workspace (ideally workspace 9). Then, once I unplug/poweroff the 8i6, I want jackd to be stopped correctly (in accordance of the pre-stop and post-stop scripts) then qjackctl to close too.
What I tried so far:
I created this script (it is called focusrite-detect.sh):
#!/bin/bash
# God forbid debugging.
exec >> /home/music/audiohell/focusrite_log.txt 2>&1
# Maybe UDEV needs the paths explicitly...
export PATH=$PATH:/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin
export HOME=/home/music
export USER=music
# Define the vendor ID and product ID for your Focusrite 8i6
FOCUSRITE_VENDOR_ID="1235" # Replace with the actual vendor ID
FOCUSRITE_PRODUCT_ID="8213" # Replace with the actual product ID
WORKSPACE="9" # i3 workspace where qjackctl should open
# Function to check if the Focusrite device is connected using vendor and product IDs
is_focusrite_connected() {
# Check if the device with the specified vendor and product ID is connected
if /usr/bin/lsusb | /usr/bin/grep -q "$FOCUSRITE_VENDOR_ID:$FOCUSRITE_PRODUCT_ID"; then
return 0 # Device found
else
return 1 # Device not found
fi
}
# Function to check if qjackctl is running
is_qjackctl_running() {
/usr/bin/pgrep -x "qjackctl" > /dev/null
return $?
}
# Function to stop jackd gracefully via qjackctl
stop_jackd_gracefully() {
if is_qjackctl_running; then
# Use jack_control to stop jackd gracefully via qjackctl
/usr/bin/jack_control stop
# Optionally, you can quit qjackctl after stopping jackd
/usr/bin/pkill qjackctl
fi
}
# Function to launch qjackctl on workspace 9
launch_qjackctl() {
if ! is_qjackctl_running; then
# Launch qjackctl minimised on workspace 9
/usr/bin/i3-msg workspace $WORKSPACE
/usr/bin/i3-msg exec "/usr/bin/qjackctl &"
fi
}
# Main script logic
if is_focusrite_connected; then
# If the Focusrite is plugged in and qjackctl isn't running, launch it
launch_qjackctl
else
# If Focusrite is unplugged and qjackctl is running, stop jackd gracefully and quit qjackctl
stop_jackd_gracefully
fi
I ensured it was executable (chmod +x focusrite-detect.sh) and after executing it manually, it works perfectly every time. The focusrite_log.txt also tells me its a success with no errors.
I wanted to try and execute that script using a udev rule. This is where I had no luck:
- I created focusrite-usb.rules in /lib/udev/rules.d/99-focusrite-usb.rules. The cat command output:ACTION=="add|remove", SUBSYSTEM=="usb", ATTR{idVendor}=="1235", ATTR{idProduct}=="8213", RUN+="/home/music/audiohell/focusrite-detect.sh"
- Upon reloading udev and switching on the 8i6, I got this (by typing "journalctl | grep udev"):
Dec 27 23:57:36 archlinux (udev-worker)[18228]: 3-3: Process '/home/music/audiohell/focusrite-detect.sh' failed with exit code 1.
When switching the device off, nothing happens (no logs, no prompt from anything).
3) In the udev rule I changed focusrite-detect.sh to an alternative executable script order to try a simpler command, just in case it worked. The alternative script successfully created the text file once the 8i6 was plugged in. I then manually removed the text file with the expectation that the file creation would happen again once the device was switched off. It didn't. Nothing happened at all, not a single log anywhere.
All feedback is appreciated since I'm lost for ideas for how to make this idea work. (And if anything needs changing or editing because I got it wrong, do let me know) Thank you very much.
Edit 1a: Response to u/CWRau, running "sudo udevadm monitor" to check events:
Plugging device in:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[196.750884] change /devices/virtual/thermal/thermal_zone0 (thermal)
UDEV [196.757657] change /devices/virtual/thermal/thermal_zone0 (thermal)
KERNEL[314.490606] add /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
KERNEL[314.493094] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
KERNEL[314.493209] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
KERNEL[314.493353] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
KERNEL[314.493525] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.3 (usb)
KERNEL[314.493624] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
KERNEL[314.493713] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
KERNEL[314.493771] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
UDEV [317.545016] add /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
UDEV [317.550892] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
UDEV [317.552694] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.3 (usb)
UDEV [317.553066] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
KERNEL[317.560210] add /bus/snd_seq (bus)
KERNEL[317.560246] add /module/snd_seq_device (module)
UDEV [317.560711] add /module/snd_seq_device (module)
UDEV [317.560817] add /bus/snd_seq (bus)
KERNEL[317.571510] add /module/snd_rawmidi (module)
UDEV [317.572950] add /module/snd_rawmidi (module)
KERNEL[317.576537] add /module/snd_ump (module)
UDEV [317.576853] add /module/snd_ump (module)
KERNEL[317.582068] add /module/snd_usbmidi_lib (module)
UDEV [317.582747] add /module/snd_usbmidi_lib (module)
KERNEL[318.346373] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
KERNEL[319.096387] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
KERNEL[319.125573] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
KERNEL[319.125635] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
KERNEL[319.125656] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1 (sound)
KERNEL[319.125685] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0p (sound)
KERNEL[319.125814] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0c (sound)
KERNEL[319.126060] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midiC1D0 (sound)
KERNEL[319.126120] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midi1 (sound)
KERNEL[319.126211] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/dmmidi1 (sound)
KERNEL[319.126243] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/seq-midi-1-0 (snd_seq)
KERNEL[319.126433] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/hwC1D0 (sound)
KERNEL[319.126551] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/controlC1 (sound)
KERNEL[319.126618] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
KERNEL[319.126650] add /bus/usb/drivers/snd-usb-audio (drivers)
KERNEL[319.126697] add /module/snd_usb_audio (module)
UDEV [319.127113] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
UDEV [319.127184] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
UDEV [319.127249] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
UDEV [319.127322] add /module/snd_usb_audio (module)
UDEV [319.127388] add /bus/usb/drivers/snd-usb-audio (drivers)
UDEV [319.134111] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
UDEV [319.136259] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
UDEV [319.136398] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
UDEV [319.136512] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
UDEV [319.136816] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
UDEV [319.136898] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
UDEV [319.137684] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1 (sound)
UDEV [319.139515] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0p (sound)
UDEV [319.139713] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0c (sound)
UDEV [319.139770] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/seq-midi-1-0 (snd_seq)
UDEV [319.140143] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midiC1D0 (sound)
UDEV [319.140228] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/dmmidi1 (sound)
UDEV [319.140295] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midi1 (sound)
UDEV [319.141458] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/hwC1D0 (sound)
KERNEL[319.142689] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1 (sound)
UDEV [319.159519] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/controlC1 (sound)
UDEV [319.160941] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1 (sound)
Unplugging the device:
KERNEL[538.733587] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/controlC1 (sound)
KERNEL[538.733666] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/hwC1D0 (sound)
KERNEL[538.733695] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/seq-midi-1-0 (snd_seq)
KERNEL[538.733724] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midi1 (sound)
KERNEL[538.733753] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/dmmidi1 (sound)
KERNEL[538.733804] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midiC1D0 (sound)
KERNEL[538.733875] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0p (sound)
KERNEL[538.733942] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0c (sound)
KERNEL[538.734013] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1 (sound)
KERNEL[538.734050] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
KERNEL[538.734094] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
KERNEL[538.734144] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
KERNEL[538.734185] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
KERNEL[538.734221] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
KERNEL[538.734262] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
KERNEL[538.734299] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.3 (usb)
KERNEL[538.734328] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
KERNEL[538.734366] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
KERNEL[538.735209] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
KERNEL[538.735258] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
KERNEL[538.735793] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
KERNEL[538.735854] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
UDEV [538.742456] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/hwC1D0 (sound)
UDEV [538.742805] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/controlC1 (sound)
UDEV [538.743432] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/seq-midi-1-0 (snd_seq)
UDEV [538.744143] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midi1 (sound)
UDEV [538.745399] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0c (sound)
UDEV [538.745557] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/pcmC1D0p (sound)
UDEV [538.745723] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/midiC1D0 (sound)
UDEV [538.745812] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1/dmmidi1 (sound)
UDEV [538.747465] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.3 (usb)
UDEV [538.747704] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/sound/card1 (sound)
UDEV [538.840316] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
UDEV [538.840407] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
UDEV [538.840466] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
UDEV [538.840613] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
UDEV [538.840726] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
UDEV [538.841057] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1 (usb)
UDEV [538.841114] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
UDEV [538.841172] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.2 (usb)
UDEV [538.841231] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.5 (usb)
UDEV [538.841293] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.4 (usb)
UDEV [538.843110] unbind /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
UDEV [538.844341] remove /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
Edit 1b: Response to u/remenic, adding set -x to the top of the script.
Plugging device in response:
+ export PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin
+ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin
+ export HOME=/home/music
+ HOME=/home/music
+ export USER=music
+ USER=music
+ FOCUSRITE_VENDOR_ID=1235
+ FOCUSRITE_PRODUCT_ID=8213
+ WORKSPACE=9
+ is_focusrite_connected
+ /usr/bin/grep -q 1235:8213
+ /usr/bin/lsusb
+ return 0
+ launch_qjackctl
+ is_qjackctl_running
+ /usr/bin/pgrep -x qjackctl
+ return 1
+ /usr/bin/i3-msg workspace 9
i3-msg: Could not determine i3 socket path: Success
+ /usr/bin/i3-msg exec '/usr/bin/qjackctl &'
i3-msg: Could not determine i3 socket path: Success
(I'll add a note just in case this is significant: running i3 --get-socketpath returns "/run/user/1000/i3/ipc-socket.833" and every time I shutdown or reboot, a stop job always runs for this process UID 1000).
Unplugging device response: (I removed the previous log to allow for the file to be created again)
The script doesn't execute at all, no new file was created.
I will look into a systemd service in the mean time, thank you.
r/archlinux • u/Easy_Comfort_1454 • 4d ago
SUPPORT | SOLVED archinstall module not found
like the title of says this how do I install archinstall 3.0.1.1
r/archlinux • u/vishwaravi • 4d ago
SUPPORT Help needed ! Installing Arch
I am trying to install archlinux with arch install script. But there a issue with the script.
It said, File("use/bin/archinstall", line 5, in, <module> from archinstall import runas_module File "use/lib/python3.13/site-pakages/archinstall/init.py",line 13, in <module> from .lib 24 disc, exceptions, interactions, locale, luks, models, networking, package, profile File "usr/bin/python 3.13/site/packages/lib/risk/init_.py", line 1, in <module> From parted import device, disk, disk exceptions, five system, geometry, IOexception, partition, partition exception, freshdisk, getalldevices, get device, new disk. ModuleNotFoundError: No module named 'parted'
r/archlinux • u/dontdieych • 4d ago
QUESTION Get list of real hardware sound output(sink)
This is script for toggle 'headphone <--> speaker'. It works but not reliable solution for get real hardware output sinks.
#!/usr/bin/env fish
####### here sucks #######
set -l sinks (pactl list short sinks|cut -f2)
echo $sinks[1]
echo $sinks[2]
echo $sinks[3]
if test (count $sinks) -gt 3
exit 1
end
####### EOF #######
set -l default_sink (pactl get-default-sink)
echo "Current Default Sink: $default_sink"
if test $default_sink = $sinks[1]
echo "$sinks[1] ---> $sinks[2]"
pactl set-default-sink $sinks[2]
else
echo "$sinks[2] ---> $sinks[1]"
pactl set-default-sink $sinks[1]
end
Let me show 'here sucks' part output.
$ pactl list short sinks|cut -f2
alsa_output.platform-sound.HiFi__Headphones__sink
audio_effect.j415-convolver
easyeffects_sink
Third one is not real sound output.
So, how to I get list of real hardware sinks? Like headphone jack, laptop speaker, HDMI sound output, etc.
I've found below command working but I'm curious about more better solution exist.
$ pactl list sinks | awk '/Name:/{sink=$2}/HARDWARE/{print sink}'
alsa_output.platform-sound.HiFi__Headphones__sink
audio_effect.j415-convolver