Reddit

Subscribe to Reddit feed
All things Linux and GNU/Linux -- this is neither a community exclusively about the kernel Linux, nor is exclusively about the GNU operating system.Linux, GNU/Linux, free software...
Updated: 55 min 36 sec ago

Thinking about building a new PC, AMD or nVidia for GPU?

Thu, 2017-05-25 17:42

What's the most stable solution that will meet the following requirements?

  • Able to run OpenCL code

  • Able to drive three monitors

  • Tear-free video playback

  • Costs $200 to $300

I don't really care about gaming performance. I really, really care about stability.

Edit: Also, I'm fine with binary drivers.

submitted by /u/yotta
[link] [comments]

Mesa 17.1.1 Released

Thu, 2017-05-25 17:01

error when sudo apt-get upgrade {libvorbis0a:i386}

Thu, 2017-05-25 15:37

When upgrading or installing packages, I am constantly getting this error:

dpkg: unrecoverable fatal error, aborting: files list file for package 'libvorbis0a:i386' contains empty filename E: Sub-process /usr/bin/dpkg returned an error code (2)

please help!

submitted by /u/KookyBruh101
[link] [comments]

Why is vim the most popular text editor?

Thu, 2017-05-25 13:33

As said in the title why is it the most popular? There are many text editors out there but what makes vim so special?

submitted by /u/Linuxmeister
[link] [comments]

Can we talk for a short moment about the "perceived" shortcomings of Wayland?

Thu, 2017-05-25 12:23

Wayland does not need to be introduced, I guess, neither does X11/X.Org.

Wayland is slowly being introduced more and more into the Linux world, with a few leading distributions already shipping it. However, I constantly see misconceptions floating around here in /r/linux about both, Wayland and X11. Some of them for sure on my end. So this post is here to clear some of these up and also highlight that Wayland does not seem to be the silver bullet which it constantly is shilled for.

Please correct any misunderstandings that I have, that is what this is for. So let's just head head first in and see where we end up, shall we?

Basics

Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. The compositor can be a standalone display server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or other display servers.

That's the most important part, Wayland is not a display server or compositor, it is a mere protocol.

Part of the Wayland project is also the Weston reference implementation of a Wayland compositor. Weston can run as an X client or under Linux KMS and ships with a few demo clients. The Weston compositor is a minimal and fast compositor and is suitable for many embedded and mobile use cases.

The reference implementation of that protocol is Weston, which is doing the actual work.

That means that whenever people talk about Wayland, most of the time they seem to be talking about Weston, which is just one implementation. Another is the GNOME Shell, whatever KDE is working on and sway.

Fragmentation

When Canonical announced that they'd drop Unity, people cheered that that means less fragmentation. Most interestingly, people cheer for Wayland even though it means more fragmentation.

Why does it mean more fragmentation? The Wayland protocol does specify everything one needs to get windows and graphics on the screen, but it does not specify a lot of other stuff which we currently take as granted. That means that every compositor project is free to implement these missing features however they'd like, and the other compositor project might or might not (let's face it, that's what's going to happen) pick that up. The likelihood that we'll end up with a lot of duplicated and incompatible work and implementations is very, very good. Because that is what history has showed us. People like to cite NIH "syndrome" for people writing new solutions, but I believe there is another important factor: Most programmers who work on FLOSS projects enjoy doing so (also in their spare time) and writing everything from scratch gives you a warm fuzzy feeling inside. That means that even if a perfectly suitable solution exists, it's quite likely that someone will duplicate that solution just for the pleasure of writing code.

And Wayland does currently not provide a lot of means to mitigate this in any way, quite the opposite, they actual encourage it by saying that these missing features are not considered in the scope of Wayland.

Missing features

I'll now try to list all the missing features that I know from the top of my head.

No network transparency

X11 is by default "network transparent", but what does that mean? A short analogy, X11 is basically the same as a "multiplayer by default" game. A network layer is part of the core concept which allows to send draw commands and pixel buffers over the wire. That allows that the client and the server do not need to run on the same machine, they do not even need to run on the same planet (technically, the round trip time would be kinda annoying, though).

This allows to run the display server with all applications on one machine and to draw the GUI on a completely different one. You get this "for free" with X11, but of course that layer is still there on a local machine which costs some performance.

Wayland is local and does not define any sort of network layer what-so-ever, neither does Weston implement it.

No way to grab the (whole) screen

Wayland does not specify any way to allow an application to grab the whole screen. That is done because of security implications (which I will come to later) but also removes a plethora of applications which people rely on:

  • Desktop sharing (VNC, remote control software, etc.)
  • Desktop recording
  • Screenshot applications
  • Color grabbers/pickers
  • Utilities like xzoom
  • Desktop annotation software (Ardesia, etc.)
No way to manipulate or query single windows

It does also not specify a way to manipulate or query single windows, again for security reasons.

  • Utilities like wmctrl
  • Utilities like xwminfo
  • Devilspie2
No way to query the position of the mouse

Again, for security reasons.

  • Utilities like xwminfo (which require you to select a window)
  • Screenrule (the "Track the mouse" feature)
No way to register global hotkeys

Again, for security reasons.

  • Every application which would like to register hotkeys (Media Players, etc).
No way to modify properties of the whole screen

Also there is no way to change properties of the whole screen (resolution, gamma, etc.), again for security reasons.

  • Redshift
  • Utilities to configure the display (arand, etc.)
No concept of Window Managers

There is no concept for window managers anymore, the window managing part and the display server are rolled into one.

Configurability goes out the window

libinput, which is advertised as the main library every compositor should use, has at one of its main features its lack of configuration possibilities. I do understand that configuration options make everything more complicated, but simply assuming that "this is the way everyone is using it" is simply wrong on so many levels, because there are people which are unable to use a computer like the rest of us simply because of physical limitations and/or restrictions.

Only for Linux

There is no intention to make Wayland/Weston available for operating systems beyond Linux, or at least make an effort to make sure that it is easily portable.

Implications of these missing features

As said earlier, these are not part of Wayland because they are considered to be out of scope for Wayland. Every compositor project is free to implement these features as they see fit, which means a lot of duplicated effort, fragmentation and incompatibilities between the different desktop environments. Of course, the compositor projects could define a protocol of their own which is used by everyone, but every time such a standard is not "forced" we will end up with multiple variations and incompatible definitions and implementations.

We can already see this with the replacement of Redshift. Instead of using one solution that does its job very well, we now have two different implementations (GNOME and KDE) which does the same job with less features.

Let's talk about security

Now, most of the aforementioned features are missing because of security concerns. It is often cited that under X11 any application could grab your keyboard and log all keystrokes, including passwords. That is true. However, Wayland itself does very little to defy malicious applications and on its own is very toothless. If malicious code runs on your machine, it does already have access to everything, and depending on the system a root exploit might only be a few instructions away. What is an application allowed to do by default under Wayland?

  • Access all your files (~/).
  • Access the network, including establishing connections which can be used to access your machine from the outside.
  • Modify your environment. That includes changing the PATH to include a directory with malicious scripts and applications.
  • Modify running applications. I'm not a hundred percent sure, but I believe that, withing the user session, an application can manipulate another applications memory.
  • Open windows which are used to impersonate another application, for example gsudo.

So, by default, Wayland does nothing to secure your computer against malicious applications, it does merely add a barrier of inconvenience (and maybe not even that.

The more important question is: Why are you running applications that you do no trust? We are lucky to live in a world of signed repositories and packages, which means that we can basically trust every application which we install through these means. Of course, "random" PPAs are a completely different matter, and so is compiling from source or downloading ready built applications from random websites. But as I said, Wayland does little to help you there, you'd have to sandbox the applications to a level which would make them close to unusable.

Misconceptions about X11

Wayland is often cited as rescuer when it comes to vsync, however, there is no foundational problem with vsync on X11. It's been working fine for me for quite some time, and so does multimonitor support. But maybe I'm one of the few lucky which happen to have the "correct combination of hardware" for it to work (mind you, I'm buying parts myself, my machine is basically a Frankenstein creation of different parts, I even have two different pairs or RAM sticks).

Also, many people seem to be under the assumption that X11 needs to be burned on a stake, but X11 is fundamental for many features and businesses. Also X11 is not going anywhere within the next decade or two because of that.

Conclusion

From what I can gather, Wayland is not the silver bullet it is always treated as. But neither is it inherently bad or wrong, it simply is a completely different approach for a different world. From my point of view, it seems like Wayland is designed for "closed" devices like tablets and smartphones, with a "full fletched desktop" second in line.

I'm happy to get any misconceptions of my own corrected, so feel free to do so. And just to clear that up, if somebody calls me "generic anti-change" or "just part of a vocal but small minority" I will figure out where you live and I will shit on your doorstep.

submitted by /u/Bobby_Bonsaimind
[link] [comments]

Alpine Linux 3.6.0 released

Thu, 2017-05-25 11:03

Pages