Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/cache_cleaner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
permissions:
actions: write
steps:
- uses: yumemi-inc/clean-cache-action@v1.0.5
with:
ref: 'refs/heads/${{ github.head_ref }}'
- run: gh cache delete --all --ref "refs/heads/${{ github.head_ref }}"
env:
GH_TOKEN: ${{ github.token }}
clean_PR_artifacts:
name: Delete old Artifacts
runs-on: ubuntu-latest
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/push-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ jobs:

- name: Clear branch ccache storage
if: startsWith(github.event.ref, 'refs/tags') == false
uses: yumemi-inc/clean-cache-action@v1
continue-on-error: true
with:
ref: ${{ github.event.ref }}
key: ${{ matrix.architecture }}-${{ matrix.distroName }}-${{ matrix.distroVersion }}-ccache-
run: |
gh cache list --ref ${{ github.event.ref }} --key "${{ matrix.architecture }}-${{ matrix.distroName }}-${{ matrix.distroVersion }}-ccache-" --limit 100 --json id --jq '.[].id' | xargs -r -n1 gh cache delete
env:
GH_TOKEN: ${{ github.token }}

- name: Upload artifacts (release)
if: startsWith(github.event.ref, 'refs/tags') && github.event_name != 'pull_request'
Expand Down Expand Up @@ -143,11 +143,11 @@ jobs:
run: ./build.sh || ./build.sh

- name: Clear branch ccache storage
uses: yumemi-inc/clean-cache-action@v1
continue-on-error: true
with:
ref: ${{ github.event.ref }}
key: macOS-${{ matrix.NICE_NAME }}-ccache
run: |
gh cache list --ref ${{ github.event.ref }} --key "macOS-${{ matrix.NICE_NAME }}-ccache" --limit 100 --json id --jq '.[].id' | xargs -r -n1 gh cache delete
env:
GH_TOKEN: ${{ github.token }}

- name: Upload artifacts (release)
if: startsWith(github.event.ref, 'refs/tags') && github.event_name != 'pull_request'
Expand Down Expand Up @@ -232,11 +232,11 @@ jobs:
./build.sh

- name: Clear branch ccache storage
uses: yumemi-inc/clean-cache-action@v1
continue-on-error: true
with:
ref: ${{ github.event.ref }}
key: ${{ runner.os }}-ccache
run: |
gh cache list --ref ${{ github.event.ref }} --key "${{ runner.os }}-ccache" --limit 100 --json id --jq '.[].id' | xargs -r -n1 gh cache delete
env:
GH_TOKEN: ${{ github.token }}

- name: Upload artifacts (release)
if: startsWith(github.event.ref, 'refs/tags') && github.event_name != 'pull_request'
Expand Down
2 changes: 2 additions & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ BUILD_ARCHIVES - false|true, cpack will build ZIP package
USE_STANDARD_INSTALLER_NAME - false|true, use standard Linux package naming
USE_CCACHE - false|true, use ccache if available
RESET_CACHE - false|true, reset ccache storage
INCLUDE_DEP_LIB - false|true, bundle dependency libs into the Linux installer

Example of usage:
PLATFORM=rpi DISTRO_NAME=debian DISTRO_VERSION=bullseye ARCHITECTURE=arm64 ./build.sh
Expand Down Expand Up @@ -224,3 +225,4 @@ Use -D prefix when configuring the build.
* USE_SYSTEM_STB_LIBS = ON | OFF, prefer system stb libs
* USE_STATIC_QT_PLUGINS = ON | OFF, embed static QT-plugins into the app
* USE_STANDARD_INSTALLER_NAME = ON | OFF, use standard Linux package naming
* ENABLE_DEPENDENCY_PACKAGING = ON | OFF, bundle dependency libs into the Linux installer
28 changes: 17 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
- Fix: Initial smoothing surge after period of static video input (#1410) - fix for v22beta1 🆕
- Fix: Minimum brightness preservation in YUV and Hybrid-Inertia smoothing modes (#1410) - fix for v22beta1 🆕
- upgrades old style format logging (with %) to c++20 format in some places (#1410) - fix for v22beta1 🆕
- restores custom user RGB order at the start (#1410) - fix for v22beta1 🆕
- restores compatibility with Qt5.15 (#1410) - fix for v22beta1 🆕
- Improved state management of the software grabber during sleep and monitor‑suspend events (#1410) - fix for v22beta1 🆕
- Switch to Filesystem Hierarchy Standard (FHS) compliant installation on Linux (#1477) - v22beta2 🆕
- Migrate to standard OS config location if ~/.hyperhdr folder is missing (#1472) - v22beta2 🆕
- Add Philips WiZ support (driver + web wizard) Thanks @user83749 (#1469) - v22beta2 🆕
- Add aspect ratio detection for Amlogic grabber. Thanks @santievil (#1476) - v22beta2 🆕
- Fix remote tab JSON parsing error caused by missing black color in API JSON scheme (#1471) - v22beta2 🆕
- Implement DDP / Hyperk drivers (#1467) - v22beta2 🆕
- Fix: Initial smoothing surge after period of static video input (#1410) - v22beta2 🆕
- Fix: Minimum brightness preservation in YUV and Hybrid-Inertia smoothing modes (#1410) - v22beta2 🆕
- upgrades old style format logging (with %) to c++20 format in some places (#1410) - v22beta2 🆕
- restores custom user RGB order at the start (#1410) - v22beta2 🆕
- restores compatibility with Qt5.15 (#1410) - v22beta2 🆕
- Improved state management of the software grabber during sleep and monitor‑suspend events (#1410) - v22beta2 🆕
- PipeWire is particularly sensitive to sessions resuming too early after such events and, despite having provided a saved session token, would display a new source select dialog after resume when screen‑lock‑after‑suspend was enabled
- Set disableOnLocked option enabled by default, because software grabbers for ex. Pipewire wont function properly without it (#1410) - fix for v22beta1 🆕
- Fix translation resources
- Infinite Color Engine: new anti-flickering filter in the smoothing configuration (#1410) - fix for v22beta1 🆕
- Set disableOnLocked option enabled by default, because software grabbers for ex. Pipewire wont function properly without it (#1410) - v22beta2 🆕
- Fix translation resources- v22beta2 🆕
- Infinite Color Engine: new anti-flickering filter in the smoothing configuration (#1410) - v22beta2 🆕
- Implements an anti-flickering filter that minimizes quantization jitter on 8-bit-per-channel drivers (24-bit RGB). Deep color capable drivers (like Philips Hue using entertainment mode) are bypassed as they don't suffer from LSB oscillation.
- Improved handshake stability connecting to Philips Hue bridge using OpenSSL 3.2+ (#1410) - fix for v22beta1 🆕
- Fix: Add missing Qt meta-type registrations (#1456) - fix for v22beta1 🆕
- Improved handshake stability connecting to Philips Hue bridge using OpenSSL 3.2+ (#1410) - v22beta2 🆕
- Fix: Add missing Qt meta-type registrations (#1456) - v22beta2 🆕
- Infinite Color Engine - Breaking 24-bit Limits (#1261) - v22beta1 🆕
- Floating-Point Precision: All color computations use high-precision floating-point arithmetic, eliminating cumulative rounding errors for more accurate results
- Linear sRGB Accuracy: Core color transformations are processed in linear sRGB space, ensuring physically correct and consistent light reproduction
Expand Down
15 changes: 15 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,21 @@ if(UNIX AND NOT APPLE)
colorMe("USE_STANDARD_INSTALLER_NAME = " ${USE_STANDARD_INSTALLER_NAME})

colorMe("HYPERHDR_HAVE_DBUS = " ${HYPERHDR_HAVE_DBUS})

include(GNUInstallDirs)

option(ENABLE_DEPENDENCY_PACKAGING "Bundle dependency libraries" OFF)
colorMe("ENABLE_DEPENDENCY_PACKAGING = " ${ENABLE_DEPENDENCY_PACKAGING})

if(ENABLE_DEPENDENCY_PACKAGING)
SET ( PORTABLE_LIB_FOLDER "../${CMAKE_INSTALL_LIBDIR}/hyperhdr" )
colorMe("PORTABLE_LIB_FOLDER = " ${PORTABLE_LIB_FOLDER})
endif()

if (NOT USE_EMBEDDED_WEB_RESOURCES)
file(RELATIVE_PATH WEB_REL_PATH "${CMAKE_INSTALL_FULL_BINDIR}" "${CMAKE_INSTALL_FULL_DATADIR}/hyperhdr/web")
SET( WEB_RESOURCES_FOLDER "${WEB_REL_PATH}")
endif()
else()
SET ( USE_STANDARD_INSTALLER_NAME OFF )
endif()
Expand Down
4 changes: 4 additions & 0 deletions HyperhdrConfig.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@

#cmakedefine HYPERHDR_HAVE_DBUS

#cmakedefine PORTABLE_LIB_FOLDER "@PORTABLE_LIB_FOLDER@"

#cmakedefine WEB_RESOURCES_FOLDER "@WEB_RESOURCES_FOLDER@"

// the hyperhdr build id string
#define HYPERHDR_BUILD_ID "${HYPERHDR_BUILD_ID}"
#define HYPERHDR_GIT_REMOTE "${HYPERHDR_GIT_REMOTE}"
Expand Down
21 changes: 20 additions & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ print_manual()
printf "\n\n${GreenColor}Optional environmental options:${ColorReset}"
printf "\n${CyanColor}BUILD_TYPE${ColorReset} - Release|Debug, default is Release version"
printf "\n${CyanColor}BUILD_ARCHIVES${ColorReset} - false|true, cpack will build ZIP package"
printf "\n${CyanColor}INCLUDE_DEP_LIB${ColorReset} - false|true, include dependent libraries in the installer"
printf "\n${CyanColor}USE_STANDARD_INSTALLER_NAME${ColorReset} - false|true, use standard Linux package naming"
printf "\n${CyanColor}USE_CCACHE${ColorReset} - false|true, use ccache if available"
printf "\n${CyanColor}RESET_CACHE${ColorReset} - false|true, reset ccache storage"
Expand Down Expand Up @@ -74,6 +75,7 @@ fi
[ -z "${USE_CCACHE}" ] && USE_CCACHE=true
[ -z "${RESET_CACHE}" ] && RESET_CACHE=false
[ -z "${BUILD_ARCHIVES}" ] && BUILD_ARCHIVES=true
[ -z "${INCLUDE_DEP_LIB}" ] && INCLUDE_DEP_LIB=true


printf "\n${GreenColor}PLATFORM${ColorReset} = ${YellowColor}${PLATFORM}${ColorReset}"
Expand All @@ -84,6 +86,7 @@ printf "\n${GreenColor}BUILD_TYPE${ColorReset} = ${YellowColor}${BUILD_TYPE}
printf "\n${GreenColor}BUILD_ARCHIVES${ColorReset} = ${YellowColor}${BUILD_ARCHIVES}${ColorReset}"
printf "\n${GreenColor}USE_CCACHE${ColorReset} = ${YellowColor}${USE_CCACHE}${ColorReset}"
printf "\n${GreenColor}RESET_CACHE${ColorReset} = ${YellowColor}${RESET_CACHE}${ColorReset}"
printf "\n${GreenColor}INCLUDE_DEP_LIB{ColorReset} = ${YellowColor}${INCLUDE_DEP_LIB}${ColorReset}"
printf "\n${GreenColor}USE_STANDARD_INSTALLER_NAME${ColorReset} = ${YellowColor}${USE_STANDARD_INSTALLER_NAME}${ColorReset}"
printf "\n\n"

Expand All @@ -103,6 +106,14 @@ else
ARCHIVE_OPTION=" ${ARCHIVE_OPTION} -DUSE_STANDARD_INSTALLER_NAME=OFF"
fi

if [ ${INCLUDE_DEP_LIB} = true ]; then
echo "Include dependent libraries in the installer"
ARCHIVE_OPTION=" ${ARCHIVE_OPTION} -DENABLE_DEPENDENCY_PACKAGING=ON"
else
echo "Do not include dependent libraries in the installer"
ARCHIVE_OPTION=" ${ARCHIVE_OPTION} -DENABLE_DEPENDENCY_PACKAGING=OFF"
fi

echo "Platform: ${PLATFORM}, build type: ${BUILD_TYPE}, CI_NAME: $CI_NAME, docker: ${ARCHITECTURE}/${DISTRO_NAME}:${DISTRO_VERSION}, archive options: ${ARCHIVE_OPTION}, use ccache: ${USE_CCACHE}, reset ccache: ${RESET_CACHE}"

# clear ccache if neccesery
Expand Down Expand Up @@ -207,7 +218,15 @@ elif [[ "$CI_NAME" == 'linux' ]]; then
chmod -R a+rw ${CI_BUILD_DIR}/deploy
versionFile=`cat version`
executeCommand="echo \"GLIBC version: \$(ldd --version | head -1 | sed 's/[^0-9]*\([.0-9]*\)$/\1/')\""
executeCommand=${executeCommand}" && sed -i \"s/{GLIBC_VERSION}/\$(ldd --version | head -1 | sed 's/[^0-9]*\([.0-9]*\)$/\1/')/\" PKGBUILD && makepkg"
executeCommand=${executeCommand}" && sed -i \"s/{GLIBC_VERSION}/\$(ldd --version | head -1 | sed 's/[^0-9]*\([.0-9]*\)$/\1/')/\" PKGBUILD"

if [ ${INCLUDE_DEP_LIB} = true ]; then
executeCommand=${executeCommand}" && makepkg"
else
executeCommand=${executeCommand}" && sed -i 's|) #<depends>| alsa-lib libftdi gtk3 hicolor-icon-theme libayatana-appindicator libjpeg-turbo libusb libx11 libglvnd mesa openssl pipewire qt6-base qt6-serialport systemd-libs wayland xz zstd)|' PKGBUILD"
executeCommand=${executeCommand}" && makepkg -d"
fi

echo ${executeCommand}
sed -i "s/{VERSION}/${versionFile}/" PKGBUILD
sed -i "s/{BUILD_OPTION}/${BUILD_OPTION}/" PKGBUILD
Expand Down
Loading