<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://plexydesk.org/index.php?action=history&amp;feed=atom&amp;title=Getting_Started</id>
	<title>Getting Started - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://plexydesk.org/index.php?action=history&amp;feed=atom&amp;title=Getting_Started"/>
	<link rel="alternate" type="text/html" href="https://plexydesk.org/index.php?title=Getting_Started&amp;action=history"/>
	<updated>2026-04-03T19:13:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://plexydesk.org/index.php?title=Getting_Started&amp;diff=2&amp;oldid=prev</id>
		<title>Plexydesk: Add getting started guide</title>
		<link rel="alternate" type="text/html" href="https://plexydesk.org/index.php?title=Getting_Started&amp;diff=2&amp;oldid=prev"/>
		<updated>2026-03-21T19:32:54Z</updated>

		<summary type="html">&lt;p&gt;Add getting started guide&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Getting Started =&lt;br /&gt;
&lt;br /&gt;
This page is the fastest path from a fresh clone to a running PlexyDesk build.&lt;br /&gt;
&lt;br /&gt;
== Recommended environment ==&lt;br /&gt;
PlexyDesk is currently easiest to build on Debian or Ubuntu style systems with a working GPU stack, DRM/KMS access, and a user session where you can start the compositor from a TTY.&lt;br /&gt;
&lt;br /&gt;
== Install dependencies ==&lt;br /&gt;
Run the dependency installer from the repository root:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./install-deps.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The script installs:&lt;br /&gt;
* build tools such as &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;g++&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;meson&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;ninja&amp;lt;/code&amp;gt;&lt;br /&gt;
* graphics libraries including DRM, GBM, EGL, OpenGL, GLEW, and related Mesa packages&lt;br /&gt;
* input and system libraries such as &amp;lt;code&amp;gt;libinput&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libudev&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;libsystemd&amp;lt;/code&amp;gt;&lt;br /&gt;
* Wayland and X11/Xorg development packages&lt;br /&gt;
* font and text rendering packages including Pango, FreeType, and Fontconfig&lt;br /&gt;
* optional WebKitGTK support for browser-oriented examples&lt;br /&gt;
&lt;br /&gt;
== Build the project ==&lt;br /&gt;
Release build:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Debug build with verbose logging:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BUILD_MODE=debug make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Makefile defaults to a release build and applies aggressive optimization flags there. Debug mode keeps symbols and turns on additional logging macros.&lt;br /&gt;
&lt;br /&gt;
== Run PlexyDesk ==&lt;br /&gt;
The simplest direct launch is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./plexyshell&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run with systemd user units ==&lt;br /&gt;
System installs and package installs place user units for the shell runtime:&lt;br /&gt;
* &amp;lt;code&amp;gt;plexy.slice&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;plexyshell.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Typical flow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make install&lt;br /&gt;
systemctl --user start plexyshell.service&lt;br /&gt;
./scripts/systemd/status-plexyshell-service.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a development machine where you do not want a system-wide install, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./scripts/systemd/install-user-units.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Build a .deb package ==&lt;br /&gt;
The repository includes a Docker-assisted package flow for Ubuntu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x scripts/docker-build-ubuntu-deb.sh&lt;br /&gt;
./scripts/docker-build-ubuntu-deb.sh 22.04 dist&lt;br /&gt;
# or&lt;br /&gt;
./scripts/docker-build-ubuntu-deb.sh 24.04 dist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The package is written into &amp;lt;code&amp;gt;dist/&amp;lt;/code&amp;gt;. After installing it on a target machine, launch PlexyDesk with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plexydesk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run it as your normal user from a TTY session, not as root.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
The example configuration file documents the supported sections and defaults. Expected locations are:&lt;br /&gt;
* &amp;lt;code&amp;gt;$XDG_CONFIG_HOME/plexyshell/plexyshell.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/plexyshell/plexyshell.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common sections include:&lt;br /&gt;
* &amp;lt;code&amp;gt;[appearance]&amp;lt;/code&amp;gt; for theme and scale factor&lt;br /&gt;
* &amp;lt;code&amp;gt;[display]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[display_layout:...]&amp;lt;/code&amp;gt; for monitor placement&lt;br /&gt;
* &amp;lt;code&amp;gt;[background]&amp;lt;/code&amp;gt; for wallpaper or animated background&lt;br /&gt;
* &amp;lt;code&amp;gt;[compositor]&amp;lt;/code&amp;gt; for window chrome and effect tuning&lt;br /&gt;
* &amp;lt;code&amp;gt;[dock]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[menubar]&amp;lt;/code&amp;gt; for shell behavior&lt;br /&gt;
* &amp;lt;code&amp;gt;[terminal]&amp;lt;/code&amp;gt; for terminal fonts and colors&lt;br /&gt;
&lt;br /&gt;
== Basic controls ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Input&lt;br /&gt;
! Action&lt;br /&gt;
|-&lt;br /&gt;
| Mouse drag&lt;br /&gt;
| Move a window&lt;br /&gt;
|-&lt;br /&gt;
| Corner drag&lt;br /&gt;
| Resize a window&lt;br /&gt;
|-&lt;br /&gt;
| Tab&lt;br /&gt;
| Cycle windows&lt;br /&gt;
|-&lt;br /&gt;
| F6&lt;br /&gt;
| Toggle cylindrical desktop mode&lt;br /&gt;
|-&lt;br /&gt;
| W / Q&lt;br /&gt;
| Close focused window&lt;br /&gt;
|-&lt;br /&gt;
| Esc&lt;br /&gt;
| Exit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Where to go next ==&lt;br /&gt;
* [[Architecture]] for how the compositor and client stack fit together&lt;br /&gt;
* [[Developer Guide]] for the important source files and build entry points&lt;br /&gt;
* [[Examples]] for code you can compile and extend&lt;/div&gt;</summary>
		<author><name>Plexydesk</name></author>
	</entry>
</feed>