Skip to content

Commit

Permalink
docs: drop sphinx and use doxygen exclusively
Browse files Browse the repository at this point in the history
  • Loading branch information
ReenigneArcher committed Aug 2, 2024
1 parent 459c604 commit 729399c
Show file tree
Hide file tree
Showing 40 changed files with 748 additions and 1,561 deletions.
9 changes: 2 additions & 7 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -308,8 +308,6 @@ jobs:
sudo apt-get install -y \
build-essential \
cmake \
doxygen \
graphviz \
gcc-10 \
g++-10 \
libayatana-appindicator3-dev \
Expand All @@ -335,9 +333,7 @@ jobs:
libxcb1-dev \
libxfixes-dev \
libxrandr-dev \
libxtst-dev \
python3 \
python3-venv
libxtst-dev
# clean apt cache
sudo apt-get clean
Expand Down Expand Up @@ -390,6 +386,7 @@ jobs:
cd build
cmake \
-DBUILD_DOCS=OFF \
-DBUILD_WERROR=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CUDA_COMPILER:PATH=/usr/local/cuda/bin/nvcc \
Expand Down Expand Up @@ -1101,7 +1098,6 @@ jobs:
Remove-Item -Path doxygen-setup.exe
- name: Setup python
# use this instead of msys2 python due to known issues using wheels, https://www.msys2.org/docs/python/
id: setup-python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -1130,7 +1126,6 @@ jobs:
cmake \
-DBUILD_WERROR=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DPython_EXECUTABLE='${{ steps.python-path.outputs.python-path }}' \
-DSUNSHINE_ASSETS_DIR=assets \
-DTESTS_SOFTWARE_ENCODER_UNAVAILABLE='skip' \
-G "MinGW Makefiles" \
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
# build directories
build/
cmake-*/
docs/*-doxyconfig*

# npm
node_modules/
Expand Down
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
path = third-party/build-deps
url = https://github.com/LizardByte/build-deps.git
branch = dist
[submodule "third-party/doxyconfig"]
path = third-party/doxyconfig
url = https://github.com/LizardByte/doxyconfig.git
branch = master
[submodule "third-party/doxygen-awesome-css"]
path = third-party/doxygen-awesome-css
url = https://github.com/jothepro/doxygen-awesome-css.git
Expand Down
45 changes: 21 additions & 24 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,38 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python
build:
os: ubuntu-24.04
tools:
python: "miniconda-latest"
apt_packages:
- libboost-locale-dev # required for rstcheck in cpp code block
jobs:
post_build:
- find ./third-party -iname "*.rst" -type f -delete # find and delete rst files in third-party
- rstcheck -r . # lint rst files
# - rstfmt --check --diff -w 120 . # check rst formatting
commands:
# because we are overriding the build commands, we need to setup the environment ourselves
- cat third-party/doxyconfig/environment.yml
- conda env create --quiet --name ${READTHEDOCS_VERSION} --file third-party/doxyconfig/environment.yml
- npm install "@fortawesome/fontawesome-free"
- mkdir -p ${READTHEDOCS_OUTPUT}html/assets/fontawesome/css
- mkdir -p ${READTHEDOCS_OUTPUT}html/assets/fontawesome/js
- cp node_modules/@fortawesome/fontawesome-free/css/all.min.css ${READTHEDOCS_OUTPUT}html/assets/fontawesome/css
- cp node_modules/@fortawesome/fontawesome-free/js/all.min.js ${READTHEDOCS_OUTPUT}html/assets/fontawesome/js
- cp -r node_modules/@fortawesome/fontawesome-free/webfonts ${READTHEDOCS_OUTPUT}html/assets/fontawesome/
- |
wget "https://raw.githubusercontent.com/LizardByte/.github/master/branding/logos/favicon.ico" \
-O ${READTHEDOCS_OUTPUT}lizardbyte.ico
- |
wget "https://raw.githubusercontent.com/LizardByte/.github/master/branding/logos/logo-128x128.png" \
-O ${READTHEDOCS_OUTPUT}lizardbyte.png
- cp ./third-party/doxyconfig/Doxyfile ./docs/Doxyfile-doxyconfig
- cp ./third-party/doxyconfig/header.html ./docs/header-doxyconfig.html
- cat ./docs/Doxyfile >> ./docs/Doxyfile-doxyconfig
- cd docs && doxygen Doxyfile-doxyconfig

# using conda, we can get newer doxygen and graphviz than ubuntu provide
# https://github.com/readthedocs/readthedocs.org/issues/8151#issuecomment-890359661
conda:
environment: docs/environment.yml
environment: third-party/doxyconfig/environment.yml

# submodules required for include statements
submodules:
include: all
recursive: true

# Build documentation in the docs/ directory with Sphinx
sphinx:
builder: html
configuration: docs/source/conf.py
fail_on_warning: true

# Using Sphinx, build docs in additional formats
formats: all

python:
install:
- requirements: ./docs/requirements.txt
115 changes: 115 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Overview

[![GitHub stars](https://img.shields.io/github/stars/lizardbyte/sunshine.svg?logo=github&style=for-the-badge)](https://github.com/LizardByte/Sunshine)
[![GitHub Releases](https://img.shields.io/github/downloads/lizardbyte/sunshine/total.svg?style=for-the-badge&logo=github)](https://github.com/LizardByte/Sunshine/releases/latest)
[![Docker](https://img.shields.io/docker/pulls/lizardbyte/sunshine.svg?style=for-the-badge&logo=docker)](https://hub.docker.com/r/lizardbyte/sunshine)
[![GHCR](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fipitio%2Fbackage%2Fmaster%2Findex%2FLizardByte%2FSunshine%2Fsunshine.json&query=%24.downloads&label=ghcr%20pulls&style=for-the-badge&logo=github)](https://github.com/LizardByte/Sunshine/pkgs/container/sunshine)
[![Winget Version](https://img.shields.io/badge/dynamic/json.svg?color=orange&label=Winget&style=for-the-badge&prefix=v&query=$[-1:].name&url=https%3A%2F%2Fapi.github.com%2Frepos%2Fmicrosoft%2Fwinget-pkgs%2Fcontents%2Fmanifests%2Fl%2FLizardByte%2FSunshine&logo=microsoft)](https://github.com/microsoft/winget-pkgs/tree/master/manifests/l/LizardByte/Sunshine)
[![GitHub Workflow Status (CI)](https://img.shields.io/github/actions/workflow/status/lizardbyte/sunshine/CI.yml.svg?branch=master&label=CI%20build&logo=github&style=for-the-badge)](https://github.com/LizardByte/Sunshine/actions/workflows/CI.yml?query=branch%3Amaster)
[![GitHub Workflow Status (localize)](https://img.shields.io/github/actions/workflow/status/lizardbyte/sunshine/localize.yml.svg?branch=master&label=localize%20build&logo=github&style=for-the-badge)](https://github.com/LizardByte/Sunshine/actions/workflows/localize.yml?query=branch%3Amaster)
[![Read the Docs](https://img.shields.io/readthedocs/sunshinestream.svg?label=Docs&style=for-the-badge&logo=readthedocs)](http://sunshinestream.readthedocs.io/)
[![Codecov](https://img.shields.io/codecov/c/gh/LizardByte/Sunshine?token=SMGXQ5NVMJ&style=for-the-badge&logo=codecov&label=codecov)](https://codecov.io/gh/LizardByte/Sunshine)

LizardByte has the full documentation hosted on [Read the Docs](https://sunshinestream.readthedocs.io/).

## About

Sunshine is a self-hosted game stream host for Moonlight.
Offering low latency, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware
encoding. Software encoding is also available. You can connect to Sunshine from any Moonlight client on a variety of
devices. A web UI is provided to allow configuration, and client pairing, from your favorite web browser. Pair from
the local server or any mobile device.

## System Requirements

@warning{These tables are a work in progress. Do not purchase hardware based on this information.}

<table>
<caption id="minimum_requirements">Minimum Requirements</caption>
<tr>
<th>Component
<th>Requirement
<tr>
<td rowspan="3">GPU
<td>AMD: VCE 1.0 or higher, see: <a href="https://github.com/obsproject/obs-amd-encoder/wiki/Hardware-Support">obs-amd hardware support</a>
<tr>
<td>Intel: VAAPI-compatible, see: <a href="https://www.intel.com/content/www/us/en/developer/articles/technical/linuxmedia-vaapi.html">VAAPI hardware support</a>
<tr>
<td>Nvidia: NVENC enabled cards, see: <a href="https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new">nvenc support matrix</a>
<tr>
<td rowspan="2">CPU
<td>AMD: Ryzen 3 or higher
<tr>
<td>Intel: Core i3 or higher
<tr>
<td>RAM
<td>4GB or more
<tr>
<td rowspan="5">OS
<td>Windows: 10+ (Windows Server does not support virtual gamepads)
<tr>
<td>macOS: 12+
<tr>
<td>Linux/Debian: 12+ (bookworm)
<tr>
<td>Linux/Fedora: 39+
<tr>
<td>Linux/Ubuntu: 22.04+ (jammy)
<tr>
<td rowspan="2">Network
<td>Host: 5GHz, 802.11ac
<tr>
<td>Client: 5GHz, 802.11ac
</table>

<table>
<caption id="4k_suggestions">4k Suggestions</caption>
<tr>
<th>Component
<th>Requirement
<tr>
<td rowspan="3">GPU
<td>AMD: Video Coding Engine 3.1 or higher
<tr>
<td>Intel: HD Graphics 510 or higher
<tr>
<td>Nvidia: GeForce GTX 1080 or higher
<tr>
<td rowspan="2">CPU
<td>AMD: Ryzen 5 or higher
<tr>
<td>Intel: Core i5 or higher
<tr>
<td rowspan="2">Network
<td>Host: CAT5e ethernet or better
<tr>
<td>Client: CAT5e ethernet or better
</table>

<table>
<caption id="hdr_suggestions">HDR Suggestions</caption>
<tr>
<th>Component
<th>Requirement
<tr>
<td rowspan="3">GPU
<td>AMD: Video Coding Engine 3.4 or higher
<tr>
<td>Intel: HD Graphics 730 or higher
<tr>
<td>Nvidia: Nvidia: Pascal-based GPU (GTX 10-series) or higher
<tr>
<td rowspan="2">CPU
<td>AMD: Ryzen 5 or higher
<tr>
<td>Intel: Core i5 or higher
<tr>
<td rowspan="2">Network
<td>Host: CAT5e ethernet or better
<tr>
<td>Client: CAT5e ethernet or better
</table>

## Support

Our support methods are listed in our [LizardByte Docs](https://lizardbyte.readthedocs.io/en/latest/about/support.html).
111 changes: 0 additions & 111 deletions README.rst

This file was deleted.

2 changes: 1 addition & 1 deletion cmake/targets/common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ add_custom_target(web-ui ALL

# docs
if(BUILD_DOCS)
add_subdirectory(docs)
add_subdirectory(third-party/doxyconfig docs)
endif()

# tests
Expand Down
2 changes: 0 additions & 2 deletions docker/clion-toolchain.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ apt-get install -y --no-install-recommends \
libxfixes-dev \
libxrandr-dev \
libxtst-dev \
python3.10 \
python3.10-venv \
udev \
wget \
x11-xserver-utils \
Expand Down
Loading

0 comments on commit 729399c

Please sign in to comment.