Graphics

An infinite canvas,and a brush

MyPaint, on a Void Linux desktop of your own.No page size, no dialogs — the brush, the canvas, and pressure.

MyPaint 2.0.12 cores · 4 GBOpens in a browser tab
hub://mypaint

$ dxflow workflow create --identity mypaint hub://mypaint --start --link

01Pick a machinecores, memory and a rate per hour
02Create the workflowpulled from the hub, once
03Run it, then stopstopped when the work is done
The application

Nothingin the way

MyPaint hides everything that is not the drawing you are making.

Brushes that feel it

Pressure, tilt and speed drive the stroke, with a large set to start from.

No edges

The canvas grows as you draw, so the composition is decided afterwards.

Layers and groups

Enough layering for a full illustration, saved as ORA and opened by GIMP.

How you run it

Every defaultis one override away

The session reads its settings from the environment, so you set them on the start line.

VNC_PASSWORDWhat the tab asks for. It ships as dxflow, and everyone reading this knows that.
PANEL and TASKBARBoth hidden, so the canvas has the whole screen. Show either one to get the desktop back.
AUDIOOff here. Turn it on and the desktop sound is streamed beside the picture.
start it your way

$ dxflow workflow start mypaint --override env.app.VNC_PASSWORD=something-long

$ dxflow workflow start mypaint --override env.app.TASKBAR=show --link

The session

The canvasfills the screen

Streamed to your browser, with MyPaint already maximized.

6082Browserin the tab, at /vnc.html
5901VNCin a native client
/volumeStorageyour files, kept between runs
Open it from anywhereStart with --link and the session comes back on an HTTPS address.
Set a password firstVNC_PASSWORD defaults to dxflow, and everyone can read this page.
Good to know

A mouse is nota pressure-sensitive pen

MyPaint is built around a brush engine that listens for pressure, and a streamed session has none to give it.

No tilt, no pressure

What arrives is cursor position and clicks. The expressive brushes flatten out, which is worth knowing before you start.

The canvas has no edge

There is no document size to commit to. Keep painting outward and crop when you export.

Work belongs on the volume

Keep the ORA and the exports under /volume, and the next start opens with the painting still there.

The image

Pulled once,then it stays

MyPaint arrives as one image. This is what comes down the first time, and what the disk should have free for it.

312Mamd64compressed, the way the registry counts it
307Marm64compressed, the way the registry counts it
20GOn diskunpacked, with room to work beside it
ghcr.io/dxflow-ai/mypaint:latestPublished from the hub, pulled on the first start and kept for the ones after it.
Either architectureamd64 and arm64 are both published, and the machine pulls the one it runs.
What it asks for

What it wants,and what it needs

The definition asks for 2 cores and 4 GB. The image comes up on less than that, and a start given --fit trims the ask to whatever the machine actually has.

2 cores · 4 GBAsks forwhat the definition writes down
2 cores · 2 GBRuns onthe least the image comes up on
Not neededGPUit works on the cores alone
The ask is not the floorThe definition writes down what suits the work. The image itself starts on less, which is what the second figure is.
--fit caps it to the hostA start given --fit trims each step to what the machine actually has, for that start alone. The definition is never rewritten.

Machines that fit it

MyPaint asks for 2 cores and 4 GB. Cheapest first.

E2 Medium
$0.042/ hour2 cores · 4 GBStart this machine
T3 Medium
$0.052/ hour2 cores · 4 GBStart this machine
B2s
$0.052/ hour2 cores · 4 GBStart this machine
Run MyPaint on your own machinePick a machine that meets it, and it opens about a minute after you ask.