• Français
  • Documentation 3DCoat
  • Chapters
    • Présentation de 3DCoat
    • Commencer
    • Interface et navigation
    • Composants de la Brush
    • Salles d’espaces de travail
    • Core API de Scripting et de base
    • Questions et réponses
    • licensing
    • Tutoriels de formation
  • Pilgway
  • Products
    • 3DCoat
    • 3DCoatTextura
    • 3DCoatPrint
    • PBRLibrary
  • Blog Posts
    • Creating 3D Character Using 3DCoat
  • Store
  • Français Français
    • English English
    • Українська Українська
    • Español Español
    • Deutsch Deutsch
    • 日本語 日本語
    • Русский Русский
    • 한국어 한국어
    • Polski Polski
    • 中文 (中国) 中文 (中国)
    • Português Português
    • Italiano Italiano
    • Suomi Suomi
    • Svenska Svenska
    • 中文 (台灣) 中文 (台灣)
    • Dansk Dansk
    • Slovenčina Slovenčina
    • Türkçe Türkçe
    • Nederlands Nederlands
    • Magyar Magyar
    • ไทย ไทย
    • हिन्दी हिन्दी
    • Ελληνικά Ελληνικά
    • Tiếng Việt Tiếng Việt
    • Lietuviškai Lietuviškai
    • Latviešu valoda Latviešu valoda
    • Eesti Eesti
    • Čeština Čeština
    • Română Română
    • Norsk Bokmål Norsk Bokmål
  • Documentation 3DCoat
  • Chapters
    • Présentation de 3DCoat
    • Commencer
    • Interface et navigation
    • Composants de la Brush
    • Salles d’espaces de travail
    • Core API de Scripting et de base
    • Questions et réponses
    • licensing
    • Tutoriels de formation
  • Pilgway
  • Products
    • 3DCoat
    • 3DCoatTextura
    • 3DCoatPrint
    • PBRLibrary
  • Blog Posts
    • Creating 3D Character Using 3DCoat
  • Store
  • Français Français
    • English English
    • Українська Українська
    • Español Español
    • Deutsch Deutsch
    • 日本語 日本語
    • Русский Русский
    • 한국어 한국어
    • Polski Polski
    • 中文 (中国) 中文 (中国)
    • Português Português
    • Italiano Italiano
    • Suomi Suomi
    • Svenska Svenska
    • 中文 (台灣) 中文 (台灣)
    • Dansk Dansk
    • Slovenčina Slovenčina
    • Türkçe Türkçe
    • Nederlands Nederlands
    • Magyar Magyar
    • ไทย ไทย
    • हिन्दी हिन्दी
    • Ελληνικά Ελληνικά
    • Tiếng Việt Tiếng Việt
    • Lietuviškai Lietuviškai
    • Latviešu valoda Latviešu valoda
    • Eesti Eesti
    • Čeština Čeština
    • Română Română
    • Norsk Bokmål Norsk Bokmål
Expand All Collapse All
  • Présentation de 3DCoat
  • Commencer
    • System requirements
    • Why 3DCoat is Unique?
    • Activation de 3DCoat
    • Erreur de démarrage
      • Startup error Mac
    • Color management
    • Upgrading permanent license
    • Linux Setup
      • Linux initial setup per-user installation
      • Linux initial setup for system
      • Tablet setup
      • To GTK3 from GTK2
      • Error libicuuc.so.70
    • Structure des dossiers
      • Custom documents folder
    • Différentes formes de « résolution »
    • Tablet on Window
    • Import et Export
    • Applinks dans 3DCoat
      • Lien de l'application Blender
        • Blender with the Applink in Linux
      • Blender 4.2/3/4/5 applink
      • Max Applink
      • Houdini applink
      • Lightwave uplink
  • Navigation
    • Boîte de dialogue d'ouverture (menu de démarrage rapide)
    • Panneau de navigation
    • Caméra et Navigation
      • Customize Navigation as Blender
    • Viewport Navigation Gizmo
    • Left tool panel
    •  Activity Bar
    • Navigation à l'aide d'appareils 3DConnexion
      • How to compile Spacenavd on non Ubuntu distro
    • Space Bar Menu
    • Stylus doesn’t work in sculpting
    • Raccourcis
  • Interface et navigation
    • Menu Fichier
    • Modifier le menu
      • Calculate Curvature
      • Calculate Occlusion
      • Light Baking Tool
      • Préférences
    • Afficher le menu
    • Symétrie
    • Textures
    • Calculate
    • Menu Couches
    • Geler le menu
    • Hide
    • Bake
    • Courbes 2022
      • Menu Courbes
      • Curves Properties RMB
      • Remplir avec une couche de maille
      • Scale of imported curves
    • Menu Fenêtres
      • Panneaux contextuels Windows à onglets
      • Curseurs
    • Scripts
    • Addons
    • Capture
    • Menu d'aide
    • Personnalisation
    • Modifier ou créer une nouvelle pièce
  • Composants de la Brush
    • Barre supérieure de la Brush
    • Brosses usage général
      • Créer des pinceaux et des décalcomanies
      • Faire de l'alpha à partir de la sculpture actuelle
      • Créer un Brush à partir d'un objet 3D
      • Create brushes based on Curves
      • Load photoshop .abr brushes
    • Coups
      • Menu contextuel Courbes
    • Options de Brush
    • Limiteur de conditions
    • Panneau de bandes
    • Panneau Pochoirs
    • Matériaux intelligents
      • Ajouter de nouvelles images ou matériaux
      • Attacher un matériau intelligent à un calque
      • Import Quixel Megascans
    • Comment créer des préréglages pour le Brush
  • Salles d'espaces de travail
    • Painting
      • Painting de texture et modes
        • Painting par Per-Pixel
        • Painting par déplacement (Micro-Vertex)
        • Painting Ptex
        • Painting de surface (polypeinture)
      • Importation dans la salle de Painting
        • Initial CC subdivision
        • UV Set smoothing
        • Sharp (hard) edge
        • Verrouiller les normales
        • Charger une nouvelle présentation UV après les modifications du modèle
        • DAZ Genesis models into 3DCoat
        • ID map
      • Menus de l'espace de travail de Painting
        • Edit menu
        • Menu Textures
          • Outils de Baking de textures
        • Cacher
        • Menu pour la Bake Paint
        • Le sélecteur de couleurs
      • Surface Materials
      • Barre supérieure pour la Painting
      • Le panneau Calques
        • Le panneau de fusion
        • Layer and Clipping Masks
      • Outils de salle de Painting
      • Opacité - Transparence
      • Ajuster l'espace de travail
        • Ensemble d'outils d'ajustement
        • Exportation à partir de la salle de réglages
      • Panneau de prévisualisation de masque/matériau
      • Exportation depuis la salle de Painting
    • Espace de travail UV
      • Barre supérieure UV
      • Panneau d'outils UV gauche
      • Panneau de prévisualisation UV
      • Exemple de flux de travail UV
      • Importation dans la chambre UV
      • Exportation depuis la chambre UV
    • Retopologie
      • Importation dans la salle Retopo
      • Menu Retopo Mesh et Menu Bake
        • Mode miroir virtuel
      • Bake menu
        • Treat Poly Groups as Paint Objects
        • Baking guide
      • Outil Traits en Retopologie
      • Barre du haut
        • Sélectionnez la géométrie
      • Panneau d'outils de gauche dans la salle de retopologie
        • Objectif général et fonction
        • Ajouter une géométrie
        • Outils d'ajustement Retopo
        • Outils UV
        • Commandes pour la salle de retopologie
      • AUTORETOPO
        • Autopo guide
      • Groupes poly
    • Sculpter
      • Sculpt Layer
      • Sculpter l'arbre
      • Options de Brush de sculpture
      • Top Bar
      • Moteur de Brush
      • Sous-menu Géométrie
      • Sculptez le menu "clic droit"
      • Shaders
      • Mode Voxel
        • Sculpture de Voxel purs
        • Densité et résolution
        • Moteur d'argile
        • Outils Voxel
        • Outils de surface sur Voxels
        • Outils de réglage des Voxel
        • Painting volumétrique
        • Outils d'objets Voxel
      • Mode surface
        • Outils de surface
        • Outils personnalisés de surface
        • Surface Layer
        • Outils de réglage de surface
        • Painting de surface
        • Outils Objets surfaciques
        • Résolution à plusieurs niveaux
          • Multires tools
          • Multires adjust
          • Multires commands
      • Sculpter les courbes
        • Courbes splines
        • Splines model creation
      • Déplacement vectoriel
      • Outils de transformation de surface
        • Outils de transformation de Voxel
        • Instancer
        • Move
        • Pose
        • Fit
        • Reproject
        • Surface Array
      • Primitives Voxel et outils Import
      • Booléens en direct
      • Commandes pour la salle Sculpt
      • Import dans la salle de sculpture
      • Exportation depuis la salle Sculpt
    • Rendre
      • Comparison of different roughness values
      • Fonctions du panneau de rendu
      • Plaque tournante
      • Fakebake l'éclairage - non PBR-
    • Factures
      • Flux de travail
    • Le plus simple
    • La modélisation
      • Mesh Menu
      • Panneau d'outils de gauche dans la salle de modélisation
        • Ajouter une géométrie
          • Choisi
        • tordre
        • Smart Hybrid
        • UV
          • Commandes
        • Maillage entier
      • Exemple de surface de loft par Fluffy
      • Blocage par Poeboi
      • Import Zbrush Polygroups for UV mapping
    • Kitbash - Création rapide de modèles 3D
      • Create kitbash
      • Left tool panel Kitbash
    • 3DPrint
    • Photogrammetry
      • How to install Reality Capture
      • Reality Capture doesn’t show up ?
    • Maillage vers la salle NURBS
    • Nodes
      • Sculpt shaders Bibliothèque de nœuds
  • Core API de Scripting et de base
    • Scripting
    • Core API
    • API Python
    • Extensions and Addons
  • 3DCoatPrint gratuit

Linux Setup

1583 views 0

Written by Carlos
June 21, 2024

Hello, dear Linux users!

The ABI incompatibility that we have encountered was the last straw that forced me to switch to Flatpak.

Here is the link to the Flatpak build with a detailed manual on installation:
https://pilgway.com/~sergyi/links-Linux.html

With help from Copilot, I have found and fixed a long-standing problem: the inability to run 3DCoat from the launcher using a Desktop file. After installing 3DCoat as Flatpak, you will see the 3DCoat icon in your Linux launcher.
This build can be unstable.
I see reports from Windows users complaining about the instability of 2026.01 in general. Please consider this build as a packaging test.

Regarding GTK2. A year ago, I ported the code to GTK3. Everything worked except one thing: 3DCoat’s internal modal dialogs, which it draws itself (not system modal dialogs), crashed the app. For more than a month, I investigated the problem without working on anything else. But because of the enormous size of the 3DCoat source code, I wasn’t able to determine the cause.
I reverted to the GTK2 code only because of those internal modal dialogs, and I notified the company that we should implement them differently. I have worked around the file dialog problem by building 3DCoat on Pop!_OS instead of Ubuntu.
The file dialog problem is another ABI incompatibility issue that Flatpak should now solve.

Some questions I have for you. As you know, I have developed the low-level foundation on which 3DCoat runs. That foundation isolates 3DCoat tools from the platform. To do that, I have rewritten each low-level function three times using different API on each platform: WinAPI on Windows, Cocoa on macOS, and GTK on Linux. That process is tedious because you do the same work three times. Moreover, you have to build the project source code three times with different compilers, which introduces optimization errors. In the case of Linux, you have to encounter ABI incompatibility between distributions. Given the complexity of this process, I was looking for an alternative.

Accidentally, in 2021, I learned about WebAssembly and fell in love with it. WebAssembly allows application developers to use a single API and to make a single build that runs everywhere. WebAssembly effectively solves the problem with updates, because users always run the latest uploaded build. I have ported the low-level foundation (let’s call it “engine”) to WebAssembly with deep modifications. You can see it here in action in my game:
https://underseagame.com
I developed this game in 2011 with an artist for iOS, but I have now ported it to my new WebAssembly engine.
What do you think about the idea of reimplementing some 3DCoat functionality on this new WebAssembly engine?
Please consider the real-world limitations of WebAssembly: single-threaded and 32-bit, whereas multithreading and 64-bit support are uneven and experimental. Obviously, the full 3DCoat source code is not portable to WebAssembly because it was not designed for it.
But some tools, some functions, could be.

How do you see the 3DCoat web tool? What essential functions should it have? Before raising this question in the company, I would like to hear your expert opinions.

Sergyi

Tags:linux

Was this helpful?

Yes  1 No
Related Articles
  • Extensions and Addons
  • Surface Layer
  • Error libicuuc.so.70
  • Space Bar Menu
  • Surface Materials
  • Factures
Previously
Upgrading permanent license
Up Next
Linux initial setup per-user installation
AI:
Hi! How can I help you?
Attention: This is a beta version of AI chat. Some answers may be wrong. See full version of AI chat