Chamesle Download

Docs

Installing Chamesle, getting apps, keeping it updated, and fixing things.

First steps

After installing, you restart straight into your desktop. Some things worth knowing:

Installing Chamesle

Before you install, back up anything important. Shrinking Windows works fine almost always, but “almost” isn't “always”. If Windows uses BitLocker, get the recovery key (aka.ms/myrecoverykey) or turn BitLocker off before you start.

Boot the USB stick and pick Install Chamesle. Jiggity, the installer, asks everything first and installs after, so you can walk away once you've answered. It needs the internet, by cable or Wi-Fi, to download your desktop.

  1. Language and keyboard: pick yours from the lists.
  2. Network: a cable just works. For Wi-Fi, pick your network and type the password.
  3. Time zone: your region, then your city.
  4. You: your name, a username, a password and a name for the computer.
  5. Disk: a whole drive, or the free space next to Windows. To keep Windows, shrink it from Windows first (Disk Management, “Shrink Volume”) so there's free space to pick. Tick encryption if you want it.
  6. Desktop: Xfce, MATE, Cinnamon, GNOME, KDE Plasma, Astro, Ranni, Play, TTY, or Server with no desktop.
  7. Summary: check it and pick Install. Nothing on your disk changes before this. Restart when it's done and take the stick out.

Installing apps

The easiest way is the Store in the menu: search, click Install. It has Flathub apps and the Chamesle repo in one place.

From a terminal, desktop apps come from Flathub. You can browse it at flathub.org, click Install there, and it opens on your computer. Or in a terminal:

flatpak search obs
flatpak install flathub com.obsproject.Studio

For everything else there's the system package manager. See the packages page. Got a .deb or .rpm? From 0.2 you can double-click it.

Updates

Flathub apps:

flatpak update

The system, from 0.2:

sudo apk upgrade

Updates come out every week. You don't have to remember: when there are some, an icon shows up next to the clock. Click it to update everything, system and Flathub apps. On 0.1 it's sudo xbps-install -Su.

Undoing an update

From 0.4, Chamesle takes a snapshot of the system before every update and keeps the last 3. If an update breaks something:

  1. Restart, and in the boot menu pick Chamesle Linux, from before an update, then the update you want to go back before.
  2. Chamesle starts as it was then, and asks if you want to keep it. Click Keep this one, and it's your system from the next restart.

Your files aren't in the snapshots, so they never go back in time. To see the snapshots: chamesle-snapshot list. This works on systems installed from 0.4 on, which use btrfs; older installs don't have snapshots.

Services

Chamesle uses dinit instead of systemd. Services are small text files in /etc/dinit.d/. You control them with dinitctl:

dinitctl listwhat's running
sudo dinitctl start sshdstart a service now
sudo dinitctl stop sshdstop it
sudo dinitctl enable sshdstart it on every boot
sudo dinitctl disable sshddon't

A service file looks like this:

type = process
command = /usr/bin/sshd -D
depends-on = network

Windows programs

Double-click a .exe or .msi. The first time, Chamesle offers to install Windows support (Wine). It needs about 3 GB. Programs you install this way show up in your menu like any other app. Not every Windows program works; the Wine app database says how well a given one does.

For Steam games, use Steam (it's on Flathub) and turn on Proton in its settings.

ttywm

ttywm is our window manager that looks like the console: a full screen shell on every screen, and windows floating on top in frames drawn with box characters. Install it on any Chamesle:

sudo apk add ttywm

Then log out and pick ttywm on the sign-in screen.

Keys and clicks

Super is the Windows key.

Super+Entera new terminal window
Super+Dthe apps menu
Super+Qclose the window
Super+Tabthe next window, then back to the shell
Super+Ffull screen
Super+1 to 9go to tty1 to tty9, each has its own shell
Super+Shift+1 to 9send the window to that tty
Super+Shift+Elog out
volume keysvolume

With the mouse: click [x] to close a window, drag its title to move it, drag its bottom right corner to resize it. Super+drag moves a window from anywhere, Super+right drag resizes it. Click the shell to type in it again. On the bottom line, click the volume to mute, scroll on it to change it, and click the network to connect to Wi-Fi.

Settings

All the settings are in one file, ~/.config/ttywm/config. ttywm makes it the first time it starts. Open it in any text editor:

nano ~/.config/ttywm/config

Each line is a setting, then =, then what you want. Change what's after the = and save: ttywm sees it within a second, no restart. Lines that start with # are notes, ttywm skips them.

window colour = whitethe frame of the window you're in
other windows colour = greythe frames of the other windows
title colour = whitethe window titles
bottom line colour = greythe bottom line
text size = normalnormal, or big for small sharp screens. Changes when you log in again
network = onshow the network on the bottom line, on or off
volume = onthe same for the volume
battery = onthe battery. A + after it means it's charging
date = onthe date
clock = 24 hour24 hour, 12 hour or off
terminal = ttywm-termthe terminal Super+Enter opens
apps menu = rofi -show drunwhat Super+D opens

The colours are the console's sixteen: black, blue, green, cyan, red, magenta, brown, grey, dark grey, light blue, light green, light cyan, light red, pink, yellow and white.

Your own keys

A key is the keys joined with +, then =, then what it does. It can open any program:

super+w = firefox
super+e = thunar
ctrl+alt+t = ttywm-term

Or do one of these: terminal, apps menu, close window, next window, full screen, log out.

super+x = close window

You can use super, shift, ctrl and alt, with a letter, a number, f1 to f12, enter, tab, space, esc, backspace, delete, the arrows (up, down, left, right), home, end or print. Super+1 to 9 and the volume keys are always there. Delete a key's line and the key does nothing.

Starting programs when you log in

One start line per program:

start = firefox
start = nm-applet

These run when you log in, not when you save the file.

Made a mess of the file? Delete it and log in again: ttywm writes a fresh one.

rm ~/.config/ttywm/config

Hardware

Firmware for most Wi-Fi cards, graphics cards and Bluetooth adapters is already included, and Intel and AMD graphics work out of the box. Printers are handled by CUPS: open Printers from the menu or go to http://localhost:631.

NVIDIA cards work with the open-source driver out of the box. For games you want NVIDIA's own driver: open Driver Manager from the menu, it finds the right one for your card. It also handles some Broadcom Wi-Fi chips, HP printers and scanners, and the extras for VirtualBox and VMware.

FAQ

Is it free?

Yes. No cost, no ads, no account, no tracking.

Can I install it next to Windows?

Yes, from 0.2. The installer finds Windows, makes room next to it, and you pick which one to start at boot. See Installing Chamesle.

Will my games work?

Most Steam games do, through Proton. Install Steam from Flathub, then turn on Steam Play in its settings. Games with kernel-level anti-cheat (Valorant, some battle royales) won't.

Can I run Windows programs?

A lot of them, with Wine or Bottles (on Flathub). Check WineHQ's app database for how well a specific program works.

Why dinit and not systemd?

It's small, fast, and easy to understand. A service is a five line text file. For a desktop you won't notice the difference, except maybe that it boots quicker.

Is it based on another distro?

Yes, on Void Linux. Chamesle's packages start from Void's, converted to apk and signed with our own key. On top of that it's Chamesle's own: dinit instead of runit, its own repo and update schedule, the installer setup, look and defaults, and tools like pkgimport, the Store and the Driver Manager. The installer is based on Linux Mint's.

Cinnamon: downloading themes or applets says "int() argument must be ... not 'NoneType'".

The Cinnamon version Chamesle ships expects the download server to say how big each file is, and it doesn't always. Newer Cinnamon already handles this. Until the fix is in an update, open a terminal and run:

sudo sed -i "s/int(response.headers.get('content-length'))/int(response.headers.get('content-length') or 0)/" /usr/share/cinnamon/cinnamon-settings/bin/Spices.py

Then close System Settings and open it again. Downloads work; the progress bar may fill up early, that's all. Thanks to BeepBeep2026 for reporting it.

I found a bug.

Great, sort of. Please open an issue with what you did, what you expected, and what happened instead. A photo of the screen helps if it's a boot problem.