Language Selection

English French German Italian Portuguese Spanish

About Tux Machines

Thursday, 06 Aug 20 - Tux Machines is a community-driven public service/news site which has been around for over a decade and a half and primarily focuses on GNU/LinuxSubscribe now Syndicate content

Search This Site

Quick Roundup

Type Title Author Replies Last Postsort icon
Story Games: LunarG, Littlewood, GOverlay, Doomtrooper, Terra Nil and The Battle of Polytopia Roy Schestowitz 05/08/2020 - 2:14am
Story KDE: How KDE is Made, Krita’s Scripting School and Plasma Browser Integration Roy Schestowitz 05/08/2020 - 2:09am
Story Python Programming Roy Schestowitz 05/08/2020 - 1:59am
Story today's howtos Roy Schestowitz 05/08/2020 - 1:53am
Story Graphics: AMD, Intel and Wayland/Wayfire Roy Schestowitz 05/08/2020 - 1:40am
Story How Librem 5 Solves NSA’s Warning About Cellphone Location Data Roy Schestowitz 05/08/2020 - 1:30am
Story Latest Linux Magazine (With Paywall) Roy Schestowitz 05/08/2020 - 12:31am
Story Android Leftovers Rianne Schestowitz 04/08/2020 - 7:39pm
Story Leftovers: LibreOffice, GNU Projects Roy Schestowitz 04/08/2020 - 6:46pm
Story Debian and Ubuntu: DebCamp/DebConfs, Advantech, Web Team and Ubuntu Weekly Newsletter Roy Schestowitz 04/08/2020 - 6:42pm

Bash Beginner Tutorial: String Operations in Bash

Filed under
HowTos

Learn to manipulate strings using a variety of string operations like getting length of a string, joining strings, extracting substrings, and much more.
Read more

Kernel: Unicore32 and IO_uring in Linux

Filed under
Linux

  • Linux 5.9 Dropping The Unicore 32-bit RISC Architecture

    It's arguably long overdue but with the just-opened Linux 5.9 kernel cycle the Unicore32 CPU architecture is being removed. 

    Unicore is a 32-bit RISC architecture developed at China's Peking University. Unicore is an ARM-like architecture. But with Unicore not being too popular and this code not seeing any maintenance for the mainline kernel paired with no upstream compiler support, it's time to gut the code out of the kernel. 

  • IO_uring Has Many Improvements Set To Go Into Linux 5.9

    Facebook's Jens Axboe who oversees the Linux storage/block code and leads the IO_uring efforts summed up the changes for Linux 5.9 as "hardening the code and/or making it easier to read and fixing [bits]." There is though a big change and that is proper async buffered reads support. That work was previously covered but didn't end up getting pulled into Linux 5.8 due to a branching difference but is now ready to go with Linux 5.9. The async buffered reads support for IO_uring has some nice performance advantages and lower CPU usage while also working its way off KThreads for the fast code path once the async buffered write support is in place. 

Why I use Ingress Controllers to expose Kubernetes services

Filed under
Server

The meteoric rise of containerization and microservices has been necessary to meet the growing demand for applications, but getting it right means overcoming some critical network orchestration challenges. Out of the complexities that developers of cloud-native applications face, strategically utilizing Kubernetes ingress controllers is among the most difficult components to understand—and among the most important.

Before diving into ingress controllers, you need to understand why networking is so important to developer workflows.

It is common for development teams to create backend API services to enable connectivity for external applications and users. In early development phases, teams often use implementations of container environments on local development machines, which more simply rely on direct container invocations through Docker Compose or similar local orchestrators for access.

However, when the time comes to shift to a shared development or staging environment and match the configuration that will be used in production, these direct-access stopgaps are no longer sufficient. The access patterns often assume trusted access, which can't be assumed in production, or they rely on static values that are likely to change in a cloud infrastructure.

Read more

libinput 1.16.0

Filed under
Graphics/Benchmarks
Linux

libinput 1.16.0 is now available.

No significant changes since the second RC, so here's slightly polished RC1
announcement text.

This has been a long cycle, mostly because there weren't any huge changes on
the main development branch and a lot of the minor annoyances have found
their way into the 1.15.x releases anyway.

libinput now monitors timestamps of the events vs the current time when
libinput_dispatch() is called by the compositor. Where the difference
*may* result in issues, a (rate-limited) warning is printed to the log.
So you may see messages popping up in the form of
  "event processing lagging behind by XYZms, your system is too slow"
This is a warning only and has no immediate effect. Previously we would only
notice (and warn about) this when it affected an internal timer. Note that
these warnings do not show an issue with libinput, it shows that the the
compositor is not calling libinput_dispatch() quick enough.

The wheel tilt axis source was deprecated. No device ever had the required
udev properties set so we should stop pretending we support this.

Touchpads now support the "flat" acceleration profile. The default remains
unchanged and this needs to be selected in the configuration interface. The
"flat" profile applies a constant factor to movement deltas (1.0 for the
default speed setting).

Events from lid or tablet-mode switches that are known to libinput as being
unreliable are now filtered and no longer passed to the caller.
This prevents callers from receiving those known-bogus events and having to
replicate the same heuristics to identify unreliable devices that libinput
employs internally.

A new "libinput analyze" debugging tool is the entry tool for analysing
various aspects of devices. Right now the only tool is
"libinput analyze per-slot-delta" which can be used to detect pointer jumps
in a libiput record output. This tool used to live elsewhere, it was moved
to libinput so that reporters can easier run this tool, reducing the load on
the maintainers.

The tools have seen a few minor improvements, e.g.
- "libinput record touchpad.yml" does the right thing, no explicit --output
  argument required
- libinput measure touchpad-pressure has been revamped to be a bit more
  obvious
- libinput measure touchpad-size has been added (as replacement for the
  touchpad-edge-detector tool)
- libinput measure fuzz has been fixed to work (again and) slightly more
  reliable

The libinput test suite has been fixed to avoid interference with the
currently running session. Previously it was virtually impossible to work
while the test suite is running - multiple windows would pop up, the screen
would blank regularly, etc.

And of course a collection of fixes, quirks and new bugs.

As usual, see the git shortlog for details.

Diego Abad A (1):
      FIX: typo on building documentation

Peter Hutterer (2):
      test: semi-fix the switch_suspend_with_touchpad test
      libinput 1.16.0

git tag: 1.16.0

Read more

Also: >Libinput 1.16 Released - Ready To Warn You If Your System Is Too Slow

18 Frameworks, Libraries, and Projects for Building Medical Applications

Filed under
OSS

Open-source is not just a license or a code-based that left free on an online repository, It's a complete concept which comes with several advantages. Moreover, the most advantage you can get from Open-source is beyond the open-code it's FREEDOM; freedom to use or re-shape it as you see fit within your project commercial or otherwise, and that depends on the license of course. You are free from the headache of license conflict legal problems but also from the dilemma of dealing with restrections and limitations which come with property licenses.

You are free from the system lock-in schemes, furthermore, you own your data, and freedom to customize the software as your structure requires and workflow demands.

The Community:

The Open-source project gains a powerful community as they gain users, the community users vary between advanced users, end-users, developers and end-users on decision-making level.

Many of the community users are providing quality inputs from their usage and customized use-case and workflow or test-runs, Furthermore, they always have something to add as new features, UI modification, different usability setup, and overall introducing new workflows and tools, and That's what makes the progress of the open-source different than non-free solutions.

While, Good community means good support, The community is a good resource to hire advanced users, developers, and system experts. It also provides alternative options when hiring developers. Unlike non-free software which are not blessed with such communities and where the options there are limited, The rich open-source community provides rich questions and answers sets that contributed by users from all around the world.

Higher education value for the in-house team

The open-source concept itself provides educational value, I owe most of what I know to open-source communities.The access to the source code and open-channels communication with the core developers is the best educational value any developer can get.

Read more

Python Programming

Filed under
Development

Journey of a Linux DevOps engineer

Filed under
GNU
Linux
Red Hat
Server

After navigating the streets of Manhattan and finding a parking spot, we walked down the block to what turned out to be a large bookstore. You've seen bookstores like this on TV and in the movies. It looks small from the outside, but once you walk in, the store is endless. Walls of books, sliding ladders, tables with books piled high—it was pretty incredible, especially for someone like me who also loves reading.

But in this particular store, there was something curious going on. One of the tables was surrounded by adults, awed and whispering among each other. Unsure of what was going on, we approached. After pushing through the crowd, I saw something that drew me in immediately. On the table, surrounded by books, was a small grey box—the Apple Macintosh. It was on, but no one dared approach it—no one, that is, except me. I was drawn like a magnet, immediately grokking that the small puck-like device moved the pointer on the screen. Adults gasped and murmured, but I ignored them all and delved into the unknown. The year was, I believe, 1984.

Somewhere around the same time, though likely a couple of years before, my father brought home a TI-99/4A computer. From what I remember, the TI had just been released, so this had to be somewhere around 1982. This machine served as the catalyst for my love of computer technology and was one of the first machines I ever cut code on.

My father tells a story about when I first started programming. He had been working on an inventory database, written from scratch, that he had built for his job. I would spend hours looking over his shoulder, absorbing everything I saw. One time, he finished coding, saved the code, and started typing the command to run his code ("RUN"). According to him, I stopped him with a comment that his code was going to fail. Ignoring me, as I was only five or six at the time, he ran the code, and, as I had predicted, it failed. He looked at me with awe, and I merely looked back and replied, "GOSUB but no RETURN."

Read more

Also: Authorizing multi-language microservices with Louketo Proxy

Linux Kernel 5.8 is Here. This is What's New

Filed under
GNU
Linux

A brand new Linux Kernel 5.8 is announced by Linus Torvalds. This kernel release is mostly a big release in terms of hardware, graphics, and other updates.
Read more

Review: Haiku R1 beta 2

Filed under
OS
OSS
Reviews

Haiku is an open-source operating system that specifically targets personal computing. Inspired by the Be Operating System (BeOS), Haiku aims to be fast, efficient, simple to use, and easy to learn. It is specifically geared toward desktop usage and maintaining a responsive desktop environment.

The Haiku project has been, to date, in perpetual development mode. Which is to say the releases to date have been labelled as being alpha or beta releases. I mention this because while the version label is R1 beta 2, the platform should probably be regarded a relatively mature project with the benefit of nearly 20 years of development behind it.

The R1 beta 2 release includes a number of new features such as improved font scaling and HiDPI support, along with the ability to work with mouse devices that offer more than three buttons. More applications have been ported and are now available through the project's software manager. The installer has mostly remained the same, however users can now exclude the installation of optional packages while setting up Haiku. New driver support has been added and there are some new options for keeping the Deskbar (a sort of combined desktop panel and system tray) out of the way.

The project's latest release is available in 32-bit (x86) and 64-bit (x86_64) builds. There are also builds for ARM, PowerPC, m68k, and SPARC architectures, however these builds are considered to be unsupported. I downloaded the 64-bit build which is available as a 955MB ZIP file. Unpacking the ZIP file presents us with a 1,108MB (1GB) ISO file we can write to optical media or a thumb drive.

Read more

Linux Kernel 5.8 “The Biggest Release of All Time” is Finally Available Now

Filed under
News

Linus Torvalds has called it “the biggest release of all time”. Check out what are the key changes in the recently released Linux Kernel 5.8.
Read more

Programming: Python, Perl, and GNOME/GTK

Filed under
Development

           

  • Why proactively clean Python 2 up?

    It seems a recurring complaint that we’re too aggressive on cleaning Python 2 up from packages. Why remove it if (package’s) upstream still supports py2? Why remove it when it still works? Why remove it when somebody’s ready to put some work to keep it working?

    I’m pretty sure that you’re aware that Python 2 has finally reached its end-of-life. It’s past its last release, and the current version is most likely vulnerable. We know we can’t remove it entirely just yet (but the clock is ticking!), so why remove its support here and there instead of keeping it some more?

    This is best explained on the example of dev-python/twisted — but dev-python/pillow is also quite similar. Twisted upstream removed support for Python 2 at version 20. This means that we ended up having to keep two versions of Twisted — 19 that still supports Python 2, and 20 that does not. What does that means for our users?

    Firstly, they can’t normally upgrade Twisted if at least one of its reverse dependencies supports Python 2 and is installed. What’s important is that the user does not have to meaningfully need or use Python 2 in that reverse dependency. It is entirely sufficient that it supports Python 2 and the user is using default PYTHON_TARGETS.

    Of course, you could argue that changing the default PYTHON_TARGETS would resolve the problem without having to proactively remove Python 2 from Twisted revdeps. Today, I’m not sure which of the two options is better. However, back when cleanup started changing default PT would involve a lot of pain for the users. We’d have to reenable 2.7 via package.use for many packages (but which ones?) or the users would have to reenable it themselves. But that’s really tangential now.

  •        

  • Python Bytes: #192 Calculations by hand, but in the compter, with Handcalcs

    Idea by Guido van Rossum to bring back the print statement.

  •        

  • PyDev 7.7.0 released (mypy integration improvements, namespace packages)

    This release brings multiple improvements for dealing with type hints as well as improvements in the Mypy integration in PyDev:

    The MYPYPATH can now be set automatically to the source folders set on PyDev and the --follow-imports flag is set to silent by default (this flag is required because only one file is analyzed at a time in PyDev as failing to do so would end up showing errors for other files).

  •        

  • PSF GSoC students blogs: Weekly Check-in #10
  • PSF GSoC students blogs: Weekly Check-In: Week 10
  • Perl Weekly Challenge 71: Peak Elements and Trim Linked List
  • The Perl Weekly Challenge #071

    With another Linked List related task, I am now enjoying it a lot. It also gives me the opportunity to work with Class in Raku. Learning Raku has changed my thinking a big way. The developer inside me is more organised than before. Also doing regular weekly challenge made me think from unit test point of view every time I come up with a solution. In fact, it dictates the design of my solution. Now with the regular Live Video Raku Reviews by Andrew Shitov gave me the insights of others Raku solutions. It is amazing how he break the code into pieces to make it easy to understand. No book can teach you that. You only learn from experience or watching video from Andrew Shitov.

    Running [The|Perl] Weekly Challenge also taught me how to manage my spare time. I use my spare time very carefully. Before I would jump to anything that excites me. Last few weeks, I have started playing with Swift programming language. I am enjoying the journey. Please checkout my Swift solution to the Task #1 of Peak Elements.

  • Mariana Pícolo: The Second milestone

    By discussing with my mentor how could the best approach be, I found out that the notifications were already grouped on the code level, but these groups were not being represented in the UI.

    In the code, there's a class named Source, which is responsible for the group. They handle the info's about the app that have sent us any notification and store them.

    There's also a class named Notification, that creates a single notification, with title, banner, and has optional parameters such as playing sounds etc.

    Each Source has an array property that contains its notification objects, which gives us the groups.

    [...]

    Lastly, I'd like to talk about GUADEC which this year was completely remote.

    This was my first talk at a conference, in a language that I'm not a native speaker. I want to thank my mentor and the GNOME community for creating a comfortable environment for the interns to talk about their projects.

DragonFlyBSD Pulls In AMD Temperature Driver, SMN Support From FreeBSD

Filed under
BSD

DragonFlyBSD has been generally working out well for AMD Zen systems sans a few motherboard specific woes, but now is getting even better thanks to importing some new drivers from FreeBSD.

Most exciting is the amdtemp driver now being imported from FreeBSD to DragonFlyBSD. This driver allows for temperature monitoring on AMD Family 0Fh, 10h, 11h, 12h, 14h, 15h, 16h, and 17h processors. The AMD Family 17h support covers Zen 1 as well as Zen 2, including the likes of Threadripper and EPYC.

Also imported from FreeBSD is the amdsmn driver. This driver is for the AMD System Management Network (SMN) support on AMD Zen systems.

Read more

BunsenLabs Linux Lithium Release Hits Stable After Two Years, Based on Debian Buster

Filed under
Debian

After more than two years in development, BunsenLabs Linux Lithium release has finally hit the stable channel today for this OpenBox-based and lightweight Debian GNU/Linux derivative, a continuation of the acclaimed CrunchBang Linux.

The BunsenLabs Team is proud to announce today the official release of BunsenLabs Lithium, a new major release based on the latest Debian GNU/Linux 10 “Buster” operating system series.

As expected, BunsenLabs Linux Lithium is packed with lots of goodies, including the ability to install the distribution on newer computers that use Secure Boot, a new look and feel featuring a brand-new dark theme with custom-colored Papirus icons by default, and more modularity for user to fully customize the distro to their needs.

For example, users can now replace the default Openbox window manager with another desktop environment and keep many of the settings, such as menu item, key bindings, and autostarted apps. Also, the BunsenLabs session now uses jgmenu by default and can coexist with a default Openbox or Xfce sessions.

[...]

The BunsenLabs Linux Lithium release is available for download right now from the official website as a 64-bit live ISO and a minimal, CD-sized 32-bit non-PAE version, which can be extended to full-size by installing the bunsen-meta-all or bunsen-meta-lite metapackages.

Read more

Direct: [STABLE RELEASE] BunsenLabs Lithium Official ISOs

Also: [Debian-Based SparkyLinux] July 2020 donation report

Syndicate content

More in Tux Machines

Linux Plumbers Conference and Kernel Developments in METRICFS, FS-Cache, HWMON

  • Application Ecosystem Microconference Accepted into 2020 Linux Plumbers Conference

    We are pleased to announce that the Application Ecosystem Microconference has been accepted into the 2020 Linux Plumbers Conference! The Linux kernel is the foundation of the Linux systems, but it is not much use without applications that run on top of it. The application experience relies on the kernel for performance, stability and responsiveness. Plumbers is the perfect venue to have the kernel and app ecosystems under one roof to discuss and learn together and make a better application experience on the Linux platform.

  • Google Opens Patches For "METRICFS" That They Have Used Since 2012 For Telemetry Data

    The METRICFS file-system has been in use internally at Google since 2012 for exporting system statistics to their telemetry systems with around 200 statistics being exported per machine. They are now posting the METRICFS patches as open-source for review and possible upstreaming. A "request for comments" on METRICFS was sent out today on the Linux kernel mailing list. Their motives for now finally publishing these patches is as a result of the recent Statsfs proposal by a Red Hat engineer for a RAM-based file-system for exposing kernel statistics to user-space. METRICFS has a similar aim to Statsfs.

  • FS-Cache Rewritten But Even Its Developers Are Hesitant About Landing It For Linux 5.9

    FS-Cache provides the Linux kernel with a general purpose cache for network file-systems like NFS and AFS but also other special use-cases like ISO9660 file-systems. FS-Cache has been rewritten for better performance and reliability, among other benefits, and while it has been sent in as a pull request for Linux 5.9 even its own developers provide some caution over landing it this cycle. FS-Cache has seen work to "massively overhaul" it with a variety of improvements. The new and improved FS-Cache will now use async direct I/O in place of snooping for updated pages that in turn means less virtual memory overhead. The new FS-Cache implementation has simpler object management, changes to object invalidation, and a variety of other work.

  • Corsair Commander Pro Driver Sent In To Linux 5.9

    The hardware monitoring (HWMON) subsystem has a new driver that is likely to excite some enthusiasts wanting greater control over thermal monitoring and fan control for their systems. The previously covered Corsair Commander Pro Linux driver is now coming with Linux 5.9. The Commander Pro offers six 4-pin fan ports with PWM controls, two RGB LED channels, and four thermal sensors. An interested user/developer created this Linux driver without the support from Corsair. The thermal and fan control support is in place with this new HWMON driver while the RGB lighting controls are available from OpenRGB.

Graphics: Mesa 20.1.5, Intel and AMD

  • mesa 20.1.5
    Hi all,
    
    I'd like to announce Mesa 20.1.5, the fifth bugfix release for the 20.1 branch.
    
    The next bugfix release is planned for 2 weeks from now, on 2020-08-19.
    
    Cheers,
    Eric
    
    
  • Mesa 20.1.5 Released For The Latest Stable Open-Source Vulkan / OpenGL Drivers

    Mesa 20.1.5 provides the latest stable open-source Vulkan/OpenGL graphics drivers for the Linux desktop as the newest bi-weekly milestone. Mesa 20.2 remains under development as this quarter's feature release due out in about one month's time. Mesa 20.2 is running behind schedule as it should have been branched around the end of July but has yet to happen. In any case, more Mesa 20.2 feature work continues to land and more than likely will ship sometime in September. But until that occurs, Mesa 20.1 is the latest stable series.

  • Intel Workaround For Graphics Driver Regression: "The Platform Problem Going Crazy"

    Sent out over the weekend was a patch series for the Intel Linux kernel graphics driver entitled "Time, where did it go?" This set of 42 patches aims to provide incremental improvements to the driver to offset a performance regression in Linux 5.7 that Intel hasn't been able to track down. This increased complication of the driver to offset the regression is now under the microscope. The set of 42 patches by longtime Intel open-source developer Chris Wilson provides incremental improvements to reduce the execution latency. He was upfront that the intent of these improvements are to "basically offsets the small regressions incurred when compared to [Linux kernel] 5.7."

  • RadeonSI Resorts To Disabling SDMA For GFX9/Vega Due To APU Issues

    AMD's RadeonSI Gallium3D driver has resorted to disabling SDMA (System DMA) async DMA engine support for all GFX9/Vega hardware due to issues plaguing some APUs. While SDMA has the potential of helping performance, GFX9 (Vega) is now seeing the support disabled due to bugs seeming to only affect APUs. Though it's not entirely surprising as the open-source AMD Radeon Linux driver also is not enabling SDMA at this point for GFX8 (Polaris) or GFX10 (Navi) hardware either. Opened three months ago was the merge request for disabling SDMA on GFX9 and to back-port it to the stable series as well. Longtime AMD open-source developer Marek Olsak noted, "This is somewhat a radical step. All opinions welcome."

Audiocasts/Shows: Destination Linux, FLOSS Weekly, CrowPi and Linux Headlines

           
  • Destination Linux 185: Let’s Fix Linux Tech Support

    On this week’s episode of Destination Linux, we’re transitioning from the topic of Bug Reporting last week to Tech Support in Linux this week. We’re going to check in on Wayland’s progress with Plasma’s new release, we have an sandbox MMO for gaming, and our popular tips/tricks and software picks. All of this and so much more, coming up right now on Destination Linux.

  •                 
  • FLOSS Weekly 590: Rensselaer Center for Open Software - A Community of Open Source Developers

    RCOS is a group of RPI students who work on open-source projects. The goal of RCOS is to empower students to develop open-source solutions to real-world problems. They have created 300+ open source projects over the years. Doc Searls and Simon Phipps talk with Wes Turner, a Senior Lecturer in the Department of Computer Science at Rensselaer Polytechnic Institute (RPI) and the Director of the Rensselaer Center for Open Source. They discuss teaching open source and the hardships that come along with that, especially with e-learning. They also discuss what the future could look like if we could have more open-source programs like RCOS in other universities.

  •        
  • The Best Raspberry Pi Laptop Kit | CrowPi 2 Review

    The Best Raspberry Pi Laptop Kit | CrowPi 2 Review of the kit, usage, and examples. 

  •        
  • 2020-08-05 | Linux Headlines

    LibreOffice 7 dodges its rebranding controversy, the Pinta bitmap editor sees its first new version in 5 years, Red Hat accommodates certification seekers with new pandemic-friendly rules, and ownCloud 10.5 brings background sync changes to the platform.

Gaming on Linux in 2020: Way Better Than You Think

Linux has always been seen as a rather rigid operating system for gaming. Many games used to be unavailable on Linux, and the ones that you could play used to have all sorts of bugs. However, the situation’s not the same anymore with Ubuntu 20.04. The OS is way better for gaming than you may think. In certain situations, games even run better on Linux than on Windows. This is quite impressive so let’s see what lead to Linux’s improvements. Read more Also: Narrative-driven adventure Impostor Factory has new teaser trailer