Skip to content

Commit 71f4919

Browse files
committed
feat: Update to v10.0.0 and enable FLM
1 parent a2c61d3 commit 71f4919

1 file changed

Lines changed: 180 additions & 1 deletion

File tree

snap/snapcraft.yaml

Lines changed: 180 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,20 @@ contact: https://github.com/kenvandine/lemonade-server-snap/issues
4646
platforms:
4747
amd64:
4848

49+
package-repositories:
50+
- type: apt
51+
ppa: amd-team/xrt
52+
4953
layout:
5054
/usr/share/lemonade-server:
5155
symlink: $SNAP/usr/share/lemonade-server
56+
# Add layout entries so XRT's hardcoded absolute paths resolve to the snap's copies
57+
/usr/lib/x86_64-linux-gnu/libxrt_core.so.2:
58+
bind-file: $SNAP/usr/lib/x86_64-linux-gnu/libxrt_core.so.2.21.75
59+
/usr/lib/x86_64-linux-gnu/libxrt_coreutil.so.2:
60+
bind-file: $SNAP/usr/lib/x86_64-linux-gnu/libxrt_coreutil.so.2.21.75
61+
/usr/lib/x86_64-linux-gnu/libxrt_driver_xdna.so.2:
62+
bind-file: $SNAP/usr/lib/x86_64-linux-gnu/libxrt_driver_xdna.so.2.21.75
5263

5364
plugs:
5465
gpu-2404:
@@ -70,6 +81,7 @@ apps:
7081
command: bin/metrics
7182
command-chain: [bin/gpu-2404-wrapper]
7283
plugs:
84+
- accel
7385
- home
7486
- removable-media
7587
- network
@@ -83,6 +95,7 @@ apps:
8395
command: usr/bin/lemonade-server
8496
command-chain: [bin/gpu-2404-wrapper]
8597
plugs:
98+
- accel
8699
- home
87100
- removable-media
88101
- network
@@ -94,6 +107,12 @@ apps:
94107
environment:
95108
LD_LIBRARY_PATH: "$SNAP/usr/share/lemonade-server:$SNAP_COMMON/cache/lemonade/bin/llamacpp/vulka n:$SNAP_COMMON/cache/lemonade/bin/whispercpp/vulkan:$SNAP/usr/lib/x86_64-linux-gnu:$SNAP/lib/x86_64-linux-gnu:/var/lib/snapd/lib/gl${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
96109
PATH: "$SNAP/usr/bin:$PATH"
110+
HOME: "$SNAP_COMMON"
111+
LEMONADE_CACHE_DIR: "$SNAP_COMMON/cache/lemonade"
112+
FLM_MODEL_PATH: $SNAP_COMMON/flm/models
113+
FLM_CONFIG_PATH: $SNAP/usr/share/flm/model_list.json
114+
FLM_XCLBIN_PATH: $SNAP/usr/share/flm/xclbins
115+
LEMONADE_FLM_LINUX_BETA: 1
97116
daemon:
98117
command: bin/lemonade-server-wrapper serve
99118
command-chain: [bin/gpu-2404-wrapper]
@@ -102,6 +121,7 @@ apps:
102121
restart-condition: on-failure
103122
refresh-mode: restart
104123
plugs:
124+
- accel
105125
- home
106126
- removable-media
107127
- network
@@ -117,6 +137,29 @@ apps:
117137
HOME: "$SNAP_COMMON"
118138
LEMONADE_CACHE_DIR: "$SNAP_COMMON/cache/lemonade"
119139
LEMONADE_DISABLE_SYSTEMD_JOURNAL: 1
140+
FLM_MODEL_PATH: $SNAP_COMMON/flm/models
141+
FLM_CONFIG_PATH: $SNAP/usr/share/flm/model_list.json
142+
FLM_XCLBIN_PATH: $SNAP/usr/share/flm/xclbins
143+
LEMONADE_FLM_LINUX_BETA: 1
144+
flm:
145+
command: usr/bin/flm
146+
plugs:
147+
- accel
148+
- home
149+
- removable-media
150+
- network
151+
- network-bind
152+
- opengl
153+
- hardware-observe
154+
- system-observe
155+
environment:
156+
LD_LIBRARY_PATH: "$SNAP/usr/share/lemonade-server:$SNAP/usr/lib/llamacpp/vulkan:$SNAP/usr/lib/x86_64-linux-gnu:$SNAP/lib/x86_64-linux-gnu:/var/lib/snapd/lib/gl${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
157+
PATH: "$SNAP/usr/bin:$PATH"
158+
HOME: "$SNAP_COMMON"
159+
LEMONADE_CACHE_DIR: "$SNAP_COMMON/cache/lemonade"
160+
FLM_MODEL_PATH: $SNAP_COMMON/flm/models
161+
FLM_CONFIG_PATH: $SNAP/usr/share/flm/model_list.json
162+
FLM_XCLBIN_PATH: $SNAP/usr/share/flm/xclbins
120163

121164
parts:
122165
deps:
@@ -145,7 +188,7 @@ parts:
145188
lemonade-server:
146189
plugin: cmake
147190
source: https://github.com/lemonade-sdk/lemonade.git
148-
source-tag: v9.4.1
191+
source-tag: v10.0.0
149192
cmake-parameters:
150193
- -DCMAKE_PREFIX_PATH=/usr
151194
- -DCMAKE_INSTALL_PREFIX=/usr
@@ -183,6 +226,142 @@ parts:
183226
prime:
184227
- bin/gpu-2404-wrapper
185228

229+
fastflowlm:
230+
plugin: cmake
231+
source: https://github.com/FastFlowLM/FastFlowLM.git
232+
source-tag: v0.9.35
233+
source-subdir: src
234+
cmake-parameters:
235+
- -DCMAKE_PREFIX_PATH=/usr
236+
- -DCMAKE_INSTALL_PREFIX=/usr
237+
- -DCMAKE_XCLBIN_PREFIX=/usr/share/flm/xclbins
238+
- -DFLM_VERSION=0.9.35
239+
- -DNPU_VERSION=32.0.203.304
240+
build-packages:
241+
- build-essential
242+
- g++
243+
- cmake
244+
- git
245+
- curl
246+
- libcurl4-openssl-dev
247+
- libssl-dev
248+
- zlib1g-dev
249+
- pkg-config
250+
- ninja-build
251+
- libxrt-dev
252+
- libboost-program-options-dev
253+
- libboost-dev
254+
- libavcodec-dev
255+
- libavformat-dev
256+
- libavutil-dev
257+
- libdrm-dev
258+
- libfftw3-dev
259+
- libreadline-dev
260+
- libswresample-dev
261+
- libswscale-dev
262+
- uuid-dev
263+
- rustc-1.89
264+
- cargo-1.89
265+
stage-packages:
266+
- libaom3
267+
- libavcodec60
268+
- libavformat60
269+
- libavutil58
270+
- libbluray2
271+
- libboost-program-options1.83.0
272+
- libcairo-gobject2
273+
- libcairo2
274+
- libchromaprint1
275+
- libcjson1
276+
- libcodec2-1.2
277+
- libdatrie1
278+
- libdav1d7
279+
- libfftw3-single3
280+
- libfontconfig1
281+
- libfribidi0
282+
- libgdk-pixbuf-2.0-0
283+
- libgme0
284+
- libgraphite2-3
285+
- libgsm1
286+
- libharfbuzz0b
287+
- libhwy1t64
288+
- libjpeg-turbo8
289+
- libjxl0.7
290+
- liblcms2-2
291+
- libmbedcrypto7t64
292+
- libmp3lame0
293+
- libmpg123-0t64
294+
- libnorm1t64
295+
- libogg0
296+
- libopenjp2-7
297+
- libopenmpt0t64
298+
- libopus0
299+
- libpango-1.0-0
300+
- libpangocairo-1.0-0
301+
- libpangoft2-1.0-0
302+
- libpgm-5.3-0t64
303+
- libpixman-1-0
304+
- librabbitmq4
305+
- librav1e0
306+
- librist4
307+
- librsvg2-2
308+
- libsharpyuv0
309+
- libshine3
310+
- libsnappy1v5
311+
- libsodium23
312+
- libsoxr0
313+
- libspeex1
314+
- libsrt1.5-gnutls
315+
- libssh-gcrypt-4
316+
- libsvtav1enc1d1
317+
- libswresample4
318+
- libswscale7
319+
- libthai0
320+
- libtheora0
321+
- libtwolame0
322+
- libudfread0
323+
- libva-drm2
324+
- libva-x11-2
325+
- libva2
326+
- libvdpau1
327+
- libvorbis0a
328+
- libvorbisenc2
329+
- libvorbisfile3
330+
- libvpl2
331+
- libvpx9
332+
- libwebp7
333+
- libwebpmux3
334+
- libx11-6
335+
- libx11-xcb1
336+
- libx264-164
337+
- libx265-199
338+
- libxau6
339+
- libxcb-dri3-0
340+
- libxcb-render0
341+
- libxcb-shm0
342+
- libxcb1
343+
- libxdmcp6
344+
- libxext6
345+
- libxfixes3
346+
- libxrender1
347+
- libxrt2
348+
- libxrt-npu2
349+
- libxvidcore4
350+
- libzmq5
351+
- libzvbi0t64
352+
- ocl-icd-libopencl1
353+
override-build: |
354+
export CARGO=/usr/bin/cargo-1.89
355+
export RUSTC=/usr/bin/rustc-1.89
356+
ln -sf /usr/bin/cargo-1.89 /usr/bin/cargo
357+
ln -sf /usr/bin/rustc-1.89 /usr/bin/rustc
358+
craftctl default
359+
prime:
360+
- usr/lib/*.so
361+
- usr/lib/*/*.so.*
362+
- usr/bin
363+
- usr/share/flm
364+
186365
scripts:
187366
plugin: dump
188367
source: scripts/

0 commit comments

Comments
 (0)