Language Selection

English French German Italian Portuguese Spanish

GNOME

Initial work on GNOME Gingerblue

Filed under
GNOME

I began work on GNOME Gingerblue on July 4th, 2018, two years ago and I am going to spend the next four years to complete it for GNOME 4.

GNOME Gingerblue will be a Free Software program for musicians who would compose, record and share original music to the Internet from the GNOME Desktop.

The project isn’t yet ready for distribution with GNOME 3 and the GUI and features such as sound recording must be implemented.

Read more

Also: The First Milestone by Mariana Pícolo

Epiphany GSoC Milestone

Filed under
GNOME
Web

During the past month I have been hacking on Epiphany’s Preferences dialog. The first piece of submitted work was splitting the dialog source code files into smaller ones. The split didn’t reflect any visual changes on Epiphany’s user interface so I decided to postpone writing this blog post.

Read more

GNOME: Mutter, Shell, Fractal and More

Filed under
GNOME
  • Georges Basile Stavracas Neto: This Month in Mutter & GNOME Shell | May and June 2020

    The volunteers and contributors working on Mutter and GNOME Shell have been busy in the past couple of months — so much so that we didn’t have bandwidth to write the May development report!

    As a consequence, this development summary will have an above average number of changes to highlight.

  • Jonas Ådahl: Splitting up the Frame Clock

    Readers be advised, this is somewhat of a deep dive into the guts of Mutter. With that out in the open, lets start!

    Not too long ago mutter saw a merge request land, that has one major aim: split up the frame clock so that when using the Wayland session, each CRTC is driven by its own frame clock. In effect the goal here is that e.g. a 144 Hz monitor and a 60 Hz monitor being active in the same session will not have to wait for each other to update, and that the space they occupy on the screen will draw at their own pace. A window on the 144 Hz monitor will paint at 144 Hz, and mutter will composite to the monitor at 144 Hz, while a window on the 60 Hz monitor will paint at 60 Hz and Mutter will composite to the monitor at 60 Hz.

  • GNOME Shell + Mutter Off To A Good Start For Summer 2020

    The GNOME Shell and Mutter have seen a lot of work come together nicely over the past two months.

    The GNOME Shell blog is out with their recap of development work that landed over the months of May and June.

  • Important Patches Land To Improve GNOME's Multi-Monitor Experience With High Refresh Rates

    If you have say a 144Hz gaming monitor as well as a conventional 60Hz secondary display or any other multi-monitor configuration with different refresh rates, there is now another reason to get excited for GNOME 3.38.

    [...]

    This is very important for improving the multi-monitor experience with such configurations as up to now capping the refresh rate to match is a less than desirable experience. This work landed today in Mutter for September's release of GNOME 3.38. This next release is shaping up to be quite exciting with the plethora of optimizations to already land thus far. It is important to note that this multi-monitor improvement only benefits the GNOME Wayland session and not under X11.

  • Alejandro Domínguez: Refactoring Fractal: Remove Backend (II)

    So the time came for removing the Backend struct finally! The bits that were left in the previous patch have been removed, which were not just state but a ThreadPool and a cache for some info. Those were fitted in AppOp without too much thought on consistency of it.

    But what does this actually mean for the internal structure of the code?

    The result is that any state or utility that was needed for requests and modifying the UI is held only from a single place in the app. With it, the loop in Backend has been removed as well, and instead of sending messages to the receiver loop from the backend, those are sent from a spawned thread (to keep the UI thread unlocked) that sends the HTTP request directly and retrieves the response. Put in a simpler way, I replaced message passing to the backend loop with spawning threads, which was done anyways in the loop to be able to have multiple requests at the same time.

    I acknowledge that doing this kind parallelism with system threads in 2020 is a very crude way of doing the task, to say the least, but using coroutines requires a significant amount of work in other areas of the app right now.

  • GSoC 2020: the first milestone

    During the community bonding period, I had a video call with my absolutely amazing mentor Alberto, who told me about GNOME culture, and about his inspiring journey with GNOME as contributor. In the last month, I have been welcomed by the community and am very proud to be contributing to GNOME.
    Here’s a summary of the technical work that has been done in the last month.

  • Marcus Lundblad: Summer Maps

    Since it's been a while since the last post, I thought I should share a little update about some going ons with Maps.

Is GNOME or Unity the desktop for you?

Filed under
GNOME

I wrote about the fantastic new(ish) distribution Ubuntu Unity, and that post exposed serious division and opinions surrounding the Linux desktop. It wasn't so much an "I dislike Unity or GNOME," as it was more along the lines of full-blown hatred for one or the other. At least on one side of the spectrum--the other side was fandom.

It's clearly a love or hate relationship with these desktops.

I understand such an issue is a matter of taste. I prefer a modern take on the desktop that performs in a very efficient way, but many others prefer the old-school desktop metaphors, found in the likes of Cinnamon, Mate, and KDE.

Neither opinion is wrong--that's the beauty of opinion.

I'm taking another approach to the comparison between GNOME and the Unity desktop. I highlight the pros and cons of each and then suggest which users would be the best fit for either desktop. There is no scientific method going on here. I've been using and covering Linux for more than 20 years, so it's all about experience and knowing how the evolution of the Linux user has changed over the years. With that said, let's take a look at GNOME and Unity.

Read more

Arc Menu 47, Popular Gnome Extension Released With New Layout

Filed under
GNOME

Arc Menu 47, Popular Gnome Extension Released With New Layout

Arc Menu v47 with a new menu layout called “Tognee” is now available for the download. Arc Menu is a Gnome shell extension designed to replace the standard menu found in Gnome 3.

“Flip Layout Horizontally” and “Searchbar Location” options is now available in traditional panel layouts.

Read more

GNOME Shell Review: Minimal Desktop with Great Performance

Filed under
GNOME
Reviews

If I had to guess, I would probably say that a huge majority of Linux users have/had used GNOME Shell in one way or another. It’s the default Desktop Environment on a huge number of very popular Linux distributions, including Ubuntu, Fedora, and Pop!_OS, and it’s an option for installation on even more. This GNOME Shell review will cover performance, user experience, and recommendations on who will find GNOME Shell to be a good fit.

Read more

KDE and GNOME: Plasma 5.19 in Groovy Gorilla, GSoC and Fractal

Filed under
KDE
GNOME
  • Plasma 5.19 testing in Groovy Gorilla

    Are you running the development release of Kubuntu Groovy Gorilla 20.10, or wanting to try the daily live ISO?

    Plasma 5.19 has now landed in 20.10 and is available for testing. You can read about the new features and improvements in Plasma 5.19 in the official KDE release announcement.

  • GSoC Review 1 - Qt3D based backend for KStars

    In the fourth week of GSoC, I worked on adding support for Skybox which supports the projection modes implemented last week. I also added the grid implementation in KStars based on the prototype.

  • GSoC ’ 20 Progress: Week 3 and 4

    The past two weeks did not see as much progress as I would have liked because of my university exams and evaluations. Now, let’s focus on the work that I could do before I got swamped with the academic work and term exams.

    I started the third week by working on drafting a basic QML display of the subtitle model items, like the position of the subtitles in the timeline. I drafted a basic delegate QML model to display the start positions of each subtitle line. Then I began working on integrating the back-end part (which I had mentioned in the previous post) with the basic front-end part (displaying the position of the subtitles).

    In this process of integrating the subtitle model with the QML delegate model, I encountered a few logical errors with my code and some connections with the Subtitle Model which I had completely overlooked. It was also during this time that I realised I had missed out some key functions while writing the subtitle model class.

  • Google Summer of Code 2020 – week 4 and 5

    Hi, today I will talk about my week 4 and week 5 and bring some news!

    The last post was short but this one will make up for it, explaining some important bits, and changes, in the structure of mark that changed/improved during the first month of coding in GSoC.

    In week 4, I documented a huge part of the existing code, although there is still a need for some updates. Currently in week 5, I am fixing some bugs of the new logic and I will document the newly created Painter class (more information below), also start developing the logic for text annotation.

  • Fractal: Refactoring and the review process

    In this year GSoC, Alejandro is working on Fractal, moving code from the backend to the client, to try to simplify the code used to communicate with the matrix.org server and maybe in the future we can replace fractal-matrix-api with the matrix-rust-sdk. And then we'll have less code in our project to maintain.

    This is a great work, something needed in a project with a technological debt of several years. I created this project to learn Rust, and also I was learning about the matrix protocol during the project build. And other contributors do the same. So we've been building one thing on top another for a lot of years.

    In this kind of community driven projects it's the way to go. For some time we've people interested and developers think about the design and start change some parts or to write new functionality following a new design pattern. But voluntary developers motivation change in time and they left the project and the next one continues the work with a different vision.

Arc Menu 47 Released with New Layout, Other Improvements

Filed under
GNOME

A new version of Arc Menu, the popular app launcher extension for GNOME Shell, is now available to download.

Arc Menu v47 includes a new menu layout (called “Tognee”, and pictured above), adds the option to rank installed software in alphabetical order (very handy), and introduces a new (and entirely opt-in) “frequent apps” view.

Mouse scrolling and keyboard navigation is said to be improved in this release; application context menus and tooltips boast better contrast; and there are new preset themes.

The icon picker, which lets you set a different menu icon, boasts some UI tweaks to make sifting through and finding glyphs a touch faster and saner. A selection of new panel icons are also said to be available include an openSUSE icon.

Also look out for new “Flip Layout Horizontally” and “Searchbar Location” options available in traditional panel layouts.

Finally, Arc Menu 47 requires GNOME 3.36. You can continue to use older versions of the menu on GNOME 3.34 and earlier, you just won’t get all of the ‘new’ stuff mentioned in this roundup.

Read more

GNOME Shell's Icon Grid Could See Almost Double The Performance

Filed under
GNOME

On top of an optimization to lower render times and reduce power usage and fixing window culling as another performance optimization, Canonical's Daniel van Vugt also came across another serious optimization for GNOME Shell's icon grid performance.

Due to hundreds of primitives being recopied from the CPU to GPU each frame, the icon grid performance was being slowed down dramatically. Daniel van Vugt has proposed a change to keep labels now pre-rendered on the GPU rather than having all these unnecessary copies made each frame.

Read more

scikit-survival 0.13 Released

Filed under
Software
GNOME
Sci/Tech

Today, I released version 0.13.0 of scikit-survival. Most notably, this release adds sksurv.metrics.brier_score and sksurv.metrics.integrated_brier_score, an updated PEP 517/518 compatible build system, and support for scikit-learn 0.23.

For a full list of changes in scikit-survival 0.13.0, please see the release notes.

Read more

Syndicate content

More in Tux Machines

SolydXK 10.4 Distro Released, Based on Debian GNU/Linux 10.4 “Buster”

As its version number suggests, SolydXK 10.4 is based on Debian GNU/Linux 10.4, which was released in early May 2020 with more than 50 security updates and over 100 bug fixes. The SolydXK team has worked hard over the past several months to bring you SolydXK 10.4, which includes the latest Linux 4.19 kernel and up-to-date packages from the Debian Buster repositories. On top of that, the new release comes with some important under-the-hood changes. For example, the /usr directories have been merged and the /bin, /sbin and /lib directories have now become symbolic links to /usr/bin, /usr/sbin and /usr/lib. Read more

Android Leftovers

today's leftovers

  • Upcoming SAVVY-V Open Source RISC-V Cluster Board Supports 10GbE via Microsemi PolarFire 64-bit RISC-V SoC

    RISC-V based PolarFire SoC FPGA by Microsemi may be coming up in the third quarter of this year, but Ali Uzel has been sharing a few details about SAVVY-V advanced open-source RISC-V cluster board made by FOSOH-V (Flexible Open SOurce Hardware for RISC-V) community of developers. It’s powered by Microsemi Polarfire RISC-V SoC MPFS250T with four 64-bit RISC-V cores, a smaller RV64IMAC monitor core, and FPGA fabric that allows 10GbE via SFP+ cages, and exposes six USB Type-C ports. The solution is called a cluster board since up to six SAVVY-V boards can be stacked via a PC/104+ connector and interfaced via the USB-C ports.

  • Some PSAs for NUC owners

    I’ve written before, in Contemplating the Cute Brick, that I’m a big fan of Intel’s NUC line of small-form-factor computers. Over the last week I’ve been having some unpleasant learning experiences around them. I’m still a fan, but I’m shipping this post where the search engines can see it in support of future NUC owners in trouble. Two years ago I bought an NUC for my wife Cathy to replace her last tower-case PC – the NUC8i3BEH1. This model was semi-obsolete even then, but I didn’t want one of the newer i5 or i7 NUCs because I didn’t think it would fit my wife’s needs as well. What my wife does with her computer doesn’t tax it much. Web browsing, office work, a bit of gaming that does not extend to recent AAA titles demanding the latest whizzy graphics card. I thought her needs would be best served by a small, quiet, low-power-consumption machine that was cheap enough to be considered readily disposable at the end of its service life. The exact opposite of my Great Beast… The NUC was an experiment that made Cathy and me happy. She especially likes the fact that it’s small and light enough to be mounted on the back of her monitor, so it effectively takes up no desk space or floor area in her rather crowded office. I like the NUC’s industrial design and engineering – lots of nice little details like the four case screws being captive to the baseplate so you cannot lose them during disassembly. Also. Dammit, NUCs are pretty. I say dammit because I feel like this shouldn’t matter to me and am a bit embarrassed to discover that it does. I like the color and shape and feel of these devices. Someone did an amazing job of making them unobtrusively attractive. [...] When I asked if Simply NUC knew of a source for a fan that would fit my 8i3BEH1 – a reasonable question, I think, to ask a company that loudly claims to be a one-stop shop for all NUC needs – the reply email told me I’d have to do “personal research” on that. It turns out that if the useless drone who was Simply NUC “service” had cared about doing his actual job, he could have the read the fan’s model number off the image I had sent him into a search box and found multiple sources within seconds, because that’s what I then did. Of course this would have required caring that a customer was unhappy, which apparently they don’t do at Simply NUC. Third reason I know this: My request for a refund didn’t even get refused; it wasn’t even answered.

  • GNU Binutils 2.35 Preparing For Release

    Binutils 2.35 was branched this weekend as this important component to the open-source Linux ecosystem. Binutils 2.35 has been branched meaning feature development is over for this next version of this collection of GNU tools. GNU Binutils 2.356 drops x86 Native Client (NaCl) support with Google having deprecated it in favor of WebAssembly, new options added for the readelf tool, many bug fixes, and an assortment of other changes albeit mostly on the minor side.

  • Using CPU Subsets for Building Software

    NetBSD has a somewhat obscure tool named psrset that allows creating “sets” of cores and running tasks on one of those sets. Let’s try it: [...]

  • What a TLS self signed certificate is at a mechanical level

    To simplify a lot, a TLS certificate is a bundle of attributes wrapped around a public key. All TLS certificates are signed by someone; we call this the issuer. The issuer for a certificate is identified by their X.509 Subject Name, and also at least implicitly by the keypair used to sign the certificate (since only an issuer TLS certificate with the right public key can validate the signature).

  • Security Researchers Attacked Google’s Mysterious Fuchsia OS: Here’s What They Found

    A couple of things that Computer Business Review has widely covered are important context for the security probe. (These won’t be much surprise to Fuchsia’s followers of the past two years.)

    i.e. Fuschsia OS is based on a tiny custom kernel from Google called Zircon which has some elements written in C++, some in Rust. Device drivers run in what’s called “user mode” or “user land”, meaning they’re not given fully elevated privileges. This means they can be isolated better.

    In user land, everything that a driver does has to go via the kernel first before hitting the actually computer’s resources. As Quark Labs found, this is a tidy way of reducing attack surface. But with some sustained attention, its researchers managed to get what they wanted: “We are able to gain kernel code execution from a regular userland process.”

  • What have you been playing on Linux? Come and have a chat

    Ah Sunday, that special day that's a calm before the storm of another week and a time for a community chat here on GOL. Today, it's our birthday! If you didn't see the post earlier this week, GamingOnLinux as of today has hit the big 11 years old! Oh how time sure flies by. Onto the subject of gaming on Linux: honestly, the majority of my personal game time has been taken up by Into the Breach. It's so gorgeously streamlined, accessible, fun and it's also ridiculously complex at the same time. Tiny maps that require a huge amount of forward thinking, as you weigh up each movement decision against any possible downsides. It's like playing chess, only with big mecha fighting off aliens trying to take down buildings. [...] I've also been quite disappointed in Crayta on Stadia, as it so far hasn't lived up to even my smallest expectations for the game maker. It just seems so half-baked, with poor/stiff animations and a lack of any meaningful content to start with. I'll be checking back on it in a few months but for now it's just not fun.

Programming Leftovers (LLVM Clang, R, Perl and Python)

  • Arm Cortex-A77 Support Upstreamed Finally To LLVM Clang 11

    While the Arm Cortex-A77 was announced last year and already has been succeeded by the Cortex-A78 announcement, support for the A77 has finally been upstreamed to the LLVM Clang compiler. The Cortex-A77 support was added to the GCC compiler last year while seemingly as an oversight the A77 support wasn't added to LLVM/Clang until this week.

  • Dirk Eddelbuettel: Rcpp now used by 2000 CRAN packages–and one in eight!

    As of yesterday, Rcpp stands at exactly 2000 reverse-dependencies on CRAN. The graph on the left depicts the growth of Rcpp usage (as measured by Depends, Imports and LinkingTo, but excluding Suggests) over time. Rcpp was first released in November 2008. It probably cleared 50 packages around three years later in December 2011, 100 packages in January 2013, 200 packages in April 2014, and 300 packages in November 2014. It passed 400 packages in June 2015 (when I tweeted about it), 500 packages in late October 2015, 600 packages in March 2016, 700 packages last July 2016, 800 packages last October 2016, 900 packages early January 2017, 1000 packages in April 2017, 1250 packages in November 2017, 1500 packages in November 2018 and then 1750 packages last August. The chart extends to the very beginning via manually compiled data from CRANberries and checked with crandb. The next part uses manually saved entries. The core (and by far largest) part of the data set was generated semi-automatically via a short script appending updates to a small file-based backend. A list of packages using Rcpp is available too.

  • YouTube: The [Perl] Weekly Challenge - 067
  • The [Perl] Weekly Challenge #067

    This week both tasks had one thing in common i.e. pairing two or more list. In the past, I have taken the help from CPAN module Algorithm::Combinatorics for such tasks.

  • Weekly Python StackOverflow Report: (ccxxxiv) stackoverflow python report
  • Flask project setup: TDD, Docker, Postgres and more - Part 1

    There are tons of tutorials on Internet that tech you how to use a web framework and how to create Web applications, and many of these cover Flask, first of all the impressive Flask Mega-Tutorial by Miguel Grinberg (thanks Miguel!). Why another tutorial, then? Recently I started working on a small personal project and decided that it was a good chance to refresh my knowledge of the framework. For this reason I temporarily dropped the clean architecture I often recommend, and started from scratch following some tutorials. My development environment quickly became very messy, and after a while I realised I was very unsatisfied by the global setup. So, I decided to start from scratch again, this time writing down some requirements I want from my development setup. I also know very well how complicated the deploy of an application in production can be, so I want my setup to be "deploy-friendly" as much as possible. Having seen too many project suffer from legacy setups, and knowing that many times such issues can be avoided with a minimum amount of planning, I thought this might be interesting for other developers as well. I consider this setup by no means better than others, it simply addresses different concerns.