mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-21 18:30:05 +00:00
Page:
Building for OpenBSD
Pages
AES Keys
Archive of 3DS Documentation
Archive of 3DS Tests
Building for Android
Building for Linux
Building for OpenBSD
Building for Windows
Building for macOS
CPU
Citra Android user data and storage
Citra Legacy Builds
Citra Web Service
Common Issues
Compatibility List
Contributing
Default Keyboard Bindings
Developer Information
Dumping Config Savegame from a 3DS Console
Dumping Extra Data from a 3DS Console
Dumping Game Cartridges
Dumping Installed Titles
Dumping Save Data from a 3DS Console
Dumping System Archives and the Shared Fonts from a 3DS Console
Dumping Updates and DLCs
FAQ
Home
Installing FFmpeg for the Video Dumper
Issue Labels
Lifetime of an LLE library applet
Log Filters
Set Up APK Signing in Bitrise
Stack Trace Guide for Citra
Typical Git Workflow
User Directory
Using a Controller or Android Phone for Motion or Touch Input
4
Building for OpenBSD
N00byKing edited this page 2018-04-10 19:02:18 +02:00
OpenBSD is not officially supported. These instructions are not actively updated and represent what happened to work for one user on amd64 in March 2018.
Install the required packages: (Please amend if you notice some are missing, I did not test this on a clean installation!)
pkg_add cmake sdl2 qtbase
The repository uses submodules, so remember to clone it recursively:
git clone --recursive https://github.com/citra-emu/citra
cd citra
To build, run the following in the repository root directory:
mkdir build && cd build
export Qt5_DIR=/usr/local/lib/qt5/cmake/Qt5
cmake \
-DCMAKE_CXX_FLAGS='-I/usr/local/include -O2' \
-DCMAKE_EXE_LINKER_FLAGS='-z wxneeded' ..
make
Rationale:
- Setting
Qt5_DIR
is necessary because cmake does not know to look for it under/usr/local/lib/qt5/cmake
by default. -I/usr/local/include
is needed for the compiler to findiconv.h
, as the base compiler does not look under/usr/local/include
by default.-O2
is needed for playable performance; this needs to be set even ifCMAKE_BUILD_TYPE=Release
, as it does not set optimization flags by default (perhaps because the base amd64 compiler is clang?)- Linking with
-z wxneeded
is needed to enable writable-executable memory on OpenBSD. The resulting binary still needs to be run a partition withwxallowed
set in the mount flags;/usr/local
is mounted like this by default.