2022-07-21 10:17:01 -04:00
# SerenityOS Documentation
Serenity development moves quickly, so some of these might be out of date. Please let us know if something here is wrong, or submit a PR with any additions or corrections! If you have any questions that are not answered here or in the [FAQ ](FAQ.md ), you are welcome to ask on [Discord ](../README.md#get-in-touch-and-participate ).
2023-01-20 18:01:44 -05:00
A list of useful pages across the web can be found on [the link list ](Links.md ).
2022-07-21 10:17:01 -04:00
## Building and Running
2024-09-11 10:20:33 -04:00
- [Build Instructions ](BuildInstructions.md )
- [Advanced Build Instructions ](AdvancedBuildInstructions.md )
- [Troubleshooting ](Troubleshooting.md )
- [Running in VirtualBox ](VirtualBox.md )
- [Running in VMware ](VMware.md )
- [Running Tests ](RunningTests.md )
- [Setting Up Self-Hosted Runners ](SelfHostedRunners.md )
- [Profiling the Build ](BuildProfilingInstructions.md )
- [Spice Integration ](SpiceIntegration.md )
2022-07-21 10:17:01 -04:00
### OS-specific
2024-09-11 10:20:33 -04:00
2022-07-21 10:17:01 -04:00
Make sure to read the basic [Build Instructions ](BuildInstructions.md ) first.
2024-09-11 10:20:33 -04:00
- [Building on Windows ](BuildInstructionsWindows.md )
- [Building on macOS ](BuildInstructionsMacOS.md )
- [Building on Linux ](BuildInstructionsOther.md )
2022-07-21 10:17:01 -04:00
### Running on Hardware
2024-09-11 10:20:33 -04:00
- [Bare Metal Installation ](BareMetalInstallation.md )
- [Running On Raspberry Pi ](RunningOnRaspberryPi.md )
- [Known Hardware Compatibility ](HardwareCompatibility.md )
2022-07-21 10:17:01 -04:00
## Configuring Editors
2024-09-11 10:20:33 -04:00
- [CLion ](CLionConfiguration.md )
- [Emacs ](EmacsConfiguration.md )
- [Helix ](HelixConfiguration.md )
- [NVim ](NvimConfiguration.md )
- [Qt Creator ](QtCreatorConfiguration.md )
- [Vim ](VimConfiguration.md )
- [VS Code ](VSCodeConfiguration.md )
2022-07-21 10:17:01 -04:00
## Development
2024-09-11 10:20:33 -04:00
- [How to Contribute ](../CONTRIBUTING.md )
- [Coding Style ](CodingStyle.md )
- [Common Patterns ](Patterns.md )
- [Guidelines for Text in UI ](HumanInterfaceGuidelines/Text.md )
- [Guidelines for writing manual pages ](WritingManPages.md )
- [EventLoop ](EventLoop.md )
- [High DPI Support ](HighDPI.md )
- [Smart Pointers ](SmartPointers.md )
- [String Formatting ](StringFormatting.md )
- [How to Transfer Files Out of Serenity ](TransferringFiles.md )
2022-07-21 10:17:01 -04:00
### File and Data Formats
2024-09-11 10:20:33 -04:00
- [Application Files (.af) ](../Base/usr/share/man/man5/af.md )
- [Bitmap Fonts (.font) ](../Base/usr/share/man/man5/font.md )
- [Clipboard data ](../Base/usr/share/man/man5/clipboard.md )
- [Drag-and-drop data ](../Base/usr/share/man/man5/drag-and-drop.md )
- [GUI Markup Language (.gml) ](../Base/usr/share/man/man5/GML.md )
- [HackStudio Post-Create Scripts (.postcreate) ](../Base/usr/share/man/man5/postcreate.md )
- [Inter-Process Communication protocol (.ipc) ](../Base/usr/share/man/man4/ipc.md )
2022-07-21 10:17:01 -04:00
## Browser/LibWeb
2024-09-11 10:20:33 -04:00
- [Ladybird Browser Build Instructions ](BuildInstructionsLadybird.md )
- [General Architecture ](Browser/ProcessArchitecture.md )
- [LibWeb: From Loading to Painting ](Browser/LibWebFromLoadingToPainting.md )
- [How to Add an IDL File ](Browser/AddNewIDLFile.md )
- [LibWeb Code Style & Patterns ](Browser/Patterns.md )
- [CSS Generated Files ](Browser/CSSGeneratedFiles.md )
2022-07-21 10:17:01 -04:00
## Kernel
2024-09-11 10:20:33 -04:00
- [AHCI Locking ](Kernel/AHCILocking.md )
- [ProcFS Indexing ](Kernel/ProcFSIndexing.md )
- [RAMFS ](Kernel/RAMFS.md )
- [IOWindow ](Kernel/IOWindow.md )
- [Graphics Subsystem ](Kernel/GraphicsSubsystem.md )
- [Kernel Development Patterns & Guidelines ](Kernel/DevelopmentGuidelines.md )
2022-07-21 10:17:01 -04:00
## Applications
2024-09-11 10:20:33 -04:00
2022-07-21 10:17:01 -04:00
Documentation for SerenityOS applications and utilities can be found in [the man pages ](https://man.serenityos.org/ ).