Jump to content

Wikipedia:WikiProject Desktop Linux

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by ScotXW (talk | contribs) at 11:08, 9 September 2013. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

X.Org Logo.svg

Please see fr:Modèle:Palette Environnements de bureau et Gestionnaires de fenêtres pour X for even more Logos

This project started to address the problem of un-maintained articles relating to free and open-source operating systems with a graphical shell based on the Linux kernel.

The point is:

  1. the Linux kernel alone is not an operating system
  2. the available Desktop environments do only contain a small fraction of all the free and open-source software suited to be utilized and also they "exclude" each other, though in the real world, it is perfectly normal to replace KDE-applications with GNOME-applications and vice versa. Let them do their stuff in "their" articles, but let as maintain some core and glue article.
  3. I see the need for a core and glue article from which to link to the various DEs and also to components hosted by freedesktop.org and other components
  4. articles like Graphical user interface are very general and clearly not suited for this purpose

There is an article Desktop Linux. This is it, but since I intend to target mer-based mobile stuff such as the Vivaldi Tablet and Sailfish OS and the open-source parts of Android/Replicant as well, I don't think "Desktop" is best denomination. Linux kernel-based operating system with a graphical shell is too long. Anybody an idea?

Currently there are following articles:

  • Linux kernel – I would like to create a section called "Linux kernel modules for which a Wikipedia article exists": Netfilter, evdev, Direct Rendering Manager, etc.
  • Linux – the glue article for the following articles:
  • Desktop Linux
  • Embedded Linux – targets stuff like Seagate FreeAgent or CPE Routers which run OpenWrt but also Mobile Phones at the same time. This is IMO wrong because the latter have as much resources as a light desktop system: 1GB of main memory, quad-core CPUs, 16GB of storage, etc. They merely lack a mouse, a keyboard and a bigger display. For the user interface this is a huge difference, but the underlying hardware, is actually quite powerful! Thus they will run glibc, systemd, Wayland compositors, etc. since there are more then enough resources available. Only the UI adapted (see Plasma_Active, etc.)
  • Linux-powered device – imo a relict. I would not delete it, but I also wouldn't bother with it.

So, I would like to merge the articles Desktop Linux and the Mobile Devices-parts of the Embedded Linux into a new article called: Linux kernel-based operating system with a graphical shell or something shorter, or at least split off the Mobile Parts of Embedded Linux into a new article called Mobile Linux or something. The point is, that only the UI differs from traditional desktop systems. The entire underlying software is identical.

Problem is the hardware denomination: Linksys WRT54G series has 16 or 32MB of main memory, no GPU, no Sound card, no USB port, the SheevaPlug has 128MB, the Raspberry Pi, has a GPU, a sound card, and 256/512MB of main memory, the Cubieboard has 1GB of main memory, etc. and all is called "embeded hardware". While the denomination my be correct, you will probably install a OpenWrt on the WRT54G and a full blown Debian on the Cubieboard. The same full blown OS that runs your Desktop machine. Thus the articles Desktop Linux and Embedded Linux will imperatively describe one and the same Linux kernel-based operating system with a graphical shell.

We can start working on the Desktop Linux-article any time, but sooner or later, we shall have a better suited name!


Aims

  • To ensure that Wikipedia can be used as an appropriate reference for components (programs) of Desktop Linux and also of underlying technologies for:
    • people employing a Desktop Linux
    • people thinking about employing a Desktop Linux
    • people giving lectures about Desktop Linux
  • To ensure that existing Wikipedia articles about Desktop Linux
    • are cited, NPOV and factually accurate.
    • don't fall unmaintained or go obsolete.
  • To ensure that not existing Wikipedia articles about Desktop Linux
    • are encouraged to be created, (e.g. There is an article about Mode setting and there should additionally be an article called KMS (Linux kernel) which describes that particular Linux kernel module. At the moment the KMS module is part of the Direct Rendering Manager, but at the Linux Plumbers Conference 2013 a split of that one module into two kernel modules is being discussed.)
    • are well interlinked with each other and with the rest of the Wikipedia articles

Glue Articles

Glue articles provide the necessary cohesion between the existent and to-be-created articles. Such articles are essential because the "Desktop on Linux" is already quite complicated composition of different components, among which several are exchangeable with one another.


Various layers within Linux, also showing separation between the userland and kernel space
User mode User applications bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, ...
System components init daemon:
OpenRC, runit, systemd...
System daemons:
polkitd, smbd, sshd, udevd...
Windowing system:
X11, Wayland, SurfaceFlinger (Android)
Graphics:
Mesa, AMD Catalyst, ...
Other libraries:
GTK, Qt, EFL, SDL, SFML, FLTK, GNUstep, ...
C standard library fopen, execv, malloc, memcpy, localtime, pthread_create... (up to 2000 subroutines)
glibc aims to be fast, musl aims to be lightweight, uClibc targets embedded systems, bionic was written for Android, etc. All aim to be POSIX/SUS-compatible.
Kernel mode Linux kernel stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (about 380 system calls)
The Linux kernel System Call Interface (SCI), aims to be POSIX/SUS-compatible[1]
Process scheduling subsystem IPC subsystem Memory management subsystem Virtual files subsystem Networking subsystem
Other components: ALSA, DRI, evdev, klibc, LVM, device mapper, Linux Network Scheduler, Netfilter
Linux Security Modules: SELinux, TOMOYO, AppArmor, Smack
Hardware (CPU, main memory, data storage devices, etc.)
GNOME KDE Software Compilation
Wayland display server protocol X11 display server protocol
Linux kernel
A free graphical user interface stack on top of the Linux kernel


Articles

General articles

  • Desktop Linux – could be much better with many more links to to-be-created "Comparison of..."-articles.
  • Linux kernel – the article itself is ok, but we can link to its sections and from it
  • freedesktop.org – good as it is. Do not forget to refer to it and to the components it hosts. Several programs are actually daemons, and the user merely interact with some GUI-Front-end. The user does not need to know that, but it also does not hurt to make him aware of that. It's not just GNOME or KDE SC, is also freedesktop.org and many many other programs. It's not just colorful eye candy, it's also just code, that has to have a solid software architectural design, to run efficiently and also safely. See the idea behind kdbus and alternatives.
  • Ubuntu Software Center – if this worked as intended, it would make a lot of this work gratuitous. I (User:ScotXW) find it cumbersome to search for available audio players in the Debian/Fedora/ArchLinux/SLackware Repos when you have the OS installed and running. After finding all programs able to do that, I'd also like to further compare them, and install just the one, that allows me to change the playing speed. Audacious cannot do that, but e.g. the AlsaPlayer can.
  • Graphical user interface – is a very general article, hence I would rather put my energy into ⇒Desktop Linux!
  • Shell (computing) – another very general article, hence I would rather put my energy into ⇒Desktop Linux!
  • Operating system shell – IMO redundant with the above article
  • display server – a key component of the GUI and also note that Wayland compositors are going to replace the X.Org Server, which means we will refer to this article. It is already better then this article version, but imo it could be even better.
    • Wayland compositor – currently a REDIRECT. Any display server implementing the Wayland display server protocol: Mutter, KWin, Weston and Clayland are (going to become) Wayland compositors.
    • libwayland-client – actually I do not quite see the need for such an article, but since Xlib and XCB do exist...
  • Desktop environment – is a very general article, hence I would rather put my energy into Desktop Linux! and link to the available ones for it, e.g.

Several programs do not belong to either GNOME nor KDE SC, so they shall not be mentioned in Templates like Template:KDE. So by what means should the User stumble upon such software? Have a look in software? (Ubuntu only, German only). Blindly rely on google? No! Probably by "Comparison of...-articles" in the Wikipedia to which we link from Desktop Linux. Clearly a core article is needed. Sadly the said articles do not address Desktop Linux users at all! So we have to create alternatives to them. See further below.

  • Amarok – officially not part of KDE SC
  • puddletag – not part of anything, so hotwo find it quickly. Maybe even if you do not know about Mp3tag.
  • qBittorrent
  • Deluge
  • Mumble (software) – tagged as alternative to TeamSpeak, which is chiefly used by gamers; I would link to this article from Linux Desktop because it can also be seen as an audio-only alternative to Skype or even to IRC. I do not know whether it is possible to run the client on a router with a USB-sound-card running OpenWrt ;-))) , but at least the server runs on OpenWrt. There is even an alternative called Murmur.
  • Transmission – another good example where the main program is a daemon (so small that it runs on OpenWrt!), and there is some GUI-Front-End on top of it. This fact, should IMO be reflected in the core article, Desktop Linux and not just in the program article and in the OpenWrt article. That is one of my points: Desktop Linux is still Linux, and a lot of stuff besides the Linux kernel can be used on your Router running OpenWrt, on your Vivaldi Tablet, on your Phone running Sailfish OS or a rooted Android/Replicant, on your Music Player running Rockbox and certainly on some Internet server or other heavy duty machines!
  • numerous other free and open-source software
  • etc.

Explanations: how stuff works

Kind of marketing

  1. Why is that?
  2. Does the attention regarding performance, security and feature optimizations Linux receives from the web server adopters benefit the "Desktop Linux"?
  • Android (operating system) is very successful on mobile hardware devices (during the second quarter of 2013 79.3% of smartphones sold worldwide were running Android.[2])
  1. Why is that?
  2. Does the attention regarding performance, security and feature optimizations Linux receives from the mobile adopters benefit the "Desktop Linux"?
  3. Why not?
    1. All device drivers written for Android, are proprietary and closed source, and additionally they only work with components of the Android OS, that are not found outside of Android.
    2. Several features written by the makers of Android were not good enough for the maintainers of the Linux kernel: poor design, poor documentation, poor communication, poor implementation
  • Why are the Linux kernel and other free software components so unsuccessful on the Desktop? Let's look at the use cases:
    • Office-PC
      • hardware should be high-volume, cheap, low-power, low-noise, low-maintenance, not bulky, etc.
      • software should be: cheap, at least the GUI should be easily operated by the clerks.
        • why the f*ck not Linux? Free and open-source software is
          • cost-free
          • highly adaptable to underlying hardware (but the implementation requires hardware documentation..., there are developers of free software under NDA, but not too many)
          • highly customizable to job necessities (there were several negative examples where investments into such customizations went down the toilet because of reasons not specific to Linux at all, like poor understanding of the customer regarding necessary efforts and possibilities to implement wishes into software, incapable software developers, etc.)
      • (Linux has had problems with printer- and scanner-support)
    • Personal-PC
      • Internet usage: surf the web, participate in Forums, Wikis, etc., communication via email, IRC, etc.
      • home office (Linux has had problems with printer- and scanner-support)
      • play video games
        • game developers want
          • easy to use and mighty APIs to the graphics accelerator hardware, to sound hardware, to input hardware (DirectX since version 10 is called good)
          • easy to reach platform for them: Game demo, Shareware; = fire up a web page, make downloadable-demo-levels available; anybody can download, install and play that demo; beats anything like Steam
            • google play store accepts pretty much anything, in contrast the Debian software repositories, to Apple or Steam
          • easy to reach customers attention: advertising costs serious money, but since the price of PC games drops very fast and there is high rate of piracy, game needs to sell right from the beginning, because sells 1 year after initial release bring less money
          • platform with hard-to-circumvent / break DRM, but low nuisance to customer to fight piracy
        • game players want: performance, low latency: (the Linux kernel should be able to deliver that, and some of the device drivers as well)
        • see



Templates

Comparison of... articles

Available Comparison of ...-articles usually intermix proprietary with free and open-source software, are quite crowded, hard to maintain and usually not maintained at all! They often do not mention the graphical toolkit, the programming language, when the program was last updated, etc. Also they regularly lack the program logos. It would be nice to have pages like Multimedia, this AudioPlayer, etc. in the Wikipedia. Given that Wikidata is on the way, we of course should not waste too much time creating and grooming comparison of-pages, yet a couple of those would be a really really nice to have.


I think it is cumbersome to create and then maintain such "Comparison of..."-articles, and I would not want to painstakingly create one, just to have it deleted, because it is unwelcome in somebodies eyes. Would be nice to see if other people share my POV, and only then do the work.

Articles about the underlying technology

There is a growing number of Desktop Linux users, and there is a growing number of people who do not care at all, that the software they are employing is free and open-source and they also do not care how it works. There is a small number of people who really want to understand the software they are using.


  • Linux startup process could be enriched with a English language version of File:Linux-bootvorgang.svg or File:Linux Boot Schema.png; maybe even replace init with systemd; maybe even already mention kdbus in the diagram ;-)
  • Graphics hardware and FOSS
  • Direct Rendering Infrastructure and Gallium3D
  • Direct Rendering Manager, Graphics Execution Manager
  • KMS (Linux kernel), Atomic Display Framework[3][4], Common Display Framework[5]
  • kdbus – most relevant for the Linux desktop, even if not related to graphics but to security!
  • Netfilter – in stark contrast to the situation on other OSs, on Linux any program called a "firewall" is usually just some CLI- or GUI-wrapper around netfilter/ipXtables. netfilter gives a nice introduction to netfilter. Too much for the Wikipedia, but this template is totally misleading. The current version is a bit better, bust still too much influenced by the (ridiculous implementation of "firewalls" on Microsoft Windows. The fact, that "Desktop Linux" users can port their acquired knowledge on Netfilter to other devices, such as a router, if it runs OpenWrt, or a server if it runs "Ubuntu Server", or they mobile device, if it runs a mer-based OS or a rooted Android, should be made as obvious as possible! There is learning curve, and it is usually more then worth learning the stuff. When most users who actually use Uncomplicated Firewall are not even aware of the fact, that is is Netfilter-based, and that Netfilter is a Linux kernel module, which makes Netfilter ubiquitously available, they won't even bother! In other words, as with the freedesktop.org-stuff, I would concentrate on the core program first, and then on its GUI-front-ends!
  • on enWP there are the article GNU Parted, GParted and QtParted with differing qualities. – on the deWP there is only one article: de:GNU_Parted and de:GParted and de:QtParted are only REDIRECTs to this one article. I think the situation in the deWP is much better. Not only is there a good quality article to which all users are redirected to, but this article also nicely shows, that GParted and QtPared are merely the GUI-Front-Ends to a solid program which has been around for a long time now and is actually CLI-only. Contrary to the situation on Windows, on the "Desktop Linux" we quite often have such a constellation: a solid cli-program or even a daemon, for which various front-ends exists. Transmission is another such example and it would be nice, if its article would reflect the differences between daemon and GUI-Front-End.

Man-Pages

There is the Template:Man. Wherever manpages are available, this template should be used. For example in systemd for systemctl and journalctl, or in GNU GRUB for grub-setup and grub-install or in netfilter for iptables, ip6tables, arptables, ebtables and ipset, etc.


Articles about Events

New technologies are regularly introduced on such Summits/Conventions/Congresses. Usually they offer the papers as PDF and often also a Video recording even years after!

The official Homepages of such events are usually well organized, so there is little point in making a big fuzz on the Wikipedia. But it seems to me very useful, when citing something to also link to the Wikipedia page for the corresponding event: e.g. [6]

Multimedia resources

Diagrams

I (User:ScotXW) think, that awesome looking screenshots are nice, but I'd rather have diagrams to understand the clumsiness or elegance of the implemented software architecture. Especially at the moment (2013) there is a lot of talk about Wayland replacing X11, yet the Wikipedia offers very little to make it easy for the interested person to understand the advantages that come with the transition from X11 to Wayland. A comprehensive Wikipedia article will address and satisfy the individual interested in the mere news, but also early adopters and even people willing to participate further.

Screenshots

Nice looking screenshots are just eye candy, so they need to look as awesome as possible! They do not contribute to any understanding whatsoever! Their sole purpose is, to attract the user to read on or even to install the concerned programs/combination of programs.




Logos

Nice to have svg-logos and reuse them in the required size. Often people create a logo using Inkscape, but only put and png-picture on the programs homepage. An example seems to be Simple DirectMedia Layer.

  1. ^ "Admin Guide README". Kernel.org git repositories.
  2. ^ "Android Nears 80% Market Share In Global Smartphone Shipments, As iOS And BlackBerry Share Slides, Per IDC".
  3. ^ http://www.phoronix.com/scan.php?page=news_item&px=MTQ0ODE
  4. ^ http://www.linuxplumbersconf.org/2013/ocw/proposals/1551
  5. ^ http://www.linuxplumbersconf.org/2013/ocw/sessions/1317
  6. ^ http://www.youtube.com/watch?v=cQoQE_HDG8g. {{cite web}}: Missing or empty |title= (help); Unknown parameter |Publisher= ignored (|publisher= suggested) (help); Unknown parameter |autor= ignored (|author= suggested) (help)