<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VitruvianOS Wiki</title><link>http://wiki.v-os.dev/</link><description>Recent content on VitruvianOS Wiki</description><generator>Hugo</generator><language>en</language><atom:link href="http://wiki.v-os.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Building</title><link>http://wiki.v-os.dev/docs/getting-started/building/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/getting-started/building/</guid><description>&lt;h1 id="building"&gt;Building&lt;a class="anchor" href="#building"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;How to compile Vitruvian from source on a Debian-based system.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="anchor" href="#prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Required software:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cmake ≥ 3.25&lt;/li&gt;
&lt;li&gt;gcc ≥ 8&lt;/li&gt;
&lt;li&gt;libinput ≥ 1.16.4-3&lt;/li&gt;
&lt;li&gt;ninja&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Install all build dependencies:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; autoconf &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; automake &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; bison &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; build-essential &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; cmake &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; debhelper &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; debootstrap &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; dh-dkms &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; dkms &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; elfutils &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; flex &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; generate-ninja &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; git &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; grub-common &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; grub-efi-amd64-bin &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; grub-pc-bin &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libbfd-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libdrm-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libdw-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libdwarf-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libelf-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libfl-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libfreetype6-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libgif-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libicns-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libicu-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libinput-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libjpeg-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libncurses-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libopenexr-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libpng-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libtiff-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libudev-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; libwebp-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; linux-headers-&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;uname -r&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; mtools &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; ninja-build &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; xorriso &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; zlib1g-dev &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; squashfs-tools &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; --fix-missing&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="getting-the-source"&gt;Getting the Source&lt;a class="anchor" href="#getting-the-source"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/VitruvianOS/Vitruvian.git&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="building-vitruvianos"&gt;Building VitruvianOS&lt;a class="anchor" href="#building-vitruvianos"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git submodule update --init --recursive
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir buildtools/ &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; mkdir generated.x86/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd buildtools/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cmake -DBUILDTOOLS_MODE&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; .. -GNinja
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ninja
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd ../generated.x86 &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; ../build/scripts/setupenv.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;../configure --chroot-build
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ninja&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;setupenv.sh&lt;/code&gt; uses &lt;code&gt;debootstrap&lt;/code&gt; to bootstrap a minimal Debian Trixie (amd64) environment under &lt;code&gt;generated.x86/image_tree/chroot&lt;/code&gt;, installs all required &lt;code&gt;-dev&lt;/code&gt; packages inside it, and writes &lt;code&gt;imagekernelversion.conf&lt;/code&gt; with the chroot kernel version. The compiler and build tools are always taken from the host.&lt;/p&gt;</description></item><item><title>Coding Guidelines</title><link>http://wiki.v-os.dev/docs/development/coding-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/development/coding-guidelines/</guid><description>&lt;h1 id="coding-guidelines"&gt;Coding Guidelines&lt;a class="anchor" href="#coding-guidelines"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;These are the conventions used across the Vitruvian codebase. Consistency matters more than personal preference — when touching existing code, match the surrounding style.&lt;/p&gt;
&lt;h2 id="indentation"&gt;Indentation&lt;a class="anchor" href="#indentation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Use &lt;strong&gt;tabs&lt;/strong&gt;, not spaces. A tab represents 4 characters of visual width.&lt;/p&gt;
&lt;h2 id="braces"&gt;Braces&lt;a class="anchor" href="#braces"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Opening braces go on their own line for functions and class definitions. Short control flow bodies may keep the brace on the same line.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NodeMonitor&lt;span style="color:#f92672"&gt;::&lt;/span&gt;HandleEvent(uint32 opcode)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (opcode &lt;span style="color:#f92672"&gt;==&lt;/span&gt; B_ENTRY_CREATED) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; NotifyListeners();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Function return types go on the line above the function name:&lt;/p&gt;</description></item><item><title>Legacy Documentation</title><link>http://wiki.v-os.dev/docs/reference/legacy-docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/reference/legacy-docs/</guid><description>&lt;h1 id="legacy-documentation"&gt;Legacy Documentation&lt;a class="anchor" href="#legacy-documentation"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Reference materials from BeOS and Haiku relevant to VitruvianOS development.&lt;/p&gt;
&lt;h2 id="the-bebook"&gt;The BeBook&lt;a class="anchor" href="#the-bebook"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The original BeOS API reference, maintained by the Haiku project. The primary reference for the API that VitruvianOS targets.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.haiku-os.org/legacy-docs/bebook/index.html"&gt;haiku-os.org/legacy-docs/bebook&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="practical-file-system-design"&gt;Practical File System Design&lt;a class="anchor" href="#practical-file-system-design"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;By Dominic Giampaolo — the book behind the Be File System (BFS). Essential reading for understanding attribute-based filesystems and the foundation for live queries.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://archive.org/details/fsdesign"&gt;archive.org/details/fsdesign&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="the-beos-bible"&gt;The BeOS Bible&lt;a class="anchor" href="#the-beos-bible"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;By Scot Hacker — a comprehensive guide to BeOS for users and developers. Covers the desktop environment, applications, and the BeOS philosophy. Useful background for understanding the UX and design goals that Vitruvian aims to carry forward.&lt;/p&gt;</description></item><item><title>Linux</title><link>http://wiki.v-os.dev/docs/getting-started/virtualization/linux/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/getting-started/virtualization/linux/</guid><description>&lt;h1 id="virtualization-on-linux"&gt;Virtualization on Linux&lt;a class="anchor" href="#virtualization-on-linux"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="qemu-with-kvm-recommended"&gt;QEMU with KVM (recommended)&lt;a class="anchor" href="#qemu-with-kvm-recommended"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;QEMU with KVM gives near-native performance on Linux hosts and is the primary tested environment.&lt;/p&gt;
&lt;h3 id="install"&gt;Install&lt;a class="anchor" href="#install"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install qemu-system-x86 qemu-kvm virt-manager&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check that KVM is available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kvm-ok&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If KVM is not available, QEMU will still work but will run slower without hardware acceleration.&lt;/p&gt;
&lt;h3 id="boot-a-raw-image"&gt;Boot a raw image&lt;a class="anchor" href="#boot-a-raw-image"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;qemu-system-x86_64 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; -cdrom vitruvian.img -boot menu&lt;span style="color:#f92672"&gt;=&lt;/span&gt;on &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; -m 8G -cpu host -smp sockets&lt;span style="color:#f92672"&gt;=&lt;/span&gt;1,cores&lt;span style="color:#f92672"&gt;=&lt;/span&gt;2,threads&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; --enable-kvm &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; -netdev user,id&lt;span style="color:#f92672"&gt;=&lt;/span&gt;mynet,hostfwd&lt;span style="color:#f92672"&gt;=&lt;/span&gt;tcp::2222-:22 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; -device virtio-net-pci,netdev&lt;span style="color:#f92672"&gt;=&lt;/span&gt;mynet&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Adjust &lt;code&gt;-m&lt;/code&gt; (RAM in MB) and &lt;code&gt;-smp&lt;/code&gt; (CPU cores) to your host. Remove &lt;code&gt;-enable-kvm&lt;/code&gt; if KVM is unavailable.&lt;/p&gt;</description></item><item><title>API Changes</title><link>http://wiki.v-os.dev/docs/development/api-changes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/development/api-changes/</guid><description>&lt;h1 id="api-changes"&gt;API Changes&lt;a class="anchor" href="#api-changes"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Differences between the Vitruvian native APIs and BeOS/Haiku.&lt;/p&gt;
&lt;h2 id="images"&gt;Images&lt;a class="anchor" href="#images"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;image_id&lt;/code&gt; values are local to the application.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="processes"&gt;Processes&lt;a class="anchor" href="#processes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;start_watching_system&lt;/code&gt; must be called with superuser privileges.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="threads"&gt;Threads&lt;a class="anchor" href="#threads"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Thread suspension is forbidden. Any application calling &lt;code&gt;suspend_thread&lt;/code&gt; will be killed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="filesystem"&gt;Filesystem&lt;a class="anchor" href="#filesystem"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;See &lt;a href="http://wiki.v-os.dev/docs/development/filesystem-layout/"&gt;Filesystem Layout&lt;/a&gt; for directory structure changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="libbe-annotations"&gt;libbe Annotations&lt;a class="anchor" href="#libbe-annotations"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This section tracks generic differences in the C++ API provided by &lt;code&gt;libbe&lt;/code&gt;. It will be expanded as the compatibility layer matures.&lt;/p&gt;</description></item><item><title>How To Install</title><link>http://wiki.v-os.dev/docs/getting-started/how-to-install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/getting-started/how-to-install/</guid><description>&lt;h1 id="how-to-install"&gt;How To Install&lt;a class="anchor" href="#how-to-install"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="from-a-nightly-image"&gt;From a Nightly Image&lt;a class="anchor" href="#from-a-nightly-image"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Nightly builds are available via &lt;a href="https://github.com/VitruvianOS/Vitruvian/actions"&gt;GitHub Actions&lt;/a&gt;. Download the latest successful build artifact.&lt;/p&gt;
&lt;h3 id="write-to-a-usb-drive"&gt;Write to a USB drive&lt;a class="anchor" href="#write-to-a-usb-drive"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Replace &lt;code&gt;/dev/sdX&lt;/code&gt; with your actual device (check with &lt;code&gt;lsblk&lt;/code&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo dd &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;vitruvian.img of&lt;span style="color:#f92672"&gt;=&lt;/span&gt;/dev/sdX bs&lt;span style="color:#f92672"&gt;=&lt;/span&gt;4M status&lt;span style="color:#f92672"&gt;=&lt;/span&gt;progress oflag&lt;span style="color:#f92672"&gt;=&lt;/span&gt;sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote class="book-hint warning"&gt;

**Double-check the target device.** `dd` will overwrite it completely.
&lt;/blockquote&gt;
&lt;p&gt;Boot from the USB drive. Most systems require selecting the boot device from the firmware menu (usually F12, F11, or Escape at startup).&lt;/p&gt;</description></item><item><title>Nexus</title><link>http://wiki.v-os.dev/docs/reference/nexus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/reference/nexus/</guid><description>&lt;h1 id="nexus"&gt;Nexus&lt;a class="anchor" href="#nexus"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Nexus is the Vitruvian kernel subsystem that bridges the Linux kernel with the BeOS/Haiku runtime. It is implemented as a set of custom Linux kernel modules loaded at boot.&lt;/p&gt;
&lt;h2 id="purpose"&gt;Purpose&lt;a class="anchor" href="#purpose"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;BeOS and Haiku expose a set of kernel APIs that have no direct equivalent in Linux. Nexus implements these APIs as thin kernel modules, allowing the Vitruvian userspace — including the BeOS/Haiku API compatibility layer — to run on an otherwise standard Linux kernel.&lt;/p&gt;</description></item><item><title>Windows</title><link>http://wiki.v-os.dev/docs/getting-started/virtualization/windows/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/getting-started/virtualization/windows/</guid><description>&lt;h1 id="virtualization-on-windows"&gt;Virtualization on Windows&lt;a class="anchor" href="#virtualization-on-windows"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="virtualbox-recommended-for-most-users"&gt;VirtualBox (recommended for most users)&lt;a class="anchor" href="#virtualbox-recommended-for-most-users"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;VirtualBox is the easiest option on Windows and works on all hardware.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download and install from &lt;a href="https://www.virtualbox.org"&gt;virtualbox.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create a new VM:
&lt;ul&gt;
&lt;li&gt;Type: &lt;strong&gt;Linux&lt;/strong&gt;, version &lt;strong&gt;Linux 2.6 / 3.x / 4.x (64-bit)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;RAM: 4 GB or more&lt;/li&gt;
&lt;li&gt;Disk: skip (attach the image manually)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In VM settings → Storage, attach the Vitruvian raw image or ISO as a storage device&lt;/li&gt;
&lt;li&gt;In VM settings → Display, set adapter to &lt;strong&gt;VMSVGA&lt;/strong&gt;, disable 3D acceleration&lt;/li&gt;
&lt;li&gt;Boot the VM&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="qemu-on-windows"&gt;QEMU on Windows&lt;a class="anchor" href="#qemu-on-windows"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;QEMU runs on Windows and provides better performance than VirtualBox when used with WHPX (Windows Hypervisor Platform) or HAXM acceleration.&lt;/p&gt;</description></item><item><title>Donate</title><link>http://wiki.v-os.dev/docs/reference/donate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/reference/donate/</guid><description>&lt;h1 id="donate"&gt;Donate&lt;a class="anchor" href="#donate"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Vitruvian is developed entirely by volunteers in their spare time. If you find the project useful and want to support its development, donations are welcome.&lt;/p&gt;
&lt;p&gt;You can support VitruvianO development through &lt;strong&gt;&lt;a href="https://github.com/sponsors/VitruvianOS"&gt;GitHub Sponsors&lt;/a&gt;&lt;/strong&gt;. You can also contribute by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Testing&lt;/strong&gt; — Run nightly builds and &lt;a href="https://github.com/VitruvianOS/Vitruvian/issues"&gt;report issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contributing code&lt;/strong&gt; — See the &lt;a href="../../development/coding-guidelines/"&gt;coding guidelines&lt;/a&gt; and open a pull request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spreading the word&lt;/strong&gt; — Tell others about the project&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Filesystem Layout</title><link>http://wiki.v-os.dev/docs/development/filesystem-layout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/development/filesystem-layout/</guid><description>&lt;h1 id="filesystem-layout"&gt;Filesystem Layout&lt;a class="anchor" href="#filesystem-layout"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Vitruvian runs on a standard Linux filesystem hierarchy, but maps BeOS/Haiku path conventions onto it so that application source code written for BeOS or Haiku compiles and runs without path changes.&lt;/p&gt;
&lt;h2 id="boot-filesystem"&gt;Boot Filesystem&lt;a class="anchor" href="#boot-filesystem"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The reference boot filesystems are &lt;strong&gt;XFS&lt;/strong&gt; (standard desktop installs) and &lt;strong&gt;SquashFS&lt;/strong&gt; (live images and embedded targets). Both support Linux extended attributes, which are required for the BeOS attribute store. Most other Linux-supported filesystems with extended attribute support also work; see the &lt;a href="http://wiki.v-os.dev/docs/getting-started/faq/"&gt;FAQ&lt;/a&gt; for details.&lt;/p&gt;</description></item><item><title>macOS</title><link>http://wiki.v-os.dev/docs/getting-started/virtualization/macos/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/getting-started/virtualization/macos/</guid><description>&lt;h1 id="virtualization-on-macos"&gt;Virtualization on macOS&lt;a class="anchor" href="#virtualization-on-macos"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="utm-recommended"&gt;UTM (recommended)&lt;a class="anchor" href="#utm-recommended"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://mac.getutm.app"&gt;UTM&lt;/a&gt; is a native macOS virtualization frontend built on QEMU. It works on both Intel and Apple Silicon Macs and is the easiest way to run Vitruvian on macOS.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download UTM from &lt;a href="https://mac.getutm.app"&gt;mac.getutm.app&lt;/a&gt; or the Mac App Store&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;+&lt;/strong&gt; to create a new VM&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Emulate&lt;/strong&gt; → &lt;strong&gt;Linux&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Follow the setup wizard — assign at least 4 GB RAM and 2+ CPU cores&lt;/li&gt;
&lt;li&gt;In the drive settings, attach the Vitruvian ISO or raw image&lt;/li&gt;
&lt;li&gt;Set the display to &lt;strong&gt;VirtIO GPU&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Start the VM&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="apple-silicon-note"&gt;Apple Silicon note&lt;a class="anchor" href="#apple-silicon-note"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;On Apple Silicon (M1, M2, M3…), Vitruvian runs under x86-64 emulation since there is no KVM-equivalent hardware acceleration for foreign architectures. Expect reduced performance compared to a native x86-64 host. ARM support in Vitruvian will change this in the future.&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://wiki.v-os.dev/docs/getting-started/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://wiki.v-os.dev/docs/getting-started/faq/</guid><description>&lt;h1 id="faq"&gt;FAQ&lt;a class="anchor" href="#faq"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;hr&gt;
&lt;h2 id="what-is-vitruvian"&gt;What is Vitruvian?&lt;a class="anchor" href="#what-is-vitruvian"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;VitruvianOS (V\OS) is an operating system based on Linux, inspired by BeOS. It runs the BeOS/Haiku desktop and API on top of a real-time patched Linux kernel, with custom kernel modules — collectively called &lt;strong&gt;Nexus&lt;/strong&gt; — providing the missing BeOS-style system services.&lt;/p&gt;
&lt;p&gt;See the &lt;a href="http://wiki.v-os.dev/docs/reference/nexus/"&gt;Nexus reference page&lt;/a&gt; for details on the kernel bridge.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="is-it-ready-to-use"&gt;Is it ready to use?&lt;a class="anchor" href="#is-it-ready-to-use"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The project is in active development and experimental. Core components (Deskbar, Tracker, app_server, registrar) run, and BeOS/Haiku application source code compiles and runs with minimal changes. Expect rough edges.&lt;/p&gt;</description></item></channel></rss>