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

Thanks. I think that some backwards compatibility can be handled by more code and not necessarily more layers of abstraction, but I get your point.

It seems like there are lots of layers in Linux distributions because of the Unix philosophy. For example, to put a window on a screen, aren't the layers something like this:

App -> window manager -> desktop environment -> X -> graphics driver (-> hardware)

Is that a good approximation? What does that look like on e.g. Windows and Mac OS?

Is the situation on Linux similar for audio? From my armchair, my impression is that audio on Linux is/was... complicated.



> App -> window manager -> desktop environment -> X -> graphics driver (-> hardware)

No, the window manager isn't in that chain. You can kill the window manager and your applications can keep running and drawing to the screen, but you can't move or resize windows. Also, instead of "Desktop environment" you mean GUI widget toolkit.


    Also, instead of "Desktop environment" you mean GUI widget toolkit.
By desktop environment I meant e.g. Gnome or KDE. Aren't they separate from the widget toolkits?


Gnome or KDE is just a package including a window manager and a bunch of mostly-standalone programs that give you a toolbar, file browser, settings panels, etc. It's not a layer that anything goes through. You don't even have to use the window manager it comes with.


> By desktop environment I meant e.g. Gnome or KDE. Aren't they separate from the widget toolkits?

I was being charitable. The desktop environment doesn't belong in the graph you drew. The GUI widgets belong in the place where you wrote "desktop environment". The charitable assumption is that you reasonably conflated the GUI widget toolkits for desktop environments, since the very popular KDE and Gnome are strongly tied to Qt and gtk, respectively.


I believe so. I think Gnome has GTK and KDE uses Qt for their toolkits.


Audio with ALSA was very simple, but didn't support hot-plugging. So rather than improve ALSA, PulseAudio was created. When you add legacy OSS to the mix, which was deprecated probably 10+years ago, yeah, it's complicated. It didn't have to be, though, if the good parts of PulseAudio were implemented as ALSA modules instead.


I think applications can make X calls themselves

There definitely is a network somewhere in between (possibly almost optimized away in many cases)




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

Search: