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
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,19 @@ the repos share a version number.

## [Unreleased]

## [0.1.1] - 2026-08-23

### Fixed

- The AppImage bundles Qt's Wayland client buffer integrations
(`wayland-graphics-integration-client`). linuxdeploy's qt plugin deploys the
shell-integration and decoration plugins but not this directory, and a
Wayland session with zero buffer integrations aborts on the first expose;
0.1.0's AppImage only started under `QT_QPA_PLATFORM=xcb`. The build now
fails if any Wayland or xcb platform piece is missing from the bundle.

## [0.1.0] - 2026-08-23

### Added

- Configurable keep-awake, under *Power* in Settings. **Never**, **While
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.21)
project(Dish
VERSION 0.1.0
VERSION 0.1.1
DESCRIPTION "Dish Linux client for the Satellite gamepad-over-LAN protocol"
LANGUAGES CXX)

Expand Down
6 changes: 6 additions & 0 deletions packaging/com.tinkernorth.Dish.metainfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,12 @@
<!-- Kept in step with project(Dish VERSION ...); version-consistency.yml
fails the PR that moves one without the other. -->
<releases>
<release version="0.1.1" date="2026-08-23" type="stable">
<url type="details">https://github.com/TinkerNorth/dish-linux/releases/tag/0.1.1</url>
<description>
<p>Fixes the AppImage on Wayland desktops: the bundle now carries Qt's client buffer integrations, without which 0.1.1's predecessor aborted at startup outside X11.</p>
</description>
</release>
<release version="0.1.0" date="2026-08-20" type="stable">
<url type="details">https://github.com/TinkerNorth/dish-linux/releases/tag/0.1.0</url>
<description>
Expand Down
21 changes: 21 additions & 0 deletions scripts/build-appimage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,27 @@ export QMAKE="${QMAKE:-$(command -v qmake6 || command -v qmake)}"
--icon-file "${appdir}/usr/share/icons/hicolor/512x512/apps/com.tinkernorth.Dish.png" \
--plugin qt

# The qt plugin deploys wayland-shell-integration and the decoration plugin
# but not the client buffer integrations, and a Wayland session with zero
# buffer integrations aborts at the first expose ("Available client buffer
# integrations: QList()", then QRhi fails and Qt Quick qFatals). Copy the
# directory it forgets; the packaging pass below pulls its libraries.
qt_plugin_dir="$("${QMAKE}" -query QT_INSTALL_PLUGINS)"
if [ -d "${qt_plugin_dir}/wayland-graphics-integration-client" ]; then
cp -r "${qt_plugin_dir}/wayland-graphics-integration-client" \
"${appdir}/usr/plugins/"
fi
for must in \
"platforms/libqwayland-egl.so" \
"platforms/libqxcb.so" \
"wayland-graphics-integration-client" \
"wayland-shell-integration"; do
if [ ! -e "${appdir}/usr/plugins/${must}" ]; then
echo "::error::AppImage is missing usr/plugins/${must}; a Wayland desktop crashes at startup without it" >&2
exit 1
fi
done

install -Dm644 packaging/com.tinkernorth.Dish.metainfo.xml \
"${appdir}/usr/share/metainfo/com.tinkernorth.Dish.metainfo.xml"

Expand Down
Loading