User:ScotXW/Linux as home computer platform

Examples of devices that use embedded systems.
Far left: classes of peripherals for INPUT (green) and OUPUT (blue)
left: classes of computers
right: Linux kernel
far right: Software for Linux, especially graphical shells and GUI widget-libraries.

Linux as home computer platform or Linux kernel-based family of operating systems on home computers, that comprises desktop computers and single-board computers, and also embedded or mobile stuff: tablet computers.

Technical documentation edit

For rants from a technical perspective, please visit User:ScotXW/Linux as platform. For a technical documentation forget about the Wikipedia, and go somewhere else. ;-)

The idea for this article-like in my user-space, will be to focus on the various tasks people perform on their home computers. I hope people bamboozled by all the "marketing speak" are not overstrained by it.

Stationary-mobile convergence edit

 
Stationary-mobile convergence: identical IC, identical operating system, just different human-machine interfaces and different UIs.

Convergence will come, because it makes sense. Mobile devices have much more RAM and computational power than a PC in the year 2000 had. Things that are different is the human-machine interface and the form-factor. To account for that, we simply utilize KDE Plasma Workspaces to write different UIs. The design of GNOME 3 also suits both, INPUT via Keyboard and Mouse as well as Touchscreen.

Convergence is not only possible, but actually it is being worked on since a couple of years.

  • Android is ruling the Smartphones, and Android is from my perspective not well documented. It differs in binder, ashmem and pmem from the vanilla kernel, and additionally in bionic from any other Linux OSes.
  • Tizen, Sailfish OS, Ubuntu Touch, Firefox OS are all build on the vanilla kernel (and device drivers as binary blobs) and the glibc so convergence should be easier.


What do you do on you home computer? edit

System administration edit

Almost any Linux distribution is build around one of the free and open-source package management system (PMS). This can have some downsides, see User:ScotXW/Linux as platform#Linux distributions are ... not free enough! but does not have to, and it will remain the way to administer the operating system.

Though the responsible administration of a LAMP system does require some knowledge and probably involves no software with a graphical user interface, the administration of a Linux OS running on a home computer can be as simple as eating pancakes. Have a quick look at GNOME Software and take it from there.

Installing software edit

Switching from the Microsoft Windows family of operating system to Linux kernel-based family of operating system, the very first problem you are going to encounter is "installing software."

  1. When you want to do a task on a computer, you have to previously find out, with which software this task can be done.
  2. To find that software, you start your web browser, go to your favorite search engine and search.
  3. On Windows, most sites you find will offer a Windows-package for immediate download; you are supposed to download this package, install it, and use the software. Done.
  4. On Linux, this procedure is possible but frowned upon and not wide-spread. On Linux, for reasons such as system stability, consistency and security, we prefer using the PMS exclusively. This introduces a major paper cut bug to people coming from Windows.
  5. On Linux, you will software and description to use this software, but most probably find no package for download. Instead, have start you PMS, and search for these names found previously in the package repositories of your Linux distribution. Often the names are identical, but sometimes their are not, in that case you have to find the corresponding name. Now install the found package(s) using the PMS. Done.
  1. certain software packages, are or could be, encumbered by patents, so they may be present for download on various sites in the Internet not caring about this risk of litigation, but they are most likely not present in the official software repositories, to avoid even the risk of litigation. But usually they are being maintained in some third party repositories suited for your Linux distribution. As a beginner, you have to configure your PMS, to use these repos additionally to the official repos. Find out the names of the packages you want or need, and install with the PMS. Done.
  1. For wide-spread Linux distributions, such as Fedora, Debian or Ubuntu, it is very unlikely that a software is not available as install-able package (install-able with the PMS, not by downloading manually) and the user has to compile sources.

In case the PMS does not offer some graphical front-end, the CLI must be used. This is simple and not complicated at all, the problem lies in knowing what to type. ;-)

Some Linux distributions risk litigation based on software patents, and offer codecs and such in their official repos or even install them from the beginning on. AFAIK an example is Linux Mint. Sadly they also pre-install Adobe flash and other crap, that the world would be better without.

Updating your system edit

Start you PMS, click on update or upgrade. Done. Fedora 20 automatically installs software updates to keep the OS as safe and bug-free as possible. Since we manage ALL packages with the PMS, this keeps the entire OS up-to-date! This is awesome for lazy people and for all the morons out there, who would otherwise require a "driver's license for the Internet". For professional users, it saves time and is simply conformable.

Video playback edit

  • Videos are available as compressed video files. They contain the result, of applying a compression algorithms (called CODEC) such as MPEG-2, HEVC or Daala.
  • In order to watch them, they have to be decompressed.
  • Video files can additionally be encrypted by the encryption algorithms Content Scramble System (CSS) on DVDs or Advanced Access Content System (AACS) on BluRays.
  • They have to be de-crypted first, and then the result has to be decompressed into a bit-stream, and this bit-stream is sent directly to the screen.
  • Though, this bit-stream, found between DVD-Player and Screen/TV, usually is again encrypted with the encryption algorithm High-bandwidth Digital Content Protection (HDCP).

Video acceleration edit

Nvidia PureVideo, Unified Video Decoder, Intel Quick Sync Video, the "TI Ducati Sub System" on OMAP SoCs are supported by the proprietary drivers as well as the free and open-source device drivers. Each driver provides some APIs for end-user software to make use of the "video acceleration module".

Optical discs edit

Videos are available on some kind of optical disc. You the disc into the disk drive, and watch the content on it with the help of some video player software. Alternatively you can also copy the content to your hard disk with the help of a ripper software, e.g. CD ripper.

CD edit

Yes, you can listen to CDs on Linux. See also Extended Copy Protection

DVD edit
HD DVD edit

?

Blu-ray edit

Yes, it is possible to watch a Blu-ray Discs on Linux, the encryption algorithms Advanced Access Content System (AACS) and BD+ pose some problems.

China Blue High-definition Disc edit

Only distributed in the People's Republic of China. I do not know, whether you can watch/rip the content.

Multi-monitor edit

Yes, multi-monitor setup is supported on Linux at least by AMD Eyefinity & AMD Catalyst, Xinerama and RandR on both X11 and Wayland.

A software platform for home computer edit

  • runs on home computers
  • features of a "good" software platform: ...
  • The instruction set of choice has been for a long time x86/x86-64. Maybe this will be augmented by ARM and/or MIPS, maybe inside the TV or inside some mobile device, with interfaces like USB and HDMI to the classic "Human-machine interface devices" described above. For Motherboards other form-factors than ATX are available and have gained some ground. The so called Steam Machines are actually PCs.
  • What do people do on their home computers?
  • Even though many people do not play 3D games that require a high-performance CPU and GPU, most people do play a little bit.

Linux as home computer platform edit

Linux as home computer platform consists of the Linux kernel and other components!

Peripherals – a chicken or the egg dilemma edit

The lack of support of all peripherals available for the PC for purchase has been described as one of the more serious obstacles for Linux to gain a wider user adoption. Support for Sony's DualShock 4 was mainlined in 3.15[3] but support for peripherals should be better, especially for printers and image scanners. It is a chicken or the egg problem: hardware vendors won't bother to support device drivers for OSes with a low user base, and users won't adopt OSes, for which device drivers are missing for their favorite hardware.

Read my rant: the computer user axiomaticly interacts with the peripheral. The peripheral is the Human–machine interface, not some software. But yes, there are the GUI and the CLI (and the TUI and the SUI) that – through the kernel – access the peripheral and react to user input.

not strictly "chicken-or-the-egg-dilemma": obviously users won't adopt Linux in case they require support for something that is not supported. Linux will only be adopted by users, whose needs are entirely satisfied. Such users will grow Linux installed base/market share, a bigger "installed base"/"market share", creates a bigger incentive to support your hardware in Linux!

  • Office users want Printers and Scanners to just work => at least bigger and more expensive Office Printers are well supported, projects like LiMux, … show this. So more Linux in the office. But that also pulls in LibreOffice, KDE Plasma 5, etc. and should lead to better software.
  • Computer players want games to just run games. => After marginalizing the competition by evangelizing DirectX, Microsoft happened to change the open-ness of their Windows platform. That motivated Valve Inc. to invest into an alternative OS for themselves. More and more games have been ported to Linux, and Vulkan + SLD audio + SDL input could do away with the unique selling proposition of Windows. Besides Valve, Sony could have interest in that.
  • etc.

INPUT edit

Keyboard and pointing device, e.g. mouse edit

The classic form-factor of the home-computer has been the desktop and later the tower PC. But relevant is the "hardware interface" to the user, and that is a non-touch screen with a diameter of 17-27 inches coupled with stereo boxes for OUTPUT and with mouse, keyboard and microphone for INPUT. A ton of other Human-machine interface devices exist for the PC: joysticks and gamepads, especially with Force feedback-stuff, drive wheels, etc.

Touchscreens edit

Are supported.[citation needed] Middleware, such as e.g. Maliit or uTouch, is available, furthermore graphical shells and GUIs are being designed with support for touchscreens in mind.

Refreshable braille displays edit

Are supported.

Voice input: Speech recognition edit

Available. Whether some special DSP is supported, is a different question. There are GCC and LLVM/Clang with excellent industry support.

Voice output: Screen readers edit

Available. E.g. Orca (assistive technology).

OUTPUT edit

Multi-monitor edit

Yes, multi-monitor setup is supported on Linux at least by AMD Eyefinity & AMD Catalyst; there are Xinerama and RandR on both X11 and Wayland.

HiDPI displays edit

Due to lack of available affordable "HiDPI"-computer monitors support for such is supposed to be[weasel words] late on desktop (Windows and Linux alike).

  • Alexander Larsson: HiDPI support in GNOME
    • GNOME 2.x worked fine with a 150 dpi monitor. Their ridiculous nonsense with forcing 96 dpi didn't do anything useful and it is incredibly hard to turn off.
  • KDE3 and KDE4 SC have settings to adjust the font-DPI and it is reported to work just fine with Retina Displays. It is a single setting and while a spinbox instead of a slider, it works.
    • Of course, there is more to HiDPI than fonts. Being able to drag a window from a standard DPI to an HiDPI monitor wont "work" (the lower resolution 1080p display has 2 cm high letters all over it). There is also the problems with pixmaps and custom QPainter widgets that also stay in pixel rather than units. While those problems are important and need a solution, the current situation is good enough for most people.
    • The issue with dragging a window from a normal monitor to a HiDPI -monitor cannot be solved using current X11 window managers. In theory, one could write a compositor that automatically scales windows depending on the monitor they are displayed in, but noone is really interested in doing that work. With Wayland this will become a non-issue!

There are computer monitors, that properly report their "physical size", so the software can make adjustments based on the "current resolution-to-diameter" ratio. For hardware that does not report, the user could be asked actively. 13" 1920×1080, a 30" 2560×1600 and a 28" 3840×2160 (16:9, 1,7:1). NONE of those is 96 dpi.

Linux for the office edit

  1. in "The Office"
  1. So why isn't Linux dominating the office desktops?
  2. Why did LiMux arrive in the year 2006, and GendBuntu in 2008 and not earlier?
  3. There are many Linux adopters, and the list is getting longer by the day. See List of Linux adopters or de:Open-Source-Software in öffentlichen Einrichtungen.
  1. ^ "AMD Radeon VDPAU Video Performance With Gallium3D". Phoronix. 2014-06-28.
  2. ^ "NVIDIA VDPAU Performance Metrics On Ubuntu 14.04 Linux". Phoronix. 2014-06-24.
  3. ^ "HID for 3.15". 2014-04-02.