UWINE/org.openwinecomponents.ulwgl.launcher.yml
2024-02-07 17:28:11 +02:00

184 lines
5.9 KiB
YAML

id: org.openwinecomponents.ulwgl.launcher
runtime: org.freedesktop.Platform
runtime-version: &runtime-version '23.08'
x-gl-version: &gl-version '1.4'
x-gl-versions: &gl-versions 23.08;23.08-extra;1.4
x-gl-merge-dirs: &gl-merge-dirs vulkan/icd.d;glvnd/egl_vendor.d;OpenCL/vendors;lib/dri;lib/d3d;vulkan/explicit_layer.d;vulkan/implicit_layer.d
sdk: org.freedesktop.Sdk
command: ulwgl-run
separate-locales: false
sdk-extensions:
- org.freedesktop.Sdk.Compat.i386
- org.freedesktop.Sdk.Extension.toolchain-i386
finish-args:
- --allow=devel
- --allow=multiarch
- --device=all
- --allow=bluetooth
- --allow=per-app-dev-shm
- --env=PATH=/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin:/usr/lib/extensions/vulkan/gamescope/bin:/usr/lib/extensions/vulkan/OBSVkCapture/bin
- --filesystem=xdg-data/lutris:rw
- --filesystem=xdg-data/Steam:rw
- --filesystem=xdg-data/applications:rw
- --filesystem=~/.steam:rw
- --filesystem=~/Games:rw
- --filesystem=~/.local/share:rw
- --filesystem=~/.var/app/com.valvesoftware.Steam:rw
- --filesystem=~/.var/app/org.openwinecomponents.ulwgl.launcher:rw
- --filesystem=xdg-documents
- --filesystem=xdg-desktop
- --env=TZ=
- --unset-env=TZ
- --env=LC_ADDRESS=C
- --env=LC_COLLATE=C
- --env=LC_MONETARY=C
- --env=LC_MEASUREMENT=C
- --env=LC_NAME=C
- --env=LC_NUMERIC=C
- --env=LC_TELEPHONE=C
- --env=SDL_VIDEODRIVER=
- --unset-env=SDL_VIDEODRIVER
- --env=DBUS_FATAL_WARNINGS=0
- --env=XDG_CONFIG_DIRS=/etc/xdg:/usr/lib/x86_64-linux-gnu/GL:/usr/lib/i386-linux-gnu/GL
# Wine uses UDisks2 to enumerate disk drives
- --system-talk-name=org.freedesktop.UDisks2
# should fix access to SD card on the deck
- --filesystem=/run/media
# There are still quite a few users using /mnt/ for external drives
- --filesystem=/mnt
# should fix steamdeck controler navigation
- --filesystem=/run/udev:ro
# should fix discord rich presence
- --filesystem=xdg-run/app/com.discordapp.Discord:create
- --persist=.
- --share=ipc
- --socket=wayland
- --socket=x11
- --socket=pulseaudio
- --share=network
- --talk-name=org.freedesktop.Notifications
- --talk-name=org.kde.StatusNotifierWatcher
# Required for bwrap to work
- --talk-name=org.freedesktop.portal.Background
add-extensions:
org.freedesktop.Platform.Compat.i386:
directory: lib/i386-linux-gnu
version: *runtime-version
org.freedesktop.Platform.Compat.i386.Debug:
directory: lib/debug/lib/i386-linux-gnu
version: *runtime-version
no-autodownload: true
org.freedesktop.Platform.GL32:
directory: lib/i386-linux-gnu/GL
version: *gl-version
versions: *gl-versions
subdirectories: true
no-autodownload: true
autodelete: false
add-ld-path: lib
merge-dirs: *gl-merge-dirs
download-if: active-gl-driver
enable-if: active-gl-driver
autoprune-unless: active-gl-driver
org.freedesktop.Platform.GL32.Debug:
directory: lib/debug/lib/i386-linux-gnu/GL
version: *gl-version
versions: *gl-versions
subdirectories: true
no-autodownload: true
merge-dirs: *gl-merge-dirs
enable-if: active-gl-driver
autoprune-unless: active-gl-driver
org.freedesktop.Platform.VAAPI.Intel.i386:
directory: lib/i386-linux-gnu/dri/intel-vaapi-driver
version: *runtime-version
versions: *runtime-version
autodelete: false
no-autodownload: true
add-ld-path: lib
download-if: have-intel-gpu
autoprune-unless: have-intel-gpu
org.freedesktop.Platform.ffmpeg-full:
directory: lib/ffmpeg
add-ld-path: .
version: *runtime-version
no-autodownload: true
autodelete: false
org.freedesktop.Platform.ffmpeg_full.i386:
directory: lib32/ffmpeg
add-ld-path: .
version: *runtime-version
no-autodownload: true
autodelete: false
com.valvesoftware.Steam.CompatibilityTool:
subdirectories: true
directory: share/steam/compatibilitytools.d
version: stable
versions: stable;beta;test
no-autodownload: true
autodelete: true
com.valvesoftware.Steam.Utility:
subdirectories: true
directory: utils
version: stable
versions: stable;beta;test
add-ld-path: lib
merge-dirs: bin;lib/python3.10/site-packages;share/vulkan/explicit_layer.d;share/vulkan/implicit_layer.d;share/steam/compatibilitytools.d;
no-autodownload: true
autodelete: true
modules:
# --- ULWGL ---
- name: ulwgl-run
buildsystem: simple
build-commands:
- install -D ulwgl-run-cli /app/bin/ulwgl-run
- install -D ULWGL-launcher.tar.gz /app/share/ULWGL/ULWGL-launcher.tar.gz
sources:
- type: file
path: ulwgl-run-cli
- type: file
url: https://github.com/Open-Wine-Components/ULWGL-launcher/releases/download/0.1-RC3/ULWGL-launcher.tar.gz
sha256: e25c4dd0636d04e7c8c534cf3c5bbdca5ae0d49f146ee8395306174700899952
- name: platform-bootstrap
buildsystem: simple
build-commands:
- |
set -e
mkdir -p /app/bin
mkdir -p /app/lib/i386-linux-gnu
mkdir -p /app/lib/i386-linux-gnu/GL
mkdir -p /app/lib/i386-linux-gnu/dri/intel-vaapi-driver
mkdir -p /app/lib/debug/lib/i386-linux-gnu
mkdir -p /app/lib/debug/lib/i386-linux-gnu/GL
install -Dm644 -t /app/etc ld.so.conf
mkdir -p /app/lib{,32}/ffmpeg
mkdir -p /app/share/steam/compatibilitytools.d
mkdir -p /app/utils /app/share/vulkan
ln -srv /app/{utils/,}share/vulkan/explicit_layer.d
ln -srv /app/{utils/,}share/vulkan/implicit_layer.d
mkdir -p /app/links/lib
ln -srv /app/lib /app/links/lib/x86_64-linux-gnu
ln -srv /app/lib32 /app/links/lib/i386-linux-gnu
sources:
- type: inline
dest-filename: ld.so.conf
contents: |
# We just make any GL32 extension have higher priority
include /run/flatpak/ld.so.conf.d/app-*-org.freedesktop.Platform.GL32.*.conf
/app/lib32
/app/lib/i386-linux-gnu
/lib64