I really like the polished look of GNOME and its default theme Adwaita, but there is one thing that has been bugging me for some time. By default server side window decorations are light and if an app has a dark UI and uses a server side window decorations, you get a dark window with a light title bar. It doesn’t look every nice and when you maximize the window, it’ll get even worse because you get a nice black-and-white hamburger (black top bar, light title bar, and dark window content).
There are quite a few apps suffering from this: Atom, Firefox Developer Edition, Blender,…
But Mutter actually allows the clients to set a theme for their window decorations even though they’re rendered on the server side. They just need to set an x window property GTK_THEME_VARIANT=dark.
And I think the difference speaks for itself:
You can test it by executing: xprop -f _GTK_THEME_VARIANT 8u -set _GTK_THEME_VARIANT dark
and clicking the window where it should apply.
Are you a user of one of the apps that would benefit from it? Or even a contributor? Try to convince the project to implement this tiny change. If you’re a distro maintainer of such an app, you may consider applying a small patch.
Our team maintains Firefox RPMs for Fedora and RHEL and a lot of people have been asking us to provide Firefox for Flatpak as well. I’m finally happy to announce Firefox Developer Edition for Flatpak.
We started with the Developer Edition because that’s something that is not easily available to Fedora users. Providing the standard Firefox wouldn’t bring a lot of benefit right now because it’s available very quickly after upstream releases via Fedora repositories. In the future, we’d like to add releases of the standard Firefox (nightly, stable, perhaps ESR).
Firefox DE for Flatpak is built on our internal build cluster and hosted on mojefedora.cz (mojefedora == myfedora in Czech) on OpenShift. It’s an unofficial build for testing purposes, not provided by Mozilla. We’d like to work with Mozilla, so that it can eventually be adopted by the Mozilla project and you can get Firefox flatpaks directly from the source.
Right now, Firefox DE is not sandboxed, it has full access to user’s home. In the near future, we’d like to start a devel branch in the flatpak repository where we will ship a sandboxed Firefox and experiment how well Firefox can handle sandboxing and what needs to be done to assure the expected user experience. A web browser is definitely the #1 candidate among desktop applications for sandboxing. If you’re interested in sandboxing Firefox on Linux via Flatpak, contact us (you’ll find Jan’s email on the website with installation instructions).
We’ve tested the FDE flatpak on Fedora 25, openSUSE Tumbleweed, and Ubuntu 16.10. You need flatpak 0.6.13 or newer for the installation commands to work. The repo should work with older versions as well, but there was a change in command syntax and the commands we use don’t work in older releases than 0.6.13. Fedora 25 has the newest release (0.8.0), openSUSE Tumbleweed has a new enough release (0.6.14), just for Ubuntu you’ll need to install the newest flatpak from a PPA.
GNOME Software in Fedora 25 also supports adding repos via .flatpakrepo files and installing apps via .flatpakref files, but it’s not reliable enough yet, so we only recommend you use the command line instructions. It’s just two commands (you only need the latter one on Fedora 25 with the newest flatpak).
There are also a couple of problems we haven’t quite figured out yet. In openSUSE and Ubuntu, the desktop file database is not refreshed after the installation, so the launcher doesn’t appear right away. You need to log out and log in to refresh it and make the launcher appear. In openSUSE Tumbleweed in KDE Plasma in a VM, I couldn’t start the app getting “no protocol specified, Error: cannot open display: :99.0”. We’re looking for hearing from you how it works on other distributions.
Although the repo is for testing purposes, we’re committed to updating it regularly until we announce otherwise on the website with the installation instructions. So you don’t have to worry that you’ll end up with a scratch build that will never get updated.
At last, I’d like to thank Vadim Rutkovsky who made the initial proof-of-concept Firefox build for Flatpak we built upon, and Jan Hořák who did most of the work on the current build and repo setup.
A lot of users complained that installing flatpaks was too difficult. And they were right, just look at the installation instructions on the Flatpak download page at LibreOffice.org. But that was never meant to be the final user experience.
Richard Hughes integrated Flatpak support into GNOME Software and the Red Hat desktop apps team worked with him to make sure it works well with apps we’ve already packaged for Flatpak. And this is the result. As you can see installing LibreOffice for Flatpak is now a matter of a couple of clicks with GNOME Software 3.22.2 in Fedora 25:
Flatpak allows you to generate a .flatpak bundle which includes the app and all the necessary info for installation of the app and setting up its repo for future updates. You can also create a .flatpakref file which doesn’t contain the app, but all the installation info and the app is downloaded during the installation. This format is also supported by GNOME Software now. LibreOffice offers a .flatpak bundle because it’s more similar to what users are used to from Windows and macOS.
As you can see on the video, installing .flatpak bundles is a matter of downloading the file and opening it directly with GNOME Software or double-clicking it. There is one prerequisite though. You need to have a repo of the runtime the app requires enabled which I had because I had been using the GNOME runtime for other apps already. Installation of runtimes is being streamlined as well. As a runtime provider, you can ship .flatpakrepo file which includes necessary info for setting up the repo and is as easy to install as .flatpak and .flatpakref. For Fedora Workstation we’re currently considering to enable repos of most common runtimes by default, so users would not have to deal with them at all, the required runtimes would get installed automatically with the app.
OpenAlt, a traditional open source conference in Brno, took place last weekend. I gave talks on Wayland and Flatpak, and organized a Fedora booth.
Originally, I planned to give a talk on Flatpak only, but then the organizers came to me if I could find someone who could give a talk on the status of Wayland because people ask for it. And because I couldn’t find anyone else, I had to do the talk myself. OpenAlt was promoted live on Czech Television (something like BBC) and the Wayland talk was featured as one of the hot talks for which people should attend OpenAlt.
Both talks were in the main hall and both attracted quite a lot of people although Wayland was more popular in the end. Both topics also stirred quite a lot of interest and many people came to me afterwards to discuss the topics more in detail. LinuxEXPRES.cz has already released an article based on information from my Flatpak talk.
There were other interesting desktop-related talks. Dan Vrátil, an ex-member of our team, gave a talk about the history of KDE and he ran the presentation on KDE 1 (in Fedora 25), so he literally went back in time 🙂
Jan Holešovský talked on LibreOffice Online and Katarina Brehens on LibreOffice adoption in Germany.
Brno is a stronghold of Fedora mainly due to large presence of Red Hat, so OpenAlt is a lot about meeting our current users. We had some Fedora winter hats and t-shirts for them. Many users were happy to hear that Fedora 25 has much better and currently probably the best-among-distributions support for switchable graphics cards and much easier way to install nVidia drivers.
I had an interesting chat with a guy from sledovanitv.cz, a local startup providing TV streaming. He mentioned that they originally wanted to install Fedora on their laptops, but WiFi didn’t work (missing Broadcom drivers) and they gave up. So we definitely have another major hardware PITA in line to fix.
We also organized the 4th Linux Desktop Meetup. This time on Friday as “OpenAlt Edition”. And we had a special guest from Mozilla CZ who gave a talk on what’s going on in the Mozilla community. Some of the stuff was really exciting and Mozilla guys are interested in participating in future meetups even though they live in a different city.
Last Thursday, we organized a regular Linux Desktop Meetup in Brno and because two major desktop environments had had their releases recently we also added a release party to celebrate them.
The meetup itself took place in the Red Hat Lab at FIT BUT (venue of GUADEC 2013) and it consisted of 4 talks. I spoke on new things in GNOME 3.22, our KDE developer Jan Grulich spoke on new things in Plasma 5.8, then Oliver Gutierrez spoke on Fleet Commander and the last talk was given by Lucie Karmova who is using Fedora as a desktop in a public organization and shared her experiences with the Linux desktop.
After the talks, we moved to the nearby Velorex restaurant to celebrate the releases. The whole event attracted around 25 visitors which is definitely above the average attendance of our meetups. Let’s see if we can get the same number of people to the meetup next month.
Last, but not least I’d like to thank the Desktop QA team of Red hat for sponsoring the food and drinks at the release party.
We had a Fedora booth at LinuxDays 2016 in Prague and one of our attractions was Miro Hrončok‘s 3D printer Lulzbot Mini. Because Miro was busy helping organize the conference he just left the printer at the booth and I had to set it up myself. And it really surprised me how easy it is to 3D print using Fedora. Basically what I had to do was:
plugging the printer into a USB (automatically connected due to Miro’s udev rules),
starting Cura, choosing the model of the printer and material I’m going to print with,
opening a file with the 3D model I wanted to print,
hitting the “Print” button and watching the printer in action.
Fedora has been known to be the best OS for 3D printing already for some time, mainly due to the work of Miro (he packaged all the available open source software for 3D printing, prepared udev rules to automatically connect to 3D printers etc.), but I was still surprised how easy it is to 3D print with Fedora these days. It really took just a couple of minutes from a stock system to start of the actual printing. It’s almost as simple as printing on papers.
There is still room for improvements though. Some 3D printing apps (Cura Lulzbot Edition is one of them) are available in the official repositories of Fedora, but don’t have an appdata file, so they don’t show up in GNOME Software. And it would also be nice to have “3D Printing” category in GNOME Software, so that the software is more discoverable for users.
Every year, I introduce Fedora to new students at Brno Technical University. There are approx. 500 of them and a sizable amount of them then installs Fedora. We also organize a sort of installfest one week after the presentation where anyone who has had any difficulties with Fedora can come and ask for help. It’s a great opportunity to observe what things new users struggle with the most. Especially when you have such a high number of new users. What are my observations this year?
I always ask how many people have experience with Linux (I narrow it down to GNU/Linux distributions excluding things like Android). A couple of years ago, only 25-30% of students raised their hands. This year, it was roughly 75% which is a significant increase. It seems like high school students interested in IT are more familiar with Linux than ever before.
Linux users tend to have strong opinions about desktops (too thick or thin title bars, too light or dark theme, no minimize button etc), but new users coming from Windows and MacOS don’t care that much. We give students Fedora Workstation with GNOME and receive almost no complains about the desktop from them, and literally zero questions how to switch to another desktop.
The most frequent question we receive is why they have multiple Fedora entries in GRUB. Like many other distributions, Fedora keeps three last kernels and allows you to boot with them via entries in GRUB. When you install Fedora, there is just one entry, but with kernel updates you get the second and then third. And new users are completely puzzled by that. One guy came and told us: “I’ve got two Fedora entries in the menu, I’m afraid I’ve installed the OS twice accidentally, can you help me remove the second instance?” Hiding the menu is not a solution because most students have dualboots with Windows and switching between OSes is a common use case for them. But we should definitely compress the Fedora entries into one somehow.
Hardware support evergreen are discrete graphics cards. They’re still not natively supported by Linux and you can find them on most laptops these days and laptops of students are not an exception. So this is currently the most frequent hardware support problem we get installing Fedora. Someone brought a Dell Inspiron 15 7000 series where Fedora didn’t boot at all (other distributions fail on this model, too).
Another common problem are Broadcom wireless cards. It’s easy to solve if you know what to do and have a wired connection. But some laptops don’t even have ethernet sockets any more. With one laptop, we ended up connecting to WiFi via phone and tethering with the laptop via a microUSB-USB cable.
Installation of Fedora is simple. A couple of clicks, several minutes and you’re done. But only if everything goes ideally. Anaconda handles the typical scenario “Installing Fedora next to Windows” well, but there was a student who had a relatively new Lenovo laptop with MBR and 4 primary partitions (MBR in 2016?!) which effectively prevents you from installing anything on the disk unless you want to lose a Windows recovery partition because MBR can’t handle more than 4 primary partitions. Someone had a dualboot of Windows and Hackintosh which is also in “not-so-easy” waters as well. It also shows how difficult life Linux installer developers have, you can cover most common scenarios, but you can’t cover all possible combinations laptop vendor or later users can create on disks.
We’ve also come a conclusion that it’s OK to admit that the hardware support in Linux for the laptop model is not good enough and offer the student an installation in a virtual machine in Windows. You can sometimes manage to get it working, but you know it’s likely to fall apart with the next update of kernel or whatever. Then it’s more responsible to recommend the student virtualization.