refined README

This commit is contained in:
Harvey Fong 2025-03-02 08:49:34 -07:00
parent 0b99e7094f
commit 83403f24c0

134
README.md
View File

@ -1,28 +1,19 @@
# bellatui # bellatui
Cross platform console based bella render server/client
A command line bella renderer with encrypted networking with an interactive Command line bella renderer with encrypted networking and text user interface.
TUI ( text user interface )for uploading .bsz scenes, starting renders, downloading images. Additional commands allow viewing progress, stopping renders, etc
## Usage ## Usage
command: help, send, get, stat, render, stop commands: help, send, get, stat, render, stop
# Precompile Binaries ### Server
[Windows](https://a4g4.c14.e2-1.dev/bellatui/bellatui-win.zip)
[MacOS](https://a4g4.c14.e2-1.dev/bellatui/bellatui-mac.zip)
``` ```
Apple Gatekeeper blocks non-notarized executables by default. bellatui --server
BellaTUI server started ...
Awaiting new client ...
Client connected
``` ```
[Ubuntu Linux](https://a4g4.c14.e2-1.dev/bellatui/bellatui-linux.tar.gz)
```
apt install -y libsodium-dev
```
### Client ### Client
``` ```
bellatui --serverAddress:discord.beantip.ca bellatui --serverAddress:discord.beantip.ca
@ -52,6 +43,21 @@ expect
Client connected Client connected
``` ```
## Precompile Binaries
[Windows](https://a4g4.c14.e2-1.dev/bellatui/bellatui-win.zip)
[MacOS](https://a4g4.c14.e2-1.dev/bellatui/bellatui-mac.zip)
```
Apple Gatekeeper blocks non-notarized executables by default.
```
[Ubuntu Linux](https://a4g4.c14.e2-1.dev/bellatui/bellatui-linux.tar.gz)
```
apt install -y libsodium-dev
```
## Build ## Build
##MacOS ##MacOS
@ -72,19 +78,16 @@ mkdir build
cd build cd build
/Applications/CMake.app/Contents/bin/cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=~/homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a /Applications/CMake.app/Contents/bin/cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=~/homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a
make make
cd .. cd ../..
git clone https://github.com/zeromq/cppzmq git clone https://github.com/zeromq/cppzmq
git clone https://github.com/oomer/bellatui.git git clone https://github.com/oomer/bellatui.git
cd bellatui cd bellatui
makefile make
``` ```
## Linux ## Linux
# Build
# Linux
### bella_engine_sdk ### bella_engine_sdk
``` ```
@ -92,7 +95,7 @@ curl -O https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz
tar -xvf bella_engine_sdk-24.6.0.tar.gz tar -xvf bella_engine_sdk-24.6.0.tar.gz
``` ```
### ubuntu tool needed #### ubuntu dependencies
``` ```
apt install -y build-essential apt install -y build-essential
apt install -y libx11-dev apt install -y libx11-dev
@ -104,6 +107,7 @@ apt install libgnutls28-dev
apt install pkg-config apt install pkg-config
``` ```
#### redhat dependencies
``` ```
dnf groupinstall -y "Development Tools" dnf groupinstall -y "Development Tools"
dnf install -y libX11-devel dnf install -y libX11-devel
@ -115,30 +119,22 @@ dnf install -y gnutls-devel
dnf install -y pkg-config dnf install -y pkg-config
``` ```
### building libzmq
### libzmq
``` ```
git clone https://github.com/zeromq/libzmq git clone https://github.com/zeromq/libzmq
cd libzmq cd libzmq
mkdir build mkdir build
cd build cd build
This one
cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium
cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium
cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium -DSODIUM_INCLUDE_DIRS=/usr/include -DSODIUM_LIBRARIES=/usr/lib/x86_64-linux-gnu/libsodium.a
cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../../libsodium/src/libsodium/include/sodium -DSODIUM_INCLUDE_DIRS=../../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../../libsodium/src/libsodium/.libs/libsodium.a
make -j4 make -j4
make install make install
``` ```
### cppzmq ### getting cppzmq headers
``` ```
cd ../.. cd ../..
git clone https://github.com/zeromq/cppzmq git clone https://github.com/zeromq/cppzmq
@ -148,7 +144,7 @@ cd build
cmake .. cmake ..
``` ```
## bellatui ### compiling bellatui
``` ```
cd ../.. cd ../..
git clone https://github.com/oomer/bellatui.git git clone https://github.com/oomer/bellatui.git
@ -174,80 +170,12 @@ git clone https://github.com/oomer/bellatui.git
msbuild bellatui.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143 msbuild bellatui.vcxproj /p:Configuration=release /p:Platform=x64 /p:PlatformToolset=v143
``` ```
Build directories be relative Build directories expected to be relative
``` ```
--folder --folder
--bella_engine_sdk --bella_engine_sdk
--bellatui --bellatui
``` ```
# MacOS
Use this when homebrew commands are needed
eval "$(~/homebrew/bin/brew shellenv)"
### Install homebrew without sudo
Run the eval to set dev variables and path
```
mkdir ~/homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C ~/homebrew
eval "$(~/homebrew/bin/brew shellenv)"
brew update --force --quiet
chmod -R go-w "$(brew --prefix)/share/zsh"
```
### cmake , drag to Applications
```
curl -LO https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-macos-universal.dmg
open cmake-3.31.6-macos-universal.dmg
```
### brew dependencies
```
brew install libsodium
brew install gnutls
brew install pkg-config
```
### compile libzmq
```
git clone https://github.com/zeromq/libzmq
cd libzmq
mkdir build
cd build
/Applications/CMake.app/Contents/bin/cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=~/homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a
make
cd ../..
```
### header only cppzmq
```
git clone https://github.com/zeromq/cppzmq
```
### bellatui
```
cd ../..
git clone https://github.com/oomer/bellatui.git
cd bellatui
make
```
# Notes
```
g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,.
g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,.
cl /std:c++17 client.cpp -Fe:client.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib
cl /std:c++17 server.cpp -Fe:server.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib
clang++ -o bin/Darwin/client obj/Darwin/client.o -mmacosx-version-min=11.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Cocoa -framework IOKit -framework CoreVideo -framework CoreFoundation -framework Accelerate -fvisibility=hidden -O5 -rpath @executable_path -weak_library ./lib/libvulkan.dylib -L./lib -L../libzmq/build/lib -lbella_engine_sdk -lm -lzmq -ldl
```