Linux - Reddit – Telegram
Linux - Reddit
739 subscribers
4.14K photos
207 videos
39.7K links
Stay up-to-date with everything Linux!
Content directly fetched from the subreddit just for you.

Powered by : @r_channels
Download Telegram
Superpaper 2.0.0 - I wrote a multi-monitor wallpaper manager for Linux that enables you to have precise control of your wallpaper(s) on any desktop environment

Early 2019 I decided to switch my home PC to Linux, however I couldn't find a good enough replacement for DisplayFusion, my multi-monitor tool of choice on Windows. I took a look at Nitrogen, Hydrapaper, and Syncwall which seem to be the common recommendations. However I wanted the tool to:

* span image across all monitors
* set different images on monitors
* do timed slideshow
* support KDE Plasma
* and a bonus would be: support hotkeys (or be noscriptable to enable me to do this)

Unfortunately none of the popular options do all of the above; and as far as I can tell, none of them support spanning images on KDE Plasma. Supporting Plasma turned out to be a bit troublesome but doable, as we'll find out.

So I quickly cobbled together a proof of concept to see if I could do it (multi image wallpaper at this point) and it did seem doable. Superpaper 1.0 was a command line only utility that needed to be configured with preference files. Around this time I realized that since I'm building the tool from ground up, I can fix an issue that I had had with multi-monitor wallpaper spanning for a long time. You see my two displays have always been slightly different size and resolution. This means that their pixel sizes are not equal and this then means that the wallpaper image is not scaled identically on the displays, and this breaks the alignment of the span. A new feature to implement! Now I wanted to replace DisplayFusion on Windows as well.

Early summer 2019 I had an implementation of this pixel density correction that also could take display bezels into account for even better spanning, and so I released Superpaper 1.1 with a rudimentary GUI as a portable package. However the pixel density and bezel feature could not handle displays in arbitrary arrangements, only a row of displays. This was unsatisfactory, but I didn't know how to fix it at the time.

During Christmas holidays I came up with a solution to the issue; it required a large overhaul of multiple things. I needed to ask the user to tell how their displays are actually positioned on their table to be able to tell where their *pixels of different sizes* actually are positioned, since the resolution information from the OS does not tell this. With this information I could make the image shown on the displays span beautifully. I had to redesign the wallpaper algorithm to support this new data, and support bezels on top and bottom edges as well, in addition to on the sides.

While working on all these improvements I realized one last missing piece of the spanning problem. You see even when the image is scaled correctly on the different displays, there was still an imperfection with the produced wallpaper. Horizons, mountain ranges, water surfaces etc looked bent when comparing the images across the display boundary. I realized that this happens because the displays are rotated to face the viewer. If they were flat against a wall this issue doesn't come up. Designing a fix to this perspective issue took a while; and I wouldn't have ever guessed to get to use some of the same maths that self-driving cars use to see in my wallpaper tool.. I wanted to compute what the wallpaper image has to look like so that it seems that it is a one flat image running behind all the displays. This would fix the bent/cut lines/shapes. The solution uses the maths with which robotic vision reconstructs a flat surface in 3D from a camera image; a road surface for example. I wrote a bit of a wiki page demonstrating this in action: [here](https://github.com/hhannine/superpaper/wiki/Wallpaper-spanning-with-advanced-options:-what-the-pixel-density-and-perspective-corrections-are-about).

So here we are at version 2.0 with lots of improvements, such as:

* New GUI: [screenshot](https://raw.githubusercontent.com/hhannine/Superpaper/branch-resources/gui-screenshot.png)
* Pixel density and bezel corrections work on arbitrary display
arrangements
* The above described perspective correction
* AppImages should run on more systems

That is all my target features in one application, and even some novel stuff on top. Superpaper aims to support all DEs & WMs, and already supports a fair number. Drop me a message or an issue at GitHub if something doesn't quite seem to work right.

Finally, a few words on KDE (and XFCE is similar). The reason why it is hard to support spanning on KDE is that Plasma has been designed in a way that every screen has its own desktop, and therefore wallpaper. There is no concept of continuity from one screen to another from the perspective of the desktop. Whereas every (most?) other DE in existence has opted to share the desktop between the screens, which means that the desktop only has one wallpaper image that then can span all of the monitors. So to span an image on KDE Plasma, it needs to be cut into correct pieces which then are set individually on their corresponding displays. At the point of needing to implement this I had luckily already thought about the pixel density thing, which meant that I had this cutting part of the process already down and we were off to the races.

​

[Superpaper on GitHub](https://github.com/hhannine/superpaper/), [Superpaper on PyPI](https://pypi.org/project/superpaper/), new release changelog: [v2.0.0](https://github.com/hhannine/superpaper/releases/tag/v2.0.0)

​

TL;DR:

Superpaper is a multi-monitor wallpaper tool that supports (aims to support) all desktop environments / window managers, and it just got a big update. Changelog: [v2.0.0](https://github.com/hhannine/superpaper/releases/tag/v2.0.0)

Check out these images demonstrating the spanning corrections compared to the simple span:

1. No effects: [Simple span](https://raw.githubusercontent.com/wiki/hhannine/superpaper/images/sunset-behind-moun-irl-simple.jpg)
2. Pixel density and bezel fix: [Advanced span 1](https://raw.githubusercontent.com/wiki/hhannine/superpaper/images/sunset-behind-moun-irl-ppi.jpg)
3. Pixel density + bezels + perspectives fixes: [Advanced span 2](https://raw.githubusercontent.com/wiki/hhannine/superpaper/images/sunset-behind-moun-irl-persp.jpg)

These are from this [wiki page](https://github.com/hhannine/superpaper/wiki/Wallpaper-spanning-with-advanced-options:-what-the-pixel-density-and-perspective-corrections-are-about) going a bit more into detail what these do.

https://redd.it/g6l5lj
@r_linux
Panfrost: first 3D render, including basic texture support, on Bifrost chip (Mali G31)!

The Panfrost project building a free, Open Source graphics driver for modern Mali GPUs has reached a new milestone: the first 3D render, including basic texture support, on a Bifrost chip (Mali G31)!

[https://www.collabora.com/news-and-blog/blog/2020/04/23/from-bifrost-to-panfrost-deep-dive-into-the-first-render/](https://www.collabora.com/news-and-blog/blog/2020/04/23/from-bifrost-to-panfrost-deep-dive-into-the-first-render/)

https://redd.it/g6m0ly
@r_linux
Dolphin (KDE's file manager) improvements; gestures for touchscreens and inertial scrolling land in Okular (document viewer); and a slew of new features for Kdenlive (video editor), are some of the things in today's apps release
https://kde.org/announcements/releases/2020-04-apps-update/

https://redd.it/g6mbhp
@r_linux
Always learning something new. Used Terminator for several years but just learned it could do this

I've used [**Terminator**](https://terminator-gtk3.readthedocs.io/en/latest/index.html) for a couple years. I knew Terminator could do multiple panes/windows and use that feature often.

Recently I searched for a multi-window terminal that also supported concurrent multi-window CLI entry. I searched because I didn't think that Terminator supported that.

One of the first hits was an article about top applications and it surprised me that Terminator was listed.

You have to look under the [**Grouping Menu on Terminator to turn ON/OFF Group broadcast of keystrokes.**](https://terminator-gtk3.readthedocs.io/en/latest/grouping.html)

*example use-case* \- say you have a bunch of servers/VMs/containers and need to config/edit/execute something on all of them in a one-off use (instead of writing a ansible etc noscript for multi-use).

Just goes to show RTFM :-)

https://redd.it/g6mm5b
@r_linux
Feeling lost regarding my 4K Monitor

I'm currently trying to switch to Linux on my desktop machine. I own a 4K Monitor that I want to keep using. I tried installing KDE, which looks great and supports fractional scaling but that doesn't offer the snappiness that I'm looking for. It just feels slow. Other DEs don't seem to properly support fractional scaling, which means that either text is too small (100%) or too big (200%).
It seems like Gnome + Wayland should work but I'm not sure how stable the combination is. Ideally, I just want my computer to work reliably.
Ah, I also tried Pantheon but couldn't get it to start (on Arch).

Maybe someone has an idea?

https://redd.it/g6xbnp
@r_linux
20.04 comes with Fingerprint locks !!!
https://redd.it/g6ygan
@r_linux
Are you happy with Snap?

Snap packages is a prominent feature recently released in Ubuntu 20.04 and since its an LTS release, it must be here to stay. How do you feel about this new packaging system compared to the good old apt-get?

With robust and time-tested tools like synaptic and aptitude, I think apt was doing a great job already, so what was the need for Snap? If the goal was to create one standard packaging system across all distros, then that will only work if all other distros also unanimously adapt Snap but until that happens, upstream developers will have to ship both apt/dnf as well as snap versions of their apps. So, developers' work has increased or decreased?

https://redd.it/g718qt
@r_linux
Tech preview: NVIDIA precompiled RHEL8 packaging improvements, no GCC required

Join the [tech preview](https://developer.download.nvidia.com/compute/cuda/preview/repos/rhel8/x86_64/README.html)

Precompiled driver kmod packages provide the ability for users to stay on tested driver and kernel combinations, improve stability and reduce installation time, and include user control of driver branch selection via modularity streams. The new approach neither requires gcc and kernel headers installed nor EPEL enabled.

The source files for these driver kmod packages are compiled in advance and then linked at installation time, hence these are called "precompiled drivers".

These driver packaging improvements are open source https://github.com/NVIDIA/yum-packaging-precompiled-kmod in the form of RPM .spec templates and provide a path to support custom kernels with NVIDIA drivers.

https://redd.it/g6vcx3
@r_linux
Kdenlive 20.04.0 is out!

The highlights include major speed improvements due to the Preview Scaling feature, New rating, tagging sorting and filtering of clips in the Project Bin for a great logging experience, Pitch shifting, Multicam editing improvements and OpenTimelineIO support. Besides all the shiny new features, this version comes with fixes for 40 critical stability issues as well as a major revamp of the user experience.

[https://kdenlive.org/en/2020/04/kdenlive-20-04-is-out/](https://kdenlive.org/en/2020/04/kdenlive-20-04-is-out/)

https://redd.it/g73bqz
@r_linux
Debian popcon stats of flatpak & snap

Flatpak: [https://qa.debian.org/popcon.php?package=flatpak](https://qa.debian.org/popcon.php?package=flatpak)

Snap: [https://qa.debian.org/popcon.php?package=snapd](https://qa.debian.org/popcon.php?package=snapd)

https://redd.it/g73yvz
@r_linux