Subscribe to Planet KDE feed
Planet KDE -
Updated: 17 min 3 sec ago

Tearing with Nvidia Proprietary Drivers on Plasma? Try this.

Wed, 2017/03/29 - 11:09pm

This is a neat little trick that’s been making the rounds, and after seeing success with several people on Reddit I thought it was worth posting somewhere more visible. This will look at removing screen tearing (often entirely) when using Nvidia Proprietary graphics on the Plasma Desktop.

First, you should only do this if…

  1. You are running Proprietary Nvidia drivers.
  2. You are experiencing nasty screen tearing.
  3. You are using a recent driver version.
  4. You trust instructions from the internet.

The trick is enabling a feature called “Force Composition Pipeline”, or “Force Full Composition Pipeline”. What this does is essentially a driver-level vsync, but I haven’t found particularly good documentation on the feature. Most instructions you can find online will instruct you how to do this manually via config files, but I’ll explain how to do it via GUI as less can go wrong, and the GUI is there to be used. You can do a search online and easily find several manual sets of instructions if the GUI isn’t your thing.

  1. Open your favourite launcher and go to Applications -> Settings -> Nvidia X Server Settings.
  2. On the left side pane, select “X Server Display Configuration”. It’s second from the top.
  3. Select a monitor.
  4. Click “Advanced” to show all the options (if they are not already shown)
  5. Check “Force Composition Pipeline”.
  6. Return to step 3 if you have more than one monitor, until all the monitors are configured.
  7. Click “Apply”.
  8. If it hasn’t eaten a puppy, you’ll see the confirmation to keep the settings. If things have gone terribly wrong, wait half a minute and it will revert the changes.

If you still experience tearing, you may need to go and “Force Full Composition Pipeline”, which is a more extreme version of the feature.

As a follow-up, if the composition pipeline is on and working, the Nvidia driver is essentially providing its own flavour of vsync. You’ll likely want to turn off Kwins vsync otherwise you may experience stutter in several situations, where it essentially halfs your potential frame rate. This mostly applies to games, possibly video, and I only recommend this step if you see stutter too;

  1. In your favourite launcher go to Applications -> Settings -> System Settings.
  2. Select “Display and Monitor”.
  3. On the left side pane, select “Compositor”.
  4. Under “Tearing Prevention (‘vsync’)” select “Never”. You may wish to take note of the current setting if you need to revert it later, by default it’s “Automatic”.

Of course, there are some “gotchas” to keep in mind!

First; if you change your displays, rotate them, or anything else, you may experience tearing again, especially if you disabled Kwins Tearing Prevention. You’ll need to go back in and re-apply the settings.

Second; you may see a performance impact with games. I personally haven’t, but several articles on this subject do mention it as a drawback of this feature. Additionally it’s not quite something you can toggle on/off easily if getting your game on is impacted.

Third; on laptops with Nvidia PRIME, you may have difficulty enabling this feature. If you do, you may want to leave Kwin Tearing Prevention alone should it switch to Intel graphics and begin tearing. I’m not an expert on this and cannot test this with a PRIME-enabled machine, so your mileage may vary.

Lastly; these are instructions from someone who doesn’t know a huge amount about drivers and display servers. For all I know this heats up your GPU to 300 degrees and was meant to roast marshmallows. Proceed with caution.

Special thanks to “AbstractOperator” and “cristianadam” for letting me know this works on multiple monitors, and cristianadam for pointing out this youtube video; play this video (ideally full-screen) to test and spot tearing.


New Emoji and… busy time!!

Tue, 2017/03/28 - 8:56pm


Really busy time….
I really miss the time I spent on Inkscape. I hope I can find some time to go back to drawing.

p.s. do you like this emoji? ��


Cry Emoji

Ishiiruka on openSUSE

Tue, 2017/03/28 - 2:12pm

Quick update: Ishiiruka (fork of the Wii/GameCube emulator Dolphin for those who missed my last post) is now available on openSUSE Leap as well.

In addition to that, all openSUSE builds now build against shared wxWidgets 3.1 instead of statically linking the included one.

Get it from


Tue, 2017/03/28 - 7:57am

I’ve been trying macro photography and using the depth of field to make the subject of my photos stand out more from the background. This photo of a parrotfish shows promising results beyond “blurry fish butt” quality. I’ll definitely use this technique more often in the future, especially for colorful fish with colorful coral in the background.


Interview with Dolly

Mon, 2017/03/27 - 9:17am

Could you tell us something about yourself?

My nickname is Dolly, I am 11 years old, I live in Cannock, Staffordshire, England. I am at Secondary school, and at the weekends I attend drama, dance and singing lessons, I like drawing and recently started using the Krita app.

How did you find out about Krita?

My dad and my friend told me about it.

Do you draw on paper too, and which is more fun, paper or computer?

I draw on paper, and I like Krita more than paper art as there’s a lot more colours instantly available than when I do paper art.

What kind of pictures do you draw?

I mostly draw my original character (called Phantom), I draw animals, trees and stars too.

What is easy to do with Krita? What is difficult to do?

I think choosing the colour is easy, its really good, I find getting the right brush size a little difficult due to the scrolling needed to select the brush size.

Which thing about Krita is most fun?

The thing most fun for me is colouring in my pictures as there is a great range of colour available, far more than in my pencil case.

Is there anything in Krita that you’d like to be different?

I think Krita is almost perfect the way it is at the moment however if the brush selection expanded automatically instead of having to scroll through it would be better for me.

Can you show us a picture you made with Krita?

I can, I have attached some of my favourites that I have done for my friends.

How did you make it?

I usually start with the a standard base line made up of a circle for the face and the ears, I normally add the hair and the other features (eyes, noses and mouth) and finally colour and shade and include any accessories.

Is there anything else you’d like to tell us?

I really enjoy Krita, I think its one of the best drawing programs there is!

foss-north speaker line-up

Sat, 2017/03/25 - 9:35pm

I am extremely pleased to have confirmed the entire speaker line-up for foss north 2017. This will be a really good year!

Trying to put together something like this is really hard – you want the best speakers, but you also want a mix of local and international, various technologies, various viewpoints and much, much more. For 2017 we will have open hardware and open software, KDE and Gnome, web and embedded, tech talks and processes, and so on.

The foss north conference is a great excuse to come visit Gothenburg in the spring. Apparently, Sweden’s wildest city!

Packaging Ishiiruka-Dolphin (GameCube/Wii Emulator)

Sat, 2017/03/25 - 4:50pm

You may have heard about Dolphin, not our file manager but the GameCube and Wii emulator of the same name. What you may not have heard of is Ishiiruka, a fork of Dolphin that prioritizes performance over emulation accuracy – and clean code if comments by an upstream Dolphin author on Reddit are to be believed.

Although Ishiiruka began as a reaction to remove the Direct3D 9 renderer in the Windows version of Dolphin (which is probably why the Linux community ignored it for the most part), it also began to tackle other performance issues such as “micro stuttering”.

Recently the Git master branch of Ishiiruka shipped compilation fixes for Linux, so I decided to dust off my old dolphin-emu.spec file and give it a try (I’m hardly an expert packager). So after some dabbling I succeeded. For now only Fedora 24, Fedora 25, and openSUSE Tumbleweed are supported. The packages are available from

openSUSE Leap requires some workaround because it defaults to GCC 4. I plan to look into it at a later time. Once Tino creates a new Stable branch that incorporates the Linux fixes, I’ll post it under

If anyone of you is interested in Arch, Debian, Ubuntu,… packages (anything supported by OBS), I’ll gladly accept Submit Requests for PKGBUILD etc. files at

Laptop freezing -- figuring out the issues

Fri, 2017/03/24 - 9:55pm

Hi all, I have an awesome laptop I bought from my son, a hardcore gamer. So used, but also very beefy and well-cared-for. Lately, however, it has begun to freeze, by which I mean: the screen is not updated, and no keyboard inputs are accepted. So I can't even REISUB; the only cure is the power button.

I like to leave my laptop running overnight for a few reasons -- to get IRC posts while I sleep, to serve *ubuntu ISO torrents, and to run Folding@Home.

Attempting to cure the freezing, I've updated my graphics driver, rolled back to an older kernel, removed my beloved Folding@Home application, turned on the fan overnight, all to no avail. After adding lm-sensors and such, it didn't seem likely to be overheating, but I'd like to be sure about that.

Lately I turned off screen dimming at night and left a konsole window on the desktop running `top`. This morning I found a freeze again, with nothing apparent in the top readout:

So I went looking on the internet and found this super post: Using KSysGuard: System monitor tool for KDE. The first problem was that when I hit Control+Escape, I could not see the System Load tab he mentioned or any way to create a custom tab. However, when I started Ksysguard from the commandline, it matches the screenshots in the blog.

Here is my custom tab:

So tonight I'll leave that on my screen along with konsole running `top` and see if there is any more useful information. and Drupal

Fri, 2017/03/24 - 8:26pm quite possibly has one of the largest open-source websites compared to any other desktop-oriented project, extending beyond into applications, wikis, guides, and much more. The amount of content is dizzying and indeed a huge chunk of that content is about as old as the mascot Kandalf – figuratively and literally.

KandalfI personally believe he’s ripped under that cloak.

The user-facing design “Aether” is live and various kinks have been worked out, but one fact is glaringly obvious; we’ve made the layers of age and look better by adding another layer. Ultimately the real fix is migrating the site to Drupal, so I figured this post would cover some of the thoughts and progress behind the ongoing work.

Right now work is on porting the Aether theme to Drupal 8, ideally it’ll be “better than perfect port” with Drupal optimizations, making better use of Bootstrap 4, and refinements. Additionally, I’m preparing a “Neverland-style” template for those planning to use Aether on their KDE-related project sites, but it’s more of a side-project until the Drupal theme lands. Recently the theme was changed to use Bootsraps’ Barrio base theme, which has been a very pleasant decision as we get much more “out of the box”. It does require a Bootstrap library module which will allow local or CDN-based Bootstrap installations, and while at first I was asking “why can’t a theme just be self-contained?”, now I’m understanding the logic – Bootstrap is popular, multiple themes use it, this will keep it all up-to-date and can be updated itself. I do think maybe one thing Drupal should do is have some rudimentary package management that says “hey, we also need to download this”, but it’s easy enough to install separately.

If you have a project website looking to port to Aether, I would first advise you simply waiting until you can consider moving your page to the main Drupal installation when it eventually goes live; in my perfect world I imagine Drupal unifying a great amount of disparate content, thus getting free updates. Additionally, consider hitting up the KDE-www mailing list and ask to help out on content, or place feature requests for front-end UI elements. While I’m currently lurking the mailing list, I’ll try to provide whatever info I can. On an aside, I had some Telegram confusion with some people looking to contribute and concerns from administrators, so please simply defer to the mailing list.

In terms of the Aether theme, I will be posting the basic theme on our git repo; when it goes up if you have Bootstrap and Twig experience (any at all is more than I had when I started), please consider contributing, especially if you maintain a page and would migrate to Drupal if it had the appropriate featureset. I will post a tiny follow-up when the repo is up.





A typical day in

Fri, 2017/03/24 - 4:32pm


I’m sorry that $feature behaves differently to how you expect it. But it’s the way it is and that’s by design. The feature work exactly as it’s supposed to work. I’m sorry, this won’t be changed.


With decisions like that, no wonder KDE is still a broken mess.

I wonder why the hell I even bother reporting issues. Bugs are by design these days.

Never again.

Have a nice life.

WebGL streaming in a Raspberry PI Zero W

Fri, 2017/03/24 - 1:06pm

A week ago I received my Raspberry Pi Zero W to play a bit with some IoT device. The specs of this small device computer are the following:

  • 1GHz, single-core CPU
  • 512MB RAM
  • Mini HDMI and USB On-The-Go ports
  • Micro USB power
  • HAT-compatible 40-pin header
  • Composite video and reset headers
  • CSI camera connector

But the interesting part comes with the connectivity:

  • 802.11 b/g/n wireless LAN
  • Bluetooth 4.1
  • Bluetooth Low Energy (BLE)

And especially from one of the hidden features that allows one to use the device as a headless device and connect using SSH over USB adding the following line to config.txt:
And modifying the file cmdline.txt to add:

remember to create a file called ssh to enable SSH access to your Raspberry Pi. There are plenty tutorials over the Internet showing this! ��

To build a Qt version for the device you can follow this guide.
In the following screen shot, we can see the calqlatr example running directly on the Raspberry Pi:


One of the use cases which comes to my mind using this device and this feature is being able to create portable presentations and show them on any computer without the need of installing new software.


For the presentation, I used the qml-presentation-system (link).

More use cases could be:

  • Application showcase.
  • Custom text editor for taking your notes everywhere.

Please comment if you have other ideas or use cases.

The post WebGL streaming in a Raspberry PI Zero W appeared first on Qt Blog.

Kubuntu 17.04 Beta 2 released for testers

Thu, 2017/03/23 - 11:46pm

Today the Kubuntu team is happy to announce that Kubuntu Zesty Zapus (17.04) Beta 2 is released . With this Beta 2 pre-release, you can see and test what we are preparing for 17.04, which we will be releasing April 13, 2017.

Kubuntu 17.04 Beta 2


NOTE: This is Beta 2 Release. Kubuntu Beta Releases are NOT recommended for:

* Regular users who are not aware of pre-release issues
* Anyone who needs a stable system
* Anyone uncomfortable running a possibly frequently broken system
* Anyone in a production environment with data or work-flows that need to be reliable

Getting Kubuntu 17.04 Beta 2:
* Upgrade from 16.10: run `do-release-upgrade -d` from a command line.
* Download a bootable image (ISO) and put it onto a DVD or USB Drive :

Release notes:

Boosting performance with shader binary caching in Qt 5.9

Thu, 2017/03/23 - 1:02pm

Now that Qt 5.9 is getting closer, let’s take a look at a minor but immensely useful improvement to the basic OpenGL enablers that form the foundation of Qt Quick and the optional OpenGL-based rendering path of QPainter.

Those looking at the documentation snapshots for 5.9 may have already come across some new functions in the venerable QOpenGLShaderProgram. What is more, most internal usages in Qt have been switched over to the new API. What does this mean in practice?

As explained here, such shader programs will attempt to cache the program binaries on disk using GL_ARB_get_program_binary or the standard equivalents in OpenGL ES 3.0. When no support is provided by the driver, the behavior is equivalent to the non-cached case. The files are stored in the global or per-process cache location, whichever is writable. The result is a nice boost in performance when a program is created with the same shader sources next time.

How big is the improvement? It varies. Some drivers have already been doing some sort of caching for the past couple of years, while some others have similar features in the pipeline. However, the gains turn out to be quite significant in practice on devices that are out in the field right now:


Do not read too much into the actual numbers. What is important is the difference between Qt 5.8 and 5.9. Also, a simple Qt Quick or GL-backed QPainter scene will definitely not use 10 programs, but as complexity grows, with Qt Graphical Effects and custom ShaderEffect items entering the picture, getting similar improvements does not look far fetched anymore.

In fact we gain something even on systems that employ shader caching already. Therefore every application’s startup and view switching times are expected to benefit with Qt 5.9 – without having to change anything.

Applications that use QOpenGLShaderProgram on their own can usually switch to the cacheable function variants by just changing the name in the function call. The change have to be a conscious decision, though, since some of the APIs change semantics when program binaries are used. Most notably, QOpenGLShader, addShader(), and removeShader() are incompatible with the program-level caching since they rely on individual shader compilation.

That’s it for now, stay tuned for more posts about exciting upcoming Qt 5.9 and 5.10 features.

The post Boosting performance with shader binary caching in Qt 5.9 appeared first on Qt Blog.

KStars 2.7.6 for Windows & OSX released

Thu, 2017/03/23 - 8:25am
I am glad to announce the release of KStars 2.7.6 release for Windows & OSX. Linux users using the official PPA can install the latest release as well.

In this release, we introduce the Ekos Mount Modelling tool developed by Robert Lancaster. It's currently in Beta now and we would appreciate any feedback. The tool enables you to build a comprehensive mount model if supported by your mount. Any mount that improves its internal pointing model after a SYNC command is applicable. Furthermore, INDI mounts that supports INDI Alignment Subsystem (EQMod, Nexstarevo, Synscan..etc) are also applicable.

Along with the advanced mount modelling tool comes the new Solution Results plot in the Align Module. It displays the quality of your GOTO after each solve and it can help you to identify if there are issues with your mount or the quality of the image..etc.

You can zoom, pan, and drag to explore the plot in details. Annotation for the quality of each GOTO is available on mouse over.

Ekos Polar Alignment Assistant tool also received a few bug fixes from the community feedback. Most users were able to achieve impressive results using the this easy to use Polar Alignment tool.

While Ekos is designed for ease of use, it can be intimidating for new users unfamiliar with the architecture of Ekos/INDI on several operation systems. Therefore, a new Ekos Profile Wizard is now available to guide the users to setting up their equipment for the first time in Ekos across several operating systems and connection topologies.

With INDI v1.4.1+, figuring out which port to use for your mount & focuser is now trivial across Linux & OSX. INDI automatically scans ports on your system and can even automatically connect to all potential available ports as well until a successful connection is established.

Last, but not least, KStars' NEO (Near-Earth-Object) data query from NASA's JPL is now properly working again thanks to our newest KStars developer Valentin Boettcher. Valentin (aka Hiro) is only 18 years old but is quite brilliant and experienced with KDE/Qt development environment. Welcome abroad!

C++ Concepts TS for getting functions as arguments, and the book discount

Wed, 2017/03/22 - 11:06pm

One of my pet peeves with teaching FP in C++ is that if we want to have efficient code, we need to catch functions and other callable objects as template arguments.

Because of this, we do not have function signatures that are self-documenting. Consider a function that outputs items that satisfy a predicate to the standard output:

template <typename Predicate> void write_if(const std::vector<int> &xs, Predicate p) { std::copy_if(begin(xs), end(xs), std::ostream_iterator<int>(std::cout, " ")); p); }

We see that the template parameter is named Predicate, so we can imply that it needs to return a bool (or something convertible to bool), and we can deduce from the function name and the type of the first argument that it should be a function that takes an int.

This is a lot of reasoning just to be able to tell what we can pass to the function.

For this reason, Bartosz uses std::function in his blog posts – it tells us exactly which functions we can pass in. But std::function is slow.

So, we either need to have a bad API or a slow API.

With concepts, the things will change.

We will be able to define a really short (and a bit dirty) concept that will check whether the functions we get are of the right signature:

template <typename F, typename FunctionSignature> concept bool Function = std::is_convertible<F, std::function<FunctionSignature>>::value; void foo(Function<int(int)> f) // or Function<auto (int) -> int> { std::cout << std::invoke(f, 42) << std::endl; }

We will be able to call foo with any callable that looks like a int-to-int function. And we will get an error ‘constraint Function<int(int)> is not satisfied’ for those that do not have the matching signature.

An alternative approach is to use std::is_invocable type trait (thanks Agustín Bergé for writing the original proposal and pointing me to it). It will provide us with a cleaner definition for the concept, though the usage syntax will have to be a bit different if we want to keep the concept definition short and succulent.

template <typename F, typename R, typename ...Args> concept bool Function = std::is_invocable<R, F, Args...>::value; void foo(Function<int, int> f) { std::cout << std::invoke(f, 42) << std::endl; }

When we get concepts (C++20, hopefully), we will have the best of both worlds – we will have an optimal way to accept callable objects as function arguments, and not sacrificing the API to do it.

Book discount

Today, Functional Programming in C++ is again the Deal of the Day – you get half off if you use the code dotd032317au at


Looking for a job ?

Wed, 2017/03/22 - 8:40pm
KDE Project:

Are you looking for a C++/Qt/Linux developer job in Germany ?
Then maybe this is something for you: Sharp Reflections

I'm looking forward to hear from you. :-)

Reading old stuff

Wed, 2017/03/22 - 4:18pm

A few months ago, Helio blogged about building KDE 1 (again) on modern systems. So recently while cleaning up some boxes of old books, I found the corresponding books — which shows that there was a time that there was a market for writing books about the Linux desktop.

Particularly the top book, “Using KDE” by Nicholas Wells, is interesting. The first page I opened it up to was a pointer to the KDE Translation teams, and information on how to contribute, how to get in touch with the translation teams, etc. You can still find the translation info online, although the location has changed since 2000.

There’s also tips and tricks on getting your .xinitrc right, and how to safely fall back to twm. I find this amusing, because I still use the same techniques when testing new Plasma 5 packages in a FreeBSD VM. It’s good that the old standalone twm is still there, but it would be much more amusing to fall back to KDE 1.1.2 if Plasma 5 doesn’t start right, I think.

Chef Intermediate Training

Wed, 2017/03/22 - 3:57pm

I did a day’s training at the FLOSS UK conference in Manchester on Chef. Anthony Hodson came from Chef (a company with over 200 employees) to provide this intermediate training which covered writing receipes using test driven development.  Thanks to Chef and Anthony and FLOSS UK for providing it cheap.  Here’s some notes for my own interest and anyone else who cares.

Using chef generate we started a new cookbook called http.

This cookbook contains a .kitchen.yml file.  Test Kitchen is a chef tool to run tests on chef recipes.  ‘kitchen list’ will show the machines it’s configured to run.  Default uses Virtualbox and centos/ubuntu.  Can be changed to Docker or whatever.  ‘kitchen create’ will make them. ‘kitchen converge to deploy. ‘kitchen login’ to log into v-machine. ‘kitchen verify’ run tests.  ‘kitchen test’ will destroy then setup and verify, takes a bit longer.

Write the test first.  If you’re not sure what the test should be write stub/placeholder statements for what you do know then work out the code.

ChefSpec (an RSpec language) is the in memory unit tests for receipes, it’s quicker and does finer grained tests than the Kitchen tests (which use InSpec and do black box tests on the final result).  Run with  chef exec rspec ../default-spec.rb  rspec shows a * for a stub.

Beware if a test passes first time, it might be a false positive.

ohai is a standalone or chef client tool which detects the node attributes and passes to the chef client.  We didn’t get onto this as it was for a follow on day.

Pry is a Ruby debugger.  It’s a Gem and part of chefdk.

To debug recipes use pry in the receipe, drops you into a debug prompt for checking the values are what you think they are.

I still find deploying chef a nightmare, it won’t install in the normal way on my preferred Scaleway server because they’re ARM, by default it needs a Chef server but you can just use chef-client with –local-mode and then there’s chef solo, chef zero and knife solo which all do things that I haven’t quite got my head round.  All interesting to learn anyway.


Facebooktwittergoogle_pluslinkedinby feather

Safety critical drawing with OpenGL SC

Wed, 2017/03/22 - 12:48pm

Bringing software into a safety critical environment can be tricky, especially when using the complex APIs needed for modern 3D graphics. That’s what makes OpenGL SC (Safety Critical) so important: it bridges the gap between beautiful displays and functional safety, while trying to remain as close to existing embedded standards that we all know and love. OpenGL SC will only become more prevalent in embedded graphics work as industries increasingly try to merge safety conscious methodologies with user-friendly interfaces. continue reading

The post Safety critical drawing with OpenGL SC appeared first on KDAB.

Interview with Ito Ryou-ichi

Wed, 2017/03/22 - 12:15pm

Ryou is the amazing artist from Japan who made the Kiki plastic model. Thanks to Tyson Tan, we now have an interview with him!

Can you tell us something about yourself?

I’m Ito Ryou-ichi (Ryou), a Japanese professional modeler and figure sculptor. I work for the model hobby magazine 月刊モデルグラフィックス (Model Graphics Monthly), writing columns, building guides as well as making model samples.

When did you begin making models like this?

Building plastic models has been my hobby since I was a kid. Back then I liked building robot models from anime titles like the Gundam series. When I grew up, I once worked as a manga artist, but the job didn’t work out for me, so I became a modeler/sculptor around my 30s (in the 2000s). That said, I still love drawing pictures and manga!

How do you design them?

Being a former manga artist, I like to articulate my figure design from a manga character design perspective. First I determine the character’s general impression, then collect information like clothing style and other stuff to match that impression. Using those references, I draw several iterations until I feel comfortable with the whole result.

Although I like human and robot characters in general, my favorite has to be kemono (Japanese style furry characters). A niche genre indeed, especially in the modeling scene — you don’t see many of those figures around. But to me, it feels like a challenge in which I can make the best use of my taste and skills.

How do you make the prototypes? And how were they produced?

There are many ways of prototyping a figure. I have been using epoxy putty sculpting most of the time. First I make the figure’s skeleton using metallic wires, then put epoxy putty around the skeleton to make a crude shape for the body. I then use art knives and other tools to do the sculpting work, slowly making all the details according to the design arts. A trusty old “analogue approach” if you will. In contrast, I have been trying the digital approach with ZBrushCore as well. Although I’m still learning, I can now make something like a head out of it.

In case of Kiki’s figure (and most of my figures), the final product is known as a “Garage Kit” — a box of unassembled, unpainted resin parts. The buyer builds and paints the figure by themselves. To turn the prototype into a garage kit, the finished prototype must first be broken into a few individual parts, make sure they have casting friendly shapes. Silicon-based rubber is then used to make molds out of those parts. Finally, flowing synthetic resin is injected into the molds and parts are harvested after the injected resin settled. This method is called “resin casting”. Although I can cast them at home by myself, I often commission a professional workshop to do it for me. It costs more that way, but they can produce parts of higher quality in large quantity.

How did you learn about Krita?

Some time ago I came across Tyson Tan’s character designs on and immediately became a big fan of his work. His Kiki pictures caught my attention and I did some research out of curiosity, leading me to Krita. I haven’t yet learned how to use Krita, but I’ll do that eventually.

Why did you decide to make a Kiki statuette?

Ryou: Before making Kiki, I had already collaborated with a few other artists, turning their characters into figures. Tyson has a unique way of mixing the beauty of living beings and futuristic robotic mechanism that I really liked, so I contacted him on Twitter. I picked a few characters from his creations as candidates, one of them was Kiki. Although more ”glamorous” would have been great too, after some discussion we finally decided to make Kiki.

Tyson: During the discussions, we looked into many of my original characters, some cute, some sexy. We did realize the market prefer figures with glamorous bodies, but we really wanted to make something special. Kiki being Krita’s mascot, a mascot of a free and open source art software, has one more layer of meaning than “just someone’s OC”. It was very courageous for Ryou to agree on a plan like that, since producing such a figure is very expensive and he would be the one to bear the monetary risk. I really admire his decision.

Where can people order them?

The Kiki figure kit can be ordered from my personal website. I send them worldwide:

Anything else you want to share with us?

I plan to collaborate with other artists in the future to make more furry figures like Kiki. I will contact the artist if I like their work, but you may also commission me to make a figure for a specific character.

I hope through making this Kiki figure I can connect with more people!

Ryou’s Personal Website: