fix: model catalog shows download status, GPU detection in toolbox

- Catalog * indicator now searches recursively (finds models in subdirs)
- GPU verification suppresses toolbox crun stderr (directory not found noise)
- Matches on "radeon" and "available devices" for Vulkan output

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Felipe Cardoso
2026-03-26 19:14:31 +01:00
parent 6f197a1455
commit d22c062ca7

View File

@@ -60,7 +60,7 @@ fi
log_info "Verifying GPU access in toolboxes..." log_info "Verifying GPU access in toolboxes..."
for tb in "${REQUIRED_TOOLBOXES[@]}"; do for tb in "${REQUIRED_TOOLBOXES[@]}"; do
if echo "$existing" | grep -qF "$tb"; then if echo "$existing" | grep -qF "$tb"; then
if toolbox run -c "$tb" -- llama-cli --list-devices 2>&1 | grep -qi "gpu\|vulkan\|rocm"; then if toolbox run -c "$tb" -- llama-cli --list-devices 2>/dev/null | grep -qi "vulkan\|rocm\|radeon\|available devices"; then
log_success "GPU accessible in $tb" log_success "GPU accessible in $tb"
else else
log_warn "GPU may not be accessible in $tb — check device mappings" log_warn "GPU may not be accessible in $tb — check device mappings"
@@ -90,9 +90,8 @@ printf " ${BOLD}%-28s %-10s %-8s %s${RESET}\n" "Name" "Category" "Size" "Descri
echo " $(printf '%.0s─' {1..70})" echo " $(printf '%.0s─' {1..70})"
while IFS='|' read -r name repo file size_gb category desc; do while IFS='|' read -r name repo file size_gb category desc; do
[[ "$name" =~ ^#.*$ || -z "$name" ]] && continue [[ "$name" =~ ^#.*$ || -z "$name" ]] && continue
local_file="$MODEL_DIR/$file"
status=" " status=" "
if [[ -f "$local_file" ]]; then if find -L "$MODEL_DIR" -name "$file" -print -quit 2>/dev/null | grep -q .; then
status="*" status="*"
fi fi
printf " %s %-27s %-10s %4s GB %s\n" "$status" "$name" "$category" "$size_gb" "$desc" printf " %s %-27s %-10s %4s GB %s\n" "$status" "$name" "$category" "$size_gb" "$desc"