• Slovenčina
  • Dokumentácia 3DCoat
  • Chapters
    • Úvod do 3DCoat
    • Začíname
    • Rozhranie a navigácia
    • Komponenty Brush
    • Pracovné priestory Miestnosti
    • Scripting a Core API
    • Otázky/Odpovede
    • licensing
    • Školenia
  • Pilgway
  • Products
    • 3DCoat
    • 3DCoatTextura
    • 3DCoatPrint
    • PBRLibrary
  • Blog Posts
    • Creating 3D Character Using 3DCoat
  • Store
  • Slovenčina Slovenčina
    • English English
    • Українська Українська
    • Español Español
    • Deutsch Deutsch
    • Français Français
    • 日本語 日本語
    • Русский Русский
    • 한국어 한국어
    • Polski Polski
    • 中文 (中国) 中文 (中国)
    • Português Português
    • Italiano Italiano
    • Suomi Suomi
    • Svenska Svenska
    • 中文 (台灣) 中文 (台灣)
    • Dansk Dansk
    • 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
  • Dokumentácia 3DCoat
  • Chapters
    • Úvod do 3DCoat
    • Začíname
    • Rozhranie a navigácia
    • Komponenty Brush
    • Pracovné priestory Miestnosti
    • Scripting a Core API
    • Otázky/Odpovede
    • licensing
    • Školenia
  • Pilgway
  • Products
    • 3DCoat
    • 3DCoatTextura
    • 3DCoatPrint
    • PBRLibrary
  • Blog Posts
    • Creating 3D Character Using 3DCoat
  • Store
  • Slovenčina Slovenčina
    • English English
    • Українська Українська
    • Español Español
    • Deutsch Deutsch
    • Français Français
    • 日本語 日本語
    • Русский Русский
    • 한국어 한국어
    • Polski Polski
    • 中文 (中国) 中文 (中国)
    • Português Português
    • Italiano Italiano
    • Suomi Suomi
    • Svenska Svenska
    • 中文 (台灣) 中文 (台灣)
    • Dansk Dansk
    • 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
  • Úvod do 3DCoat
  • Začíname
    • System requirements
    • Why 3DCoat is Unique?
    • Aktivácia 3DCoat
    • Chyba pri spustení
      • 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
    • Štruktúra priečinkov
      • Custom documents folder
    • Rôzne formy „rozlíšenia“
    • Tablet on Window
    • Import & Export
    • Applinks v 3DCoat
      • Odkaz na aplikáciu Blender
        • Blender with the Applink in Linux
      • Blender 4.2/3/4/5 applink
      • Max Applink
      • Houdini applink
      • Lightwave uplink
  • Navigation
    • Otvorenie dialógového okna (ponuka rýchleho spustenia)
    • Navigačný panel
    • Fotoaparát a navigácia
      • Customize Navigation as Blender
    • Viewport Navigation Gizmo
    • Left tool panel
    •  Activity Bar
    • Navigácia pomocou zariadení 3DConnexion
      • How to compile Spacenavd on non Ubuntu distro
    • Space Bar Menu
    • Stylus doesn’t work in sculpting
    • Klávesové skratky
  • Rozhranie a navigácia
    • Ponuka Súbor
    • Menu Upraviť
      • Calculate Curvature
      • Calculate Occlusion
      • Light Baking Tool
      • Predvoľby
    • Zobraziť menu
    • Symetria
    • Textures
    • Calculate
    • Menu Vrstvy
    • Menu zmrazenia
    • Hide
    • Bake
    • Krivky 2022
      • Menu Krivky
      • Curves Properties RMB
      • Vyplňte sieťovou vrstvou
      • Scale of imported curves
    • Menu systému Windows
      • Vyskakovacie panely systému Windows s kartami
      • Posúvače
    • Scripts
    • Addons
    • Capture
    • Ponuka Pomoc
    • Prispôsobenie
    • Upravte alebo vytvorte novú miestnosť
  • Komponenty Brush
    • Vrchná lišta Brush
    • Štetce na všeobecné použitie
      • Vytvárajte štetce a nálepky
      • Vytváranie alfy zo súčasného sochárstva
      • Vytvorte Brush z 3D objektu
      • Create brushes based on Curves
      • Load photoshop .abr brushes
    • Ťahy
      • Vyskakovacie menu Krivky
    • Možnosti Brush
    • Obmedzovač podmienok
    • Panel pásov
    • Panel šablón
    • Inteligentné materiály
      • Pridajte nové obrázky alebo materiály
      • Pripojte inteligentný materiál k vrstve
      • Import Quixel Megascans
    • Ako vytvoriť predvoľby pre Brush
  • Pracovné priestory Miestnosti
    • Painting
      • Painting textúr a režimy
        • Painting na Per-Pixel
        • Displacement Painting (Micro-Vertex)
        • Ptex Painting
        • Povrchové Painting (Polypainting)
      • Import do Painting
        • Initial CC subdivision
        • UV Set smoothing
        • Sharp (hard) edge
        • Zamknúť Normály
        • Načítať nové rozloženie UV po zmenách modelu
        • DAZ Genesis models into 3DCoat
        • ID map
      • Ponuky pracovného priestoru Painting
        • Edit menu
        • Menu textúry
          • Nástroje na Baking textúr
        • Skryť
        • Menu pre Bake Paint
        • Výber farieb
      • Surface Materials
      • Horná lišta pre Painting
      • Panel Vrstvy
        • Panel miešania
        • Layer and Clipping Masks
      • Nástroje na Painting
      • Nepriehľadnosť – transparentnosť
      • Vylaďte pracovný priestor
        • Súprava nástrojov Tweak
        • Export z Tweak Room
      • Panel náhľadu masky/materiálu
      • Export z miestnosti na Painting
    • Pracovný priestor UV
      • Horná UV lišta
      • UV Ľavý panel nástrojov
      • Panel náhľadu UV
      • Príklad pracovného postupu UV
      • Import do UV miestnosti
      • Vývoz z UV miestnosti
    • Retopológia
      • Import do miestnosti Retopo
      • Menu Retopo Mesh a Menu pečenia
        • Režim virtuálneho zrkadla
      • Bake menu
        • Treat Poly Groups as Paint Objects
        • Baking guide
      • Nástroj ťahy v Retopológii
      • Horná lišta
        • Vyberte geometriu
      • Ľavý panel nástrojov v miestnosti retopológie
        • Celkový účel a funkcia
        • Pridať geometriu
        • Retopo Tweak Tools
        • UV nástroje
        • Príkazy pre miestnosť retopológie
      • AUTORETOPO
        • Autopo guide
      • Poly skupiny
    • Sculpt
      • Sculpt Layer
      • Vyrezávať strom
      • Možnosti Sculpt Brush
      • Top Bar
      • Motor Brush
      • Podmenu Geometria
      • Vystrihnite ponuku „Kliknite pravým tlačidlom myši“.
      • Shaders
      • Voxel režim
        • Čisté vyrezávanie Voxel
        • Hustota a rozlíšenie
        • Hlinený motor
        • Nástroje Voxel
        • Povrchové nástroje na voxeloch
        • Nástroje na úpravu Voxel
        • Objemové Painting
        • Nástroje Voxel objektov
      • Povrchový režim
        • Povrchové nástroje
        • Vlastné nástroje pre povrch
        • Surface Layer
        • Nástroje na úpravu povrchu
        • Povrchové Painting
        • Nástroje povrchových objektov
        • Viacúrovňové rozlíšenie
          • Multires tools
          • Multires adjust
          • Multires commands
      • Vytvarujte krivky
        • Spline krivky
        • Splines model creation
      • Vektorové posunutie
      • Nástroje na transformáciu povrchu
        • Nástroje na transformáciu Voxel
        • Instancer
        • Move
        • Pose
        • Fit
        • Reproject
        • Surface Array
      • Voxel Primitives & Import Tools
      • Živé boolovské hodnoty
      • Príkazy pre miestnosť Sculpt
      • Import do Sculpt Room
      • Export z miestnosti Sculpt Room
    • Vykresliť
      • Comparison of different roughness values
      • Funkcie panela vykresľovania
      • Gramofón
      • Falošné osvetlenie - bez PBR-
    • Factures
      • Pracovný tok
    • Najjednoduchšie
    • Modelovanie
      • Mesh Menu
      • Ľavý panel nástrojov v Modelárni
        • Pridať geometriu
          • Vybraný
        • Tweak
        • Smart Hybrid
        • UV
          • Príkazy
        • Celá sieťovina
      • Príklad loftového povrchu od Fluffy
      • Blockout od Poeboi
      • Import Zbrush Polygroups for UV mapping
    • Kitbash - Rýchla tvorba 3D modelov
      • Create kitbash
      • Left tool panel Kitbash
    • 3DPrint
    • Photogrammetry
      • How to install Reality Capture
      • Reality Capture doesn’t show up ?
    • Sieťka do miestnosti NURBS
    • Nodes
      • Sculpt shaders Nodes Library
  • Scripting a Core API
    • Scripting
    • Core API
    • Python API
    • Extensions and Addons
  • Bezplatná 3DCoatPrint

Linux Setup

1598 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