Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I thought it was a missed opportunity that X never got an audio protocol built-in. I guess streaming audio was considered too exotic in the 1980s, but getting sound to chase X applications around is still an unsolved problem. I think it would have forced Linux and other Unix-like OSes to fix their broken and crufty audio subsystems much earlier. It was a real nightmare getting audio out of sound cards back in the 90s and even 2000s.

I still remember having startx finally work properly on my FreeBSD 2.1 system running on a Pentium-75 with 16MB of RAM (so luxurious!) back in 1995. The fixed sync monitor[1] coming to life with that black and white crosshatch pattern, and probably TWM decorating that terminal window that would shut down X if you closed it. Luckily at that time there were quite a number of window managers so you could try a bunch to see which one you liked the most. The hardest part of getting X running was tracking down those magic numbers you had to enter for the modeline in the configuration file, although old X used to ship with a database you could look up of older monitors that were no longer in production, but might be kinda close to what you had.

[1] Supporting 640x480, 800x600, and 1024x768(interlaced only)



NCD (Network Computing Devices) made an audio server for their X terminals, that was largely based on the X11 server and client code, around 1993. I made a TCL/Tk sound mixer that supported NetAudio for multi player SimCity on TCL/Tk. NetAudio really sucked. That's probably why nobody uses it (or X terminals) any more.

https://news.ycombinator.com/item?id=20313616

DonHopkins on June 29, 2019 | parent | context | favorite | on: Red Hat Expecting X.org to “Go into Hard Maintenan...

NCD (Network Computing Devices), who made X Terminals, came up with a sound server called "NetAudio", based on the X11 server, protocol and client library, with the graphics ripped out and sound stuck in. I used it in the early 90's to support the Unix/X11/TCL/Tk multi player version of SimCity, with a scriptable TCL/Tk audio server that could drive either /dev/audio on Sun/SGI/etc or NetAudio on NCD X Terminals. Other TCL/Tk clients like SimCity (but possibly others) communicated with it via the TCL/Tk "send" command, which bounced messages off the X server.

http://www.art.net/~hopkins/Don/simcity/simcity-announcement...

NetAudio had its problems, but basically worked. Except that it insanely mixed audio by AVERAGING (add waveforms then divide by the number of sounds) instead of adding and clipping, and I couldn't convince the NCD engineer that was the wrong way to mix sound, and to just add and clip instead, like sounds mix in the real world: When you talk over music, the music volume and the volume of your voice doesn't magically lower by half. Hopefully they've fixed that problem by now.

https://donhopkins.com/home/archive/NeWS/sound-mixers.txt

It evolved into the Network Audio System (NAS):

http://www.radscan.com/nas.html

I can't say how popular it is, or if anyone actually uses it, though:

The Release version is now 1.9.4 (10/07/2013).


It kinda worked, but nobody used it. That was the frustrating thing for me. Had it been integrated directly into X I think it would have stood a much better chance.


There's some kind of continual tension in the Linux world between integrating things, and disintegrating them and having them just point to each other. Wayland disintegrates things that were integrated in X, like drawing pixels to the screen - now you have to do that with the graphics driver, and (I hope that) Wayland tells you which graphics device to use. Usual disintegrated style would be that your X root window would have some X properties containing the addresses and auth tokens of your dbus server, CUPS server, audio server, etc and if an app wants to access those things, it makes a separate connection to those services.


It’s funny because I recognize all the details you mention and know where you went to school because of it.

For the longest time the top result when searching for my real name was a mailing list post asking about getting sound working on that same FreeBSD Pentium 75.

We had to carry that IBM behemoth across campus to “prove” that we installed FreeBSD onto it for one of the CS lab courses.


In more recent times (2008ish perhaps, would likely have been early Ubuntu anyway) there was some sort of audio forwarding, I don't know how it worked though. I remember one time sitting on my couch with my laptop but wanting music to play from my desktop because it had good speakers. So I ssh-x-forwarded rhythmbox from my desktop to show on my laptop, pressed play ... and the music came out of my laptop.


You brought me back memories of startx vs xinit (or something similar command that did nothing but start the graphical ui) in my FreeBSD CDs bought through Walnut Creek cdrom site... I couldn't believe they shipped them to my god forsaken village in Mexico .. 12 year old me was ecstatic! Great times.


My too. I tried opening a feature request on the Wayland tracker but it got closed as not wanted. I can think of various use cases such as screen-sharing a window and its audio together or remote access to a single window + audio.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: