20 Nov 2019

feedPlanet KDE

How is User Support in Krita organized?

Current situation

Some of our users seem to don't really know how Krita (as a project) functions or not understand how User Support is done (User Support: helping users, solving their problems with Krita, hardware, use-cases, limitations of tools, misunderstanding on how some features work). That's natural - nobody knows details before they get inside and can see for themselves.

I did get inside and I'm tempted to write that the answer to the question in the title is "Not at all", but that's not actually true - often you'll get the first answer on reddit.com/r/krita within a few hours. On the other hand, the person answering you will most probably be me

When I first came to reddit.com/r/krita, a lot of questions were left unanswered, and most of the others had an answer from Boudewijn Rempt: the lead developer. I thought that I'd prefer Krita's main developer to develop, not answer user questions. I knew that helping Krita on the code side would be difficult because of the complexity of the code and me having little time between uni and writing my thesis, so I decided to help with user support which I could easily do in small chunks of free time. A year later, when I was hired to actually hack on Krita, I realized that now there is, again, a full-time Krita developer doing user support…

Now from all the places I am on (KDE forum, reddit, irc, krita-artists.org), reddit gets the highest number of questions. It's hard to estimate how many help posts we get there, but let's say it's 5 per day. Some of them are quite easy and requires only a link from my links set and the user answer is "Thank you, it's solved!", but some of them requires a long investigation into what the user is doing exactly and why the feature that is supposed to be working isn't working on their system.

On reddit, most posts are answered by me (full-time Krita developer), Snudl (volunteer) and le_becc (volunteer). Recently there is also yotzi - another full-time Krita developer, and Tusooa - ex-GSOC student, volunteer.

On the KDE forum, people helping are mostly Wolthera (full-time Krita developer), Boud (full-time developer and Krita project lead/maintainer) and Ahab (volunteer). Ahab is also great in bug triaging, does a huge amount of work in our bug reporting system. Wolthera is helping on tumblr as well.

On IRC, the helping person is nearly always a full-time developer - either me, Wolthera or Boud, sometimes someone else. On the Krita-Artists forum we don't get that many help requests yet, so it's hard to judge. But I did see Wolthera, Snudl and Ahab helping there already. We get quite a few questions on Steam app forum as well, and they are dealt with by Emmet or redirected to other support channels.

So to sum it up (I hope I didn't miss anyone, if I did, I'm sorry):

The thing is, our full-time developers are hired to develop Krita. I can't say for others, but I do user support outside of my working hours. And it takes quite a lot of mental energy to be constantly available. Volunteers have a lot on their plate too - it's just… Krita is used on 1.5 millions computers with Windows 10 alone, there is no way 8 people are going to manage all the user support that it's needed.

I know there are also Facebook groups and Discord and other places, but there is a bit of disconnect between the core Krita developers team and people there. I think Snudl is from Discord though.

So, what about it

I believe some new people are needed in the system. I would really like to see someone who would be willing to take the burden of checking every post on reddit, making sure they get the support they need - that every post is either solved, unsolvable or waiting for user response (sometimes indefinitely, which happens much more often than you'd imagine). If there was more than one person, let's say three of them, then every one of them would have much less to do. If there were a few other users who just check in from time to time and answer some of the questions, even just the easiest ones (basically how to use Krita, or questions solved by one of my links), that would create a situation where no one's job is too heavy or too time-consuming.

I do believe that the existence of someone who feels responsible for the whole platform is, at least now on reddit, forum etc., quite important - because otherwise some questions might get missed, some difficult ones might not get the attention they need since there is a question just next to it that seems much easier. But "helpers-visitors" are important as well, to keep the user support maintainer sane 🙂

If any of you, dear readers, want to help in any way, or maybe even waited to engage in open source project, even specifically Krita, for a long time but never had the courage to step in, please contact me on IRC (on freenode, or https://krita.org/irc/): tiar or tiar-[any two letters], on http://reddit.com/r/krita: /u/-tiar- , or on https://krita-artists.org: tiar.

Learn more

Some tips for user supporters: https://docs.krita.org/en/contributors_manual/user_support.html

My powerful list of links:

Mac crash log instruction https://www.reddit.com/r/krita/comments/ck6alb/krita_crashes_when_saving/
reset configuration https://docs.krita.org/en/KritaFAQ.html#resetting-krita-configuration
tablet: https://docs.krita.org/en/contributors_manual/user_support.html#quick-solutions
crash: https://docs.krita.org/en/reference_manual/dr_minw_debugger.html
onion skin: https://www.deviantart.com/tiarevlyn/art/Krita-onion-skin-issues-chart-788623742
render issues; https://www.deviantart.com/tiarevlyn/art/T-Krita-4-1-7-rendering-issues-manual-783473428
what to do with printing: https://www.reddit.com/r/krita/comments/bv6g6o/rgba_conversion_to_cmyka/epo7zxg?utm_source=share&utm_medium=web2x
xp pens tablets https://www.reddit.com/r/krita/comments/btzh72/xppen_artist_12s_issue_with_krita_how_to_fix_it/
krita vs gimp https://www.reddit.com/r/linux/comments/bu34p1/krita_42_released/ep8zno3?utm_source=share&utm_medium=web2x
why tablets doesn't work https://www.reddit.com/r/krita/comments/c1drjb/cursor_freezes_when_i_try_to_draw/erciuhv?utm_source=share&utm_medium=web2x
how to use Krita Plus flatpak https://www.reddit.com/r/krita/comments/ctsfai/krita_plus_flatpak_builds/
krita vs corel painter https://www.reddit.com/r/krita/comments/cu164l/first_pic_since_transitioning_to_krita_cant/exrkviv?utm_source=share&utm_medium=web2x
painting in CMYK https://krita-artists.org/t/is-working-in-cmyk-worth-it/129
tips & tricks: https://www.reddit.com/r/krita/comments/dorjwf/any_advanced_krita_tutorials_tips_you_can_share/f5ps599?utm_source=share&utm_medium=web2x

20 Nov 2019 2:45pm GMT

Krita 4.2.8 Beta

We had to skip the October release because we were working on a bunch of issues that took longer to resolve than planned, but that means that this release has more fixes than ever. Please test this beta, and take the survey afterwards!

There has been a lot of work on vector shapes, the transform tool and, especially, saving on Windows. Windows usually only writes out saved files to the actual disk when it feels like it.

So if you'd cut the power to your computer before Windows did that, you might get corrupted files. With 1,500,000 distinct Windows 10 users of Kritain the past month, chances are good for that happening (just like there are people who work exclusively with unnamed autosave files - don't do that!), so we now try to force Windows to write files to disk after saving.



For the beta, you should only only use the portable zip files. Just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.


(If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.)


Note: the gmic-qt is not available on OSX.

Source code


For all downloads:

Support Krita

Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos! With your support, we can keep the core team working on Krita full-time.

20 Nov 2019 10:02am GMT

18 Nov 2019

feedPlanet KDE

Linux Applications Summit

I had the pleasure of going to the Linux Applications Summit last week in Barcelona. A week of talks and discussion about getting Linux apps onto people's computers. It's the third one of these summits but the first ones started out with a smaller scope (and located in the US) being more focused on Gnome tech, while this renamed summit was true cross-project collaboration.


Oor Aleix here opening the conference (Gnome had a rep there too of course).


It was great to meet with Heather here from Canonical's desktop team who does Gnome Snaps, catching up with Alan and Igor from Canonical too was good to do.


Here is oor Paul giving his talk about the language used. I had been minded to use "apps" for the stuff we make but he made the point that most people don't associate that word with the desktop and maybe good old "programs" is better.


Oor Frank gave a keynote asking why can't we work better together? Why can't we merge the Gnome and KDE foundations for example? Well there's lots of reasons why not but I can't help think that if we could overcome those reasons we'd all be more than the sum of our parts.

I got to chat with Ti Lim from Pine64 who had just shipped some developer models of his Pine Phone (meaning he didn't have any with him).

Pureism were also there talking about the work they've done using Gnomey tech for their Librem5 phone. No word on why they couldn't just use Plasma Mobile where the work was already largely done.

This conference does confirm to me that we were right to make a goal of KDE to be All About the Apps, the new technologies and stores we have to distribute our programs we have mean we can finally get our stuff out to the users directly and quickly.

Barcelona was of course beautiful too, here's the cathedral in moonlight.


18 Nov 2019 3:04pm GMT

15 Nov 2019


Hans de Goede: Creating an USB3 OTG cable for the Thinkpad 8

The Lenovo Thinkpad 8 and also the Asus T100CHI both have an USB3 micro-B connector, but using a standard USB3 OTG (USB 3 micro-B to USB3-A receptacle) cable results in only USB2 devices working. USB3 devices are not recognized.

Searching the internet learns that many people have this problem and that the solution is to find a USB3 micro-A to USB3-A receptacle cable. This sounds like nonsense to me as micro-B really is micro-AB and is supposed to use the ID pin to automatically switch between modes dependent on the used cable.; and this does work for the USB-2 parts of the micro-B connector on the Thinkpad. Yet people do claim success with such cables (with a more square micro-A connector, instead of the trapezoid micro-B connector). The only problem is such cables are not for sale anywhere.

So I guessed that this means is that they have swapped the Rx and Tx superspeed pairs on the USB3 only part of the micro-B connector, and I decided to cut open one of my USB3 micro-A to USB3-A receptacle cables and swap the superspeed pairs. Here is what the cable looks like when it it cut open:

If you are going to make such a cable yourself, to get this picture I first removed the outer plastic isolation (part of it is still there on the right side in this picture). Then I folded away the shield wires till they are all on one side (wires at the top of the picture). After this I removed the metal foil underneath the shield wires.

Having removed the first 2 layers of shielding this reveals 4 wires in the standard USB2 colors: red, black, green and white. and 2 separately shielded cable pairs. On the picture above the separately shielded pairs have been cut, giving us 4 pairs, 2 on each end of cable; and the shielding has been removed from 3 of the 4 pairs, you can still see the shielding on the 4th pair.

A standard USB3 cable uses the following color codes:

So to swap RX and TX we need to connect purple to blue / blue to purple and orange to yellow / yellow to orange, resulting in:

Note the wires are just braided together here, not soldered yet. This is a good moment to carefully test the cable. Also note that the superspeed wire pairs must be length matched, so you need to cut and strip all 8 cables at the same length! If everything works you can put some solder on those braided together wires, re-test after soldering, and then cover them with some heat-shrink-tube:

And then cover the entire junction with a bigger heat-shrink-tube:

And you have a superspeed capable cable even though no one will sell you one.

Note that the Thinkpad 8 supports ACA mode so if you get an ACA capable "Y" cable or an ACA charging HUB then you can charge and use the Thinkpad 8 USB port at the same time. Typically ACA "Y" cables or hubs are USB2 only. So the superspeed mod from this blogpost will not help with those. The Asus T100CHI has a separate USB2 micro-B just for charging, so you do not need anything special there to charge + connect an USB device.

15 Nov 2019 8:10pm GMT

10 Nov 2019


Rodrigo Siqueira: Status Update and XDC 2019, October 2019

It has been a while since my last post, but there is a simple reason for that: on August 5th, I had to move from Brazil to Canada. Why did I move? Thanks to Harry Wentland recommendation, I got an interview for a software engineering position at AMD (Markham), and I got hired to work on the display team. From now on, I suppose that I'll be around the DRM subsystem for a long time :). Even though I'm now employed by AMD this post reflect my personal thoughts only and should not be construed to represent AMD in any way.

I have a few updates about my work with the community since I have been busy with my relocation and adaptation. However, my main updates came from XDC 2019 [1] and I want to share it here.

XDC 2019 - Montréal (Concordia University Conference)

This year I had the great luck joining XDC again. However, at this time, I was with Harry Wentland, Nicholas Kazlauskas, and Leo Li (we worked together at AMD). We put effort into learning from other people's experiences, and we tried to know what the compositor developers wanted to see in our driver. We also used this opportunity to try to explain a little bit more about our hardware features. In particular, we had conversations about Freesync, MST, DKMS, and so forth. Thinking of that, I'll share my view of the most exciting moments that we had.


As usual, I tried my best to understand what people want to see in VKMS soon or later. For example, from the XDC 2018, I focused on fixing some bugs but mainly in add writeback support cause it could provide a visual output (this work is almost done, see [2]). This year I collected feedback from multiple people (special thanks to Marten, Lyude, Hiler, and Harry), and from these conversations I tend to work in the following tasks:

  1. Finish the writeback feature and enable visual output;
  2. Add support for adaptive refresh rate;
  3. Add support for "dynamic connectors", which can enable the MST test.

Additionally, Martin Peres gave a talk that he shared his views for the CI and test. In his presentation, he suggested using VKMS to validate the API, and I have to admit that I'm really excited about this idea. I hope that I can help with this.


The amdgpu drivers support a technology named Freesync [3]. In a few words, this feature allows the dynamic change of the refreshes rate, which can bring benefits for games and for power saving. Harry Wayland talked about that feature and you can see it here:

Video 1: Freesync, Adaptive Sync & VRR

After Harry's presentation, many people asked interesting questions related to this subject, this situation caught my attention, and for this reason, I added the VRR to my roadmap in the VKMS. Roman Gilg, from KDE, was one of the developers that asked for a protocol extension in Wayland for support Freesync; additionally, compositor developers asked for mechanisms that enable them to know in advance if the experience of a specific panel will be good or not. Finally, there were some discussions about the use of Freesync for power saving and in an application that requires time-sensitive.

IGT and CI

This year I kept my tradition of asking thousands of questions to Hiler with the goal of learning more about IGT, and as usual, he was extremely kind and gentle with my questions (thanks Hiler). One of the concepts that Hiler explained to me, it is the use of podman (https://podman.io/) for prepare IGT image, for example, after a few minutes of code pair with him I could run IGT on my machine after executing the following commands:

sudo su
podman run --privileged registry.freedesktop.org/drm/igt-gpu-tools/igt:master
podman run --privileged registry.freedesktop.org/drm/igt-gpu-tools/igt:master \
                        igt_runner -t core_auth
podman run --privileged registry.freedesktop.org/drm/igt-gpu-tools/igt:master \
                        igt_runner -t core_auth /tmp
podman run --privileged -v /tmp/results:/results \
  registry.freedesktop.org/drm/igt-gpu-tools/igt:master igt_runner -t core_auth /results

We also had a chance to discuss CI with Martin Peres, and he explained his work for improving the way that the CI keep track of bugs. In particular, he introduced a fantastic tool named cibuglog, which is responsible for keep tracking of test failures and using this data for building a database. Cibuglog has many helpful filters that enable us to see test problems associated with a specific machine and bugs in the Bugzilla. The huge insights from cibuglog it is the idea of using data for helping with bug tracking. Thanks Martin, for showing us this amazing tool.


I just want to finish this post with brief updates from my work with free software, starting with kw and finish with VKMS.

Kernel Workflow (kw)

When I started to work with VKMS, I wrote a tool named kworkflow, or simply kw, for helping me with basic tasks related to Kernel development. These days kw reborn to me since I was looking for a way to automate my work with amdgpu; as a result, I implemented the following features:

Unfortunately, the code is not ready for merging in the main branch, I'm working on it; I think that in a couple of weeks, I can release a new version with these features. If you want to know a little bit more about kw take a look at https://siqueira.tech/doc/kw/


I was not working in VKMS due to my change of country; however, now I am reworking part of the IGT test related to writeback, and as soon as I finish it, I will try to upstream it again. I hope that I can also have the VKMS writeback merged into the drm-misc-next by the end of this month. Finally, I merged the prime supported implemented by Oleg Vasilev (huge thanks!).


[1] "First discussion in the Shayenne's patch about the CRC problem". URL: https://xdc2019.x.org.

[2] "Introduces writeback support". URL: https://patchwork.freedesktop.org/series/61738/.

[3] "FreeSync". URL: https://en.wikipedia.org/wiki/FreeSync.

10 Nov 2019 2:00am GMT

05 Nov 2019


Hans de Goede: Xwayland randr resolution change emulation now available in Fedora 31

As mentioned in an earlier blogpost, I have been working on fixing many games showing a small image centered on a black background when they are run fullscreen under Wayland. In that blogpost I was moslty looking at how to solve this for native Wayland games. But for various reasons almost all games still use X11, so instead I've ended up focussing on fixing this for games using Xwayland.

Xwayland now has support for emulating resolution changes requested by an app through the randr or vidmode extensions. If a client makes a resolution change requests this is remembered and if the client then creates a window located at the monitor's origin and sized to exactly that resolution, then Xwayland will ask the compositor to scale it to fill the entire monitor.

For apps which use _NET_WM_FULLLSCREEN (e.g. SDL2, SFML or OGRE based apps) to go fullscreen some help from the compositor is necessary. This is currently implemented in mutter. If you are a developer of another compositor and have questions about this, please drop me an email.

I failed to get this all upstream in time for Fedora 31 final. But now it is all upstream, so 've backported the changes and created an update with the changes. This update is currently in updates-testing, to install this update run the following command:

sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2019-103a594d07

05 Nov 2019 8:41am GMT