Blog • 2022. 11. 28.

Introducing an open-source creative software ecosystem for professional graphic design on Linux – Part 1

Eveluating Linux as a platform for graphic design

Product visualization Visualization Visualization tech consulting Website UI design Website UX design
Introducing an open-source creative software ecosystem for professional graphic design on Linux – Part 1

I'm a designer, and creative web developer. I've been using Microsoft Windows for design and web development projects, running mainstream creative proprietary software for more than a decade. In general, as a 'power user' I always had an excellent experience with proprietary operating systems and creative software: I've 10+ years of experience working with Adobe apps, and I'm an early adopter of some Affinity software. Due to my architectural background, I also have years of experience with 3D software, which I occasionally teach in different setups. To put my writing into context, I have to point out I'm amazed by how excellent these software are, and inspired to always learn something new about them. In early 2020 though, I started to rely more on Bash and command line tools in my development projects, and noticed a huge part of my tools were already open-source. By running WSL (Windows Subsystem for Linux), using Bash on Windows was really not a problem, but I realized quickly, they were my design tools why Windows (or macOS) seemed like the only platforms of choice.

Jumping into Linux was primarily driven by curiosity, and an intention to get involved with open-source software. Many developers think that Linux is the ideal platform for development, but maybe few designers choose Linux as the OS of their creative workstation. After using Linux and open-source software to create almost everything I do for more than a year, I share an efficient setup for, and my experience on designing on Linux, with no compromise. In Part 1 I'll eveluate Linux as a platform for graphic design in general, and in Part 2 I'll have a look on the individual apps that form a creative software ecosystem.

My jump into Linux was primarily driven by curiosity, and an intention to get involved with open-source software.

Essential tools of a digital designer: operating system and creative software

All digital designers using a computer need an operating system, which is usually either macOS, or Windows. MacOS is more popular among designers for historical, and other e.g. aesthetic reasons. Long ago it was common that creative software were only available for Mac, (which is much less frequent, but exists today – e.g. Sketch). These days though,the two OSs are on par for design work, and the choice is primarily a question of personal preference, or in some cases the availability of the very specific creative software you need.

Designers use creative software on their machines, which come either as part of full-featured creative suites, or individual tools for specific use cases. As well as the actual creative packages, there also are low-level and utility tools that help designers in their design workflow – like drivers and font managers.

Overviewing creative software categories: vector design, image editing, publication design and UX/UI design

We could categorize creative software lots of different ways, but there're few broad categories we can safely define. Though necessarily, there're some overlapping features, many software vendors target these distinct categories – which will be the focus of my writing:

  • Vector design (e.g. Adobe Illustrator, Affinity Designer)
  • Image editing (e.g. Adobe Photoshop, Affinity Photo)
  • Publication design (e.g. Adobe InDesign, Affinity Publisher)
  • UX/UI design (e.g. Adobe XD, Figma, Sketch)

3D modeling suites form a different software category on their own, being used in so many industries for a lot of different applications. However, we can also add them to the list, as many digital designers leverage 3D software in graphic design projects.

The list could go further, but the above categories already cover a huge part of creative applications from logo design and illustration through photo editing, from magazine design, to app- and web design, as well as 3D graphics and animation.

Overviewing proprietary creative software ecosystems: Adobe, Affinity and Corel

In order to put open-source design software into context, we must have a look on what proprietary creative software ecosystems are. The big creative software vendors develop complex software packages, that enable individuals, and different groups of creative professionals to efficiently work together across disciplines. For example, Adobe Photoshop is a powerful software on its own, but is also part of Adobe Creative Cloud sometimes just being one program used of the many in a bigger production. E.g. in a publication design workflow, Photoshop might be used for image editing, and InDesign for organizing the layout (even though software have some overlapping features, they're designed to excel in one specific area). Software within an ecosystem not only cover a more complete feature set, but are designed to work seamlessly together in a production. Some popular software ecosystem vendors are:

  1. Adobe
  2. Affinity
  3. Corel

3D applications are often part of different, not creative, but engineering software ecosystems, though collaboration tools exist to integrate them into creative pipelines. (Think of e.g. Adobe After Effects and Maxon Cinema 4D Lite.)

Due to the distributed nature of open-source teams, it's harder to think of creative software ecosystems in free software context. Popular creative software are huge projects on their own, with challenging organisational tasks. Most programs follow open standards though, and the well-scoped feature set and use case of each enable you to build a powerful production pipeline on them, comparable to proprietary suites.

/.../ it's harder to think of creative software in free software context.

Choosing a Linux distribution and desktop environment as a designer: Fedora and GNOME

Linux users have the freedom to choose their distribution – like Fedora and Ubuntu, and also their desktop environment – like GNOME and KDE. Some distros also come with spins, or flavours, designed for different user groups: for example Fedora has the Fedora Design Suite spin, that comes packaged with a huge selection of design software.

My distribution of choice is Fedora Workstation, with the default GNOME desktop environment. I like Fedora's commitment to the vanilla GNOME experience, which often is heavily customised by e.g. Ubuntu, and other distributions.

The desktop environment is basically the operating system's GUI, the primary layer designers will interact with. Popular environments are GNOME and KDE, which are often distribution defaults. I won't go into a detailed comparison here, but GNOME is often considered a lighter, simple UI with a more streamlined set of options, while KDE is a heavier alternative with endless customizability. I prefer GNOME, which I think has an excellent UX and very refined graphic design and typography.

Desktop environments differ not only in their UIs' appearance, but the set of applications they ship with. Have a look on e.g. GNOME's or KDE's app databases to get the idea. When comparing e.g. GNOME and KDE apps in general, we can say that the former are easier to use, while the latter have more features. It's important to note that you can run GNOME apps on KDE or vice versa, but the 'guest' apps won't look as native on the system because of the different UI conventions they were created with.

Many open-source creative apps are created on either the GTK, or the Qt toolkit. The GNOME apps are usually built on GTK, while KDE apps on Qt. Though GTK and Qt apps live and run side-by-side on a system, they behave and look different. In general, GTK apps look more native on GNOME, while Qt apps on KDE because of the underlying design principles and technology differences. Being aware of this will make your process smoother while dealing with both GTK and Qt apps in your workflow. There's also a lot you can do to make different apps' UIs more consistent on a system, but it's out of the scope of this article.

Dicussing low level and utility software for design: drivers, font managers and productivity tools

Digital designers rely on low-level software to efficiently do their graphic work, like video card drivers. It isn't trivial that the polished drivers available on macOS and Windows also exist for Linux. Linux comes with open-source in-kernel drivers, specifically the AMDGPU, and the nouveau drivers for AMD and nVidia cards respectively. They are sufficient in most cases, but may lack support for specific GPU features – like e.g. Optix support for nVidia RTX cards. If you use software that leverage these features, you should ensure that at least proprietary drivers exist to enable the GPU features you need, for the specific video card model – which often is the case.

A critical element of graphic design is type. Linux distributions support all common font formats, and their advanced typographic features. The OS has basic font management capabilities similar to either macOS or Windows, but more advanced – closed-source – font management tools also are available for Linux. We'll cover the basics of running propreitary design software on Linux in part two, including font managers.

A critical element of graphic design is type.

Professional work of any kind isn't possible without productivity tools, that we use to organize ourselfes and collaborate with others. As designers, we often need the same communication tools that our clients and partners have in order to be able to align with their workflows. Luckily, modern communication and project management software are often based on web technologies, so that also are platform-independent: we can keep in touch on Google Meets, Slack, Teams etc. or join virtual teams on Bitrix, Jira, Microsoft 365 etc. on Linux too. Keep in mind, that screen-sharing features of many productivity apps are only compatible with the X Window System, and not with Wayland yet – but it'll likely change soon.

In Part 1 we looked at the basics of what it means for a designer to work on Linux. For designers with a technical savviness, or for individuals who value open-source, Linux might be a good alternative to either macOS or Windows. Linux also excels, and – and in my oppinion – outperforms the latter in many low-level areas like file management, that make you more productive. Let's go to Part 2 to introduce the individual apps we can actually design with on Linux!