/OpenWallpaper-Plasma

Primary LanguageC++GNU General Public License v3.0GPL-3.0

OpenWallpaper Plasma - Plugin for KDE Plasma

This is the complete source code and builds instructions for the OpenWallpaper Plasma. We recommend you to use the OpenWallpaper Manager to have the best user experience. Video demonstration: YouTube | KDE Store

Description

OpenWallpaper Plasma is a plugin for KDE Plasma providing additional possibilities for desktop wallpaper.

Available options:

  • Play QtOpenGL scene with mouse events and music
  • Play GIFs with music
  • Play Video

The main feature of each package is that each wallpaper contains information about the package itself, about the author and a brief description. Each package will work on different computers with the same plugin version. At the moment, the KDE Plasma support is implemented only, other DEs and operating systems will become available in future updates.

Examples

There are several demonstration packages available now. You can create your own and publish it on reddit community page.

Roadmap

  • Lua scene engine
  • Cross platforming
  • OpenWallpaper in different DEs
  • HTML wallpaper type

If you have any suggestions or feedback, feel free to email us.

Build instructions

The following packages must be installed from the official repositories for all distributives:

The following are the most popular distributives and the name of the packages that you need to install. If you are a user of a little-known distributive, that is not listed below, we recommend you to find and install analogs of these packages.

ATTENTION: Your system should be updated to the last release.

First you need download develop dependencies:

Ubuntu

# sudo apt install build-essential libkf5plasma-dev qtdeclarative5-dev

Fedora

# sudo dnf install kf5-plasma-devel qt5-qtdeclarative-devel

Arch

# sudo pacman -S kdeclarative

Build and installing

Now when all the necessary packages are installed, you can proceed with the compilation and installation.

Clone repository with flag --recursive. Go to the Open Wallpaper Plasma project directory and run the terminal. Now you should create a folder and enter it.

# mkdir build && cd build

Run CMake with the following parameters:

# cmake -D CMAKE_INSTALL_PREFIX=/usr ..

CMake can show an error if the system doesn’t have the necessary dependencies.

Start building the project:

# cmake --build . 

if you have more than 2 CPU cores or threads you can write -- -jХ where X will be a number of cores/threads. Example: cmake --build . -- -j4

Read CMake output and if the compilation was successful, you can install a plugin in the system directory with the following command:

# sudo make install

Restart KDE Plasma:

# kquitapp5 plasmashell
# plasmashell

Success! Now you can run a plugin in Plasma Desktop Settings. Attention: the plugin doesn’t have any packages included. See the Examples above.

System requirements

RAM

At that moment, the QML widgets have some bugs with deleting unnecessary data. Don't worry: that not more than 1 GB of RAM. We don't know why (Maybe Plasma do not ready for Qt Multimedia). Fix in future updates.

CPU

The processor can allocate 2-5 percent for a plugin. The value might be different on old or new processors.

GPU

We detect some leaks of RAM in the Nvidia cards with an open driver. We recommend to use only proprietary drivers version 390xx or greater. On AMD GPU all fine without any problems. Send review if you use intel integrated graphics.

QtOpenGL

The current OpenGL version is 3.1. Need more testing information with different hardware and drivers.

Attention: QtOpenGL isn't regular OpenGL, because of using the QOpenGLShaderProgram for grabbing and compiling shaders. But different not so critical.

About QtOpenGL read in Qt documentation.

Third-party

Also in the project uses materials and ideas of that projects:

Support

Any help in the current moment will be very helpful. If you want to help, you can pick something of proposed options:

  • Involvement with the project development
  • Creating the wiki pages with needed (as you think) information for users
  • Send an email with your idea
  • Share information about that project
  • Material help. Donation Alerts and Patreon. Also, you can send hardware for testing, we'll be so thankful to you

Acknowledgments

Authors