You are not logged in.
OK, thanks. It didn't occur to me that the logic to handle XDG_RUNTIME_DIR being unset wasn't be in the release version. I will update to master and keep an eye on the log.
(Later edit) It's all working now. I cloned from master, ran make && make install, then confirmed shed was running. It automatically creates a runtime directory at /tmp/1000-runtime-dir/GUISessionXXXX each time the X server starts. I put the three PipeWire service files in ~/.config/shed/services/ as you showed in the other thread, and now they're starting as well. Now I'm thinking about what else it might be good for. I think I'll try creating a service for starting Deskflow. It's not quite as complicated to run as PipeWire (it doesn't need a socket, for example) but it would still be neater to use shed.
I wanted to give this a try, but it seems my system may be too minimal in its current state. Is this because I don't have elogind installed? Do I need it?
mkdir: cannot create directory ‘/run/user’: Permission denied
mkfifo: cannot create fifo '/run/user/1000/GUISession23383/socket': No such file or directoryFYI, based on stultumanto's findings re elogind vs XDG_RUNTIME_DIR, and stultumanto's subsequent note about PIPEWIRE_RUNTIME_DIR, I pushed an update which creates and uses a PIPEWIRE_RUNTIME_DIR if needed.
Glad I could help. I'm catching up on the thread and looking at the code for EDX-0's shed, and I have to say, he had all the runtime directory stuff figured out a long time ago. I wasn't aware of how much work had already been done on the problem, or how complex it was.
The install media might not have booted in UEFI mode. I've had this problem a few times. If you know how to access a shell prompt from the installer, you can run the command findmnt | grep efivars, You should see a line starting with /sys/firmware/efi/efivars. This is required to properly install grub-efi. If you don't see the line, then your system booted in legacy mode, and you can't install to EFI.
If the system didn't boot in UEFI mode, you may need to adjust your BIOS settings. Some systems have a legacy boot "fallback" option. I've had systems where the installer booted in legacy mode if legacy fallback was enabled, so I had to force UEFI boot only. I've also had issues with some USB media creation programs. The last time I used Rufus, it did not create EFI boot disks by default. I had to manually select the option from a drop-down menu.
You mention using a chroot: by coincidence I just had a similar problem installing Devuan on a dual-boot system. When I installed grub from inside a chroot, os-prober couldn't find the Windows partition. However, after I rebooted into the new Devuan installation, I ran update-grub again, and this time it found Windows. So you may want to try running update-grub again, just to see if it picks up Windows this time. Be sure to edit /etc/default/grub per kapqa's instructions to enable os-prober.
Starting Apache httpd web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this messageOpen /etc/apache2/apache2.conf, go to the bottom, and add the line below. Don't actually use example.com. If you're running a public-facing server with a valid DNS entry, replace example.com with your domain. Otherwise, if you're just behind a home router with NAT, use the name on your local network, something like mycomputer.home.
ServerName example.comI searched for some of your other errors. The temperature sensor is just typical boot log noise, in my opinion. Practically every system I've owned in the last 25 years has had a temperature sensor that either reported an error, reported bad data, or just wasn't detected at all. The ATA transfer error could be slowing down your disks, but I couldn't find a solution; you may just have to wait for a kernel patch.
Yeah, it went right over my head, EDX-0. I had a vague memory of that previous PipeWire thread, but when I searched a few days ago, this thread came up first. I recall my reaction to the previous thread being,"looks complicated, glad I don't need to worry about this!" I respect that you wrote your script to be POSIX compliant. It did occur to me while reading this thread that a "user session manager" would be useful. I guess it's another case of systemd taking all the air out of the room.
OK, I have no idea what this is really about, but you have me curious. I checked three different Linux installations on ext4, and none had inodes 3-10 or 12. In every case, / was inode 2, /lost+found was inode 11, and everything else was inodes 13 & up. I can't find anything about this subject with any search engine.
just cancel pipewire and use alsa only + jack every so often, this is literally bloating the desktop
I would certainly not recommend that people indiscriminately pile-on services without a good reason. I'm only starting PipeWire because I want to run OBS Studio, which requires PulseAudio. At least I have the option of only turning on PW when I need it. PulseAudio leaves your system in a broken state if you try to disable it without completely purging it.
I don't have XDG_RUNTIME_DIR set locally; are you able to un-set XDG_RUNTIME_DIR and re-run the script to see if the change would help debug the issue?
That's interesting, Maybe you have set one of the other envvars it checks. The error message says PIPEWIRE_RUNTME_DIR or USERPROFILE work as well. I also read somewhere that dbus may help with setting up some of this environment stuff, but it didn't work for me. Can you determine where pipewire is opening the socket on your system? Here's the exact error I get when I start pipewire without XDG_RUNTIME_DIR:
[E][23:49:58.480001] mod.protocol-native | [module-protocol-: 756 init_socket_name()] server 0x562d794d35c0: name pipewire-0 is not an absolute path and no runtime dir found. Set one of PIPEWIRE_RUNTIME_DIR, XDG_RUNTIME_DIR or USERPROFILE in the environment
[E][23:49:58.480143] pw.conf | [ conf.c: 602 load_module()] 0x562d794b0190: could not load mandatory module "libpipewire-module-protocol-native": No such file or directory
[E][23:49:58.480400] default | [ pipewire.c: 124 main()] failed to create context: No such file or directoryI unset XDG_RUNTIME_DIR and instead set PIPEWIRE_RUNTIME_DIR. It seemed to work just as well. The latter might be a better option. Since it's specific to PipeWire, it could even be set by the script without interfering with other programs that might use the value of XDG_RUNTIME_DIR.
[Edited to update testing info.] Thanks for sharing the script. I found it easy to read and to understand what it was doing, which is much more than I can say about many of the scripts included with Debian. ![]()
A note to anyone not running elogind: you will need to manually set the value of XDG_RUNTIME_DIR to a directory which you own to get the pipewire daemon to start successfully. It's not enough to use a system directory where you have write permissions, such as /tmp, you must actually own it. Something like /tmp/pw will work. [Edit: I initially said /tmp/pulse, but that already exists!] I'm not sure yet how pipewire handles exit; you may need to clean up after it. It's probably worth noting that the startup script did not pass through the error messages from pipewire to the terminal when it failed. I had to start pipewire manually to figure out why it was failing. If anyone else runs into trouble, I suggest you try that first.
After I fixed this issue, the three daemons started successfully, and I confirmed monitor audio was working in OBS Studio (obs requires PulseAudio support for monitoring.) The only drawback was routing: I only saw a single PA input and output (hello feedback!) Hopefully, that's something I can fix through the configuration files.
If anyone else has been looking for the documentation for the .asoundrc format, I found it at the official ALSA wiki. It was kind of buried in a half-broken list of links on the Documentation page. If that link ever goes down, there's also an archive here. It would be nice if .asoundrc actually had a man page, like xorg.conf, and many other system configuration files.
Did you check the mixer? The Mic channel is often muted (or set to 0 volume) when you first set up a new system with ALSA. I'm not sure what desktop you're using, but you should be able to at least open alsamixer in a terminal and check the mic channel.
@stultumanto No idea why, but that was easier to do in doas for me.
Honestly, my use of sudo is 100% inertia at this point. The fact that doas comes from OpenBSD is all the endorsement I need. I'll probably check it out if I ever get a free moment!
Debian have become rather fond of breaking changes made recently.
I really began to suspect something had changed when I saw this header in /usr/lib/udev/hwdb.d/60-keyboard.hwdb:
# Note: The format of the "evdev:" prefix match key is a contract between the
# rules file and the hardware data, it might change in later revisions to
# support more or better matches, it is not necessarily expected to be a stable
# ABI.The sheer number of posts about udev & hwdb I found across the web suggests it's a huge source of frustration for Linux users. I remember it took me hours to figure out that my rules needed to be indented by exactly one space. I can't think of another parser that brittle. Even Python is more forgiving!
Someone tried to open a bug report about it several years ago, but Pottering himself closed it. He said it sounded "like a support issue!"
Thanks for sticking with the problem, g4sra. In fact, I think you are right. It appears that name is no longer valid. It worked for years, but it must have been changed recently. I searched through the predefined keyboard rules under /usr/lib/udev/60-keyboard.hwdb and found a ruleset that matched the output of udevadm info for my keyboard. I copied the string used with this ruleset into my own file, and it worked! This was the working string:
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAlienware*:pn*:*Thanks for the suggestion, I hadn't thought about checking with strace. At least I know now that udevadm hwdb --update is successfully opening and reading my .hwdb file:
openat(AT_FDCWD, "/etc/udev/hwdb.d/99-keyboard.hwdb", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=68, ...}) = 0
read(3, "evdev:name:AT Translated Set 2 k"..., 4096) = 68
read(3, "", 4096) = 0
close(3) = 0
I checked the trace for the udevadm trigger as well, but it didn't contain anything useful. I checked again to make sure I was using the right name for my keyboard, and it still appeared to be correct:
# udevadm info -a /dev/input/by-path/platform-i8042-serio-0-event-kbd
...
ATTRS{name}=="AT Translated Set 2 keyboard"I believe usrmerge was already applied in Trixie before I started the migration to Excalibur. I remember checking for the symlinks shortly after installing Debian.
Tonight I migrated a Debian Trixie install to Excalibur using the instructions on the Devuan site. Almost everything seems to be working, except that my custom hwdb keyboard rules now aren't loading. They'd been working on Debian before the migration, and they are still working on another partition on the same PC, which was always running Devuan. It seems something specific about the migration broke hwdb, though.
Unfortunately these rules are kind of important, because my left control key is entirely broken off. It's an old laptop, with no replacement keyboard available. I have a file at /etc/udev/hwdb.d/99-keyboard.hwdb that remaps caps lock to left ctrl. Here's the contents of the file:
evdev:name:AT Translated Set 2 keyboard:*
KEYBOARD_KEY_3a=leftctrl(I cut down the rules to just this one for troubleshooting purposes.) I verified that the timestamp on /etc/udev/hwdb.bin is being refreshed when I run udevadm hwdb --update. In the past, running udevadm trigger would always load any rule changes immediately. I could verify them with udevadm info /dev/input/by-path/platform-i8042-serio-0-event-kbd. Now, however, nothing ever changes, not even after I reboot.
If it matters, I run pretty "barebones" systems. I don't have elogind installed on my machines. However, I saw that installing it was part of the migration instructions, so I did as I was instructed. Still, I wonder if my system is too different from the expected configuration for the migration process to work properly. Maybe I should just start over from scratch at this point.
It is not true. Firefox-esr works with ALSA.
No argument here; I was only testing the PulseAudio version to help troubleshoot my issues with apulse and OBS Studio. I appreciate the detailed instructions for recompiling Firefox; however, there doesn't appear to be an equivalent way to coerce OBS into support ALSA for output monitoring. It seems this feature is only available if one installs PulseAudio or PipeWire, which is strange, as OBS supports ALSA input sources without issue.
It definitely seems to indicate a real problem that glxinfo shows you using llvmpipe. I've had weird issues with Intel drivers before, but not with your exact model. In searching for your problem, I came across this post, where someone said they fixed your specific issue (albeit on Mint) by un-setting the environment variable MESA_LOADER_DRIVER_OVERRIDE. Maybe it's worth checking to see if that value has been set in your ~/.bashrc.
Thanks for sharing that data point. I just tried using apulse with Firefox ESR on a Debian installation. (The Firefox packaged with mainline Debian no longer supports ALSA directly.) I observed exactly what you describe. It seems apulse is the source of the high latency. What's odd is that, according to the documentation, apulse simply wraps the ALSA mixing tools dmix, dsnoop, and plug. Logically, then, it would seem these tools must be the source of the latency.
I actually did find some discussions by people who claimed to have latency issues with the ALSA userspace utilities. Perhaps there is a buffer setting in these tools I can adjust. If that doesn't work, though, I may just give in and install PipeWire, as it appears more and more applications are coming to rely on it.
OBS Studio only supports PulseAudio for output monitoring, so I'm using apulse to route its output to ALSA. It works OK, but there is an unusual amount of audio lag; it sounds like several hundred milliseconds. I've tested looping back my microphone through ALSA using sox, and there's almost no latency at all. Either apulse or OBS is causing the lag, but I can't tell which. I was wondering if anyone else had any experience with latency issues using these two programs. My searches didn't turn up anything specific.
The problem is that you didn't specify whether you were asking about the three primary additive colors (i.e., the colors of light) or the three primary subtractive colors (pigment, dye, etc.) If the former, the answer would be red, green, and blue. If the latter, the most correct answer would be magenta, cyan, and yellow, although artists may say, red, blue, and yellow, which can serve as reasonable approximations.
Thanks for the info, tux_99, that's very helpful. Perhaps it's finally time to retire this system to home server duty. Thirteen years is a pretty good run, I guess.
One of the problems that it was supposed to solve, just peeked it ugly head not that long ago.
I remember when a memory leak was found in a Rust application a while back, some Rust devs (or at least, people claiming to be Rust devs
) were actually shocked. They genuinely did not believe such a thing was possible. I didn't look too deeply into who these people were, but I truly hope they weren't working on anything important, as this attitude reflects a profound lack of basic understanding. It's fundamentally impossible to completely prevent all memory leaks in any language. Rust may be very good at minimizing them (I don't personally know, I haven't looked into it) but it's simply not possible for it to have entirely eliminated them.
I have a HTPC using an ancient Atom 330 cpu from more than 15 years ago and that one can play back all current videos thanks to the Nvidia card that does all the decoding in hardware, if it was using the cpu it would run at 100% and still stutter.
Is this on Linux, and if so, what driver are you using? I disabled hardware acceleration in Firefox last night because I suspected vdpau was crashing the nouveau driver and bringing down the X server. This is just a guess, as the xorg.0.log stack trace was completely blank. It seemed to help, at least. I have a GTX 765M and I'm trying to resist the urge to install the ancient proprietary NVIDIA driver for this card. The last time I tried, it seemed to cause more problems that it solved. In fact, I'm not even sure it's possible on this version of the kernel.