Nuvola 4.5 Integrates Progress & Volume Bar, Tackles Flash Issues and Helps with Missing Nvidia Driver

Nuvola 4.5 is the fifth milestone of the current rolling series on the way towards the Nuvola 5.0 release (formerly referred to as Nuvola 4.0 or 3.2). The headline of this release are the integration of progress bar and volume bar in Deezer and Google Play Music, a workaround for long-time issues with Flash plugin and a better detection of missing Nvidia drivers.

In order to update your flatpak builds, use GNOME Software with flatpak plugin or run flatpak update --system && flatpak update --user in terminal (without sudo).

Integrated Progress Bar and Volume Bar

Nuvola Apps Runtime contains new APIs to integrate a progress bar and a volume bar. Web app integration scripts can use these features to let a user not only to show current track time and playback volume in MPRIS clients such as Media Player GNOME Shell extension (my personal favorite), but also to seek to any track position and to change the volume. At present, only Deezer and Google Play Music scripts support these features, but others will follow.

You can seek to any track position and to change the volume with Media Player GNOME Shell extension.

The Issue of Flash Plugin Instability

Since the update of the Flash plugin from the ancient 10.x version to 24+, Flash plugin doesn’t work well in WebKitGTK web rendering library. It usually works when it is loaded for the first time, but crashes when the page is reloaded or another page is loaded. I’ve reported this issue upstream to the WebKitGTK+ bug tracker and mailing list. Then I found a workaround for this issue until a proper fix is developed. However, the workaround is enabled only in flatpak builds because it may have a negative impact on other WebKitGTK applications. Since Nuvola is the only WebKitGTK app in its Flatpak sandbox, it’s safe to apply the workaround there.

Missing Nvidia Drivers because of GNOME Software Bug

Although Flatpak command supports and automatically installs proprietary Nvidia OpenGL drivers, GNOME Software does not do that because of a bug 778598. Nuvola App Runtime now checks whether the driver is installed and provides a user with installation instructions if it isn’t.

Full Changelog

Nuvola 4.5 was released on June 24th, 2017.

New Features

  • Nuvola Apps Runtime supports the integration of a progress bar and volume management. Web app scripts which use this feature can not only provide track length & position and current volume but also allow a user to change that remotely, e.g. from Media Player GNOME Shell extension. At present, only Deezer and Google Play Music scripts use these features, but others will follow. Issue: tiliado/nuvolaruntime#22 Issue: tiliado/nuvolaruntime#155
  • If Nuvola Apps Runtime detects a Nvidia graphics card, it checks whether the flatpak extension with corresponding graphics driver is installed. If it isn’t, e.g. because of a bug in GNOME Software, an error message is shown to provide the user with installation instructions. Issue: tiliado/nuvolaruntime#342
  • After a lot of effort, a workaround for the instability of Flash plugin was found out and is used until WebKitGTK developers find a proper fix. However, it is applied only in flatpak builds because it may have a negative impact on other WebKitGTK applications otherwise. Issue: tiliado/nuvolaruntime#354

Bug fixes

News for Script Maintainers

  • Nuvola.VERSION_MICRO contains micro version of Nuvola Runtime.
  • Nuvola.API_VERSION_MAJOR and Nuvola.API_VERSION_MINOR are now deprecated aliases of Nuvola.VERSION_MAJORand Nuvola.VERSION_MINOR.
  • The tutorial was updated to use Nuvola ADK 4.4.
  • Added documentation of web app requirement flags.
  • Added documentation of user agent quirks.
  • New API for progress bar integration.
  • New API for volume management integration.
  • New utility functions Nuvola.encodeVersion and Nuvola.checkVersion.
  • Nuvola.triggerMouseEvent and clickOnElement support relative x & y coordinates, which is useful for clicking on a progress bar or a volume bar.

Under the Hood

  • New dependencies: libdrm >= 2.2 and libdri2 >= 1.0
  • Nuvola checks whether VDPAU and VA-API drivers are installed and prints debugging information to console. It will show error dialog in the future though, so make sure the drivers are installed. Issue: tiliado/nuvolaruntime#280
  • Internal icon loading code was refactored. Legacy icon.png and nuvolaplayer3_XXX icons are no longer supported. eu.tiliado.NuvolaAppXxx is used everywhere. Issue: tiliado/nuvolaruntime#353

Nuvola SDK 4.5

  • new-project, convert-project: An user is asked for a git name and a git email if they are not set.
  • Happy Songs demo was updated to include a progress bar and a volume level.
  • genmakefile: A wrong dbus launcher command in a desktop file was fixed. Issue: tiliado/nuvolaruntime#348
  • genmakefile: Legacy nuvolaplayer3_xxx icon symlinks are created only in Nuvola 3.0.x compat mode. Issue: tiliado/nuvolasdk#3
  • Fixed compatibility with Nuvola 4.5.0.

Diorite 4.5

  • Fix wscript for non-git builds. Issue: tiliado/diorite#16
  • Dioritedb has been refactored significantly.
  • Bundled glib.vapi is no longer used.
  • Various utility functions were added, see git log for details.

Thank You for Your Support

At the time of writing, the awesome people listed bellow and a few others are Nuvola Patrons, who support the development of Nuvola Player and have access to Nuvola Apps 4.x Rolling Releases (cross-distribution flatpak packages). Thank you all!

Andrew Allen, Simon Law, Bart Libert, Bryan Wyatt, Christian Dannie Storgaard, José Antonio Rey, Ryan Wagner, Chris Beeley, David, Andrew Azores, Andrew Kvalheim, Balázs, Ben MacLeod, Martin Wimpress, Duco van Amstel, David Wiczer, Gabriele, Nathan Warkentin.

If you are a Nuvola Patron but your name is not listed, you have to enable the “Show my name and a link to my external profile page in a list of Patrons.” option in your profile settings. Obviously, it is not enabled by default to protect privacy of our patrons.

Nuvola News

News from the Nuvola Apps project.

Jiří Janoušek

Written by

Retiring chemist, emerging software developer, GNU/Linux lover, European citizen.

Nuvola News

News from the Nuvola Apps project.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade