2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								## One word of caution before proceeding.
  
						 
					
						
							
								
									
										
										
										
											2025-08-20 00:21:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This is not the usual or preferred way to build programs on FreeBSD.
							 
						 
					
						
							
								
									
										
										
										
											2025-08-20 00:21:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								As of writing there is no official fresh port available for Eden, but it is in the works.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								After it is available you can find a link to the eden-emu fresh port here and on Escary's github repo.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								See this build as an AppImage alternative for FreeBSD.
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Dependencies.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Before we start we need some dependencies.
							 
						 
					
						
							
								
									
										
										
										
											2025-08-20 00:21:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								These dependencies are generally needed to build Eden on FreeBSD.
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								devel/cmake
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/sdl20
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/boost-libs
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/catch2
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/libfmt
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/nlohmann-json
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/ninja
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/nasm
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/autoconf
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/pkgconf
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								devel/qt6-base
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								multimedia/ffnvcodec-headers
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								multimedia/ffmpeg
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								audio/opus
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								archivers/liblz4
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								lang/gcc12
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								graphics/glslang
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								graphics/vulkan-utility-libraries
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If using FreeBSD 12 or prior, use `devel/pkg-config`  instead.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-08-07 22:05:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Build preparations:
  
						 
					
						
							
								
									
										
										
										
											2025-07-23 09:53:45 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								Run the following command to clone eden with git:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								git clone --recursive https://git.eden-emu.dev/eden-emu/eden
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You usually want to add the `--recursive`  parameter as it also takes care of the external dependencies for you.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Now change into the eden directory and create a build directory there:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cd eden
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								mkdir build
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Change into that build directory:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cd build
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### 1. Building in Release Mode (usually preferred and the most performant choice):
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmake .. -GNinja -DYUZU_TESTS=OFF
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### 2. Building in Release Mode with debugging symbols (useful if you want to debug errors for a eventual fix):
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DYUZU_TESTS=ON
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Build the emulator locally:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ninja
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Optional: If you wish to install eden globally onto your system issue the following command:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sudo ninja install
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								OR
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```sh
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								doas -- ninja install
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2025-08-20 00:21:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## OpenSSL
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The available OpenSSL port (3.0.17) is out-of-date, and using a bundled static library instead is recommended; to do so, add `-DYUZU_USE_CPM=ON`  to your CMake configure command.