[Debian-on-mobile-maintainers] Bug#1016534: osk-sdl: "failed to open iris" cannot use it

realroot scorpion2185 at protonmail.com
Tue Aug 2 15:39:08 BST 2022


Package: osk-sdl
Version: 0.67-1
Severity: important
Tags: patch
X-Debbugs-Cc: scorpion2185 at protonmail.com

Dear Maintainer,

I see the error:

MESA-DRIVER: failed to open iris: /usr/lib/dri/iris_dri.so

But I have it so you need to add in /usr/share/initramfs/hooks/osk-sdl at line
67:

copy_exec "$libdir/dri/iris_dri.so"


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.18.0-3-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages osk-sdl depends on:
ii  cryptsetup            2:2.4.3-1+b1
ii  cryptsetup-initramfs  2:2.4.3-1
ii  fonts-dejavu-core     2.37-2
ii  libc6                 2.33-8
ii  libcryptsetup12       2:2.4.3-1+b1
ii  libegl1               1.4.0-1
ii  libgcc-s1             12.1.0-7
ii  libgl1                1.4.0-1
ii  libgles2              1.4.0-1
ii  libsdl2-2.0-0         2.0.22+dfsg-6
ii  libsdl2-ttf-2.0-0     2.20.0+dfsg-1
ii  libstdc++6            12.1.0-7

osk-sdl recommends no packages.

osk-sdl suggests no packages.

-- no debconf information
-------------- next part --------------
#!/bin/sh

PREREQ=""

prereqs()
{
    echo "$PREREQ"
}

case "$1" in
    prereqs)
        prereqs
        exit 0
        ;;
esac

. /usr/share/initramfs-tools/hook-functions

# Many dri modules are kmsro, use a symlink there
dri_inst() {
    so_src="${libdir}/dri/$1"
    shift
    sos=$@
    so_sum=$(md5sum "${so_src}" | awk '{ print $1 }')

    copy_exec "${so_src}"
    for so in $sos; do
        if [ "$(md5sum "${libdir}/dri/${so}" | awk '{ print $1 }')" = "${so_sum}" ]; then
          ln -s "$(basename "${so_src}")" "${DESTDIR}/${libdir}/dri/${so}"
        else
          copy_exec "${libdir}/dri/${so}"
        fi
    done
}

IMX_KMSRO="etnaviv_dri.so imx-drm_dri.so imx-dcss_dri.so mxsfb-drm_dri.so"

case "$DPKG_ARCH" in
    arm64)
        libdir=/usr/lib/aarch64-linux-gnu
        # Pinephone
        if grep -q "allwinner" /proc/device-tree/compatible 2>/dev/null; then
            copy_exec "$libdir/dri/sun4i-drm_dri.so"
            copy_exec "$libdir/libGLESv2.so.2"
            manual_add_modules goodix goodix_ts
        # Librem 5 and Librem 5 Devkit
        elif grep -q "imx" /proc/device-tree/compatible 2>/dev/null; then
            dri_inst ${IMX_KMSRO}
            copy_exec "$libdir/libGLESv2.so.2"
            manual_add_modules edt-ft5x06 goodix pwm_vibra goodix_ts
	# PinePhone Pro
	elif grep -q "PinePhonePro" /proc/device-tree/model 2>/dev/null; then
            dri_inst ${IMX_KMSRO} panfrost_dri.so rockchip_dri.so
            copy_exec "$libdir/libGLESv2.so.2"
            manual_add_modules goodix pwm_vibra goodix_ts
        # Generic / Installer (needs to include all of the above)
        else
            dri_inst ${IMX_KMSRO} sun4i-drm_dri.so panfrost_dri.so rockchip_dri.so
            copy_exec "$libdir/libGLESv2.so.2"
            manual_add_modules edt-ft5x06 goodix pwm_vibra goodix_ts
        fi
        ;;
    amd64)
        libdir=/usr/lib/x86_64-linux-gnu
        copy_exec "$libdir/dri/vmwgfx_dri.so"
        copy_exec "$libdir/dri/virtio_gpu_dri.so"
        copy_exec "$libdir/dri/i965_dri.so"
        copy_exec "$libdir/dri/iris_dri.so"
        copy_exec "$libdir/dri/kms_swrast_dri.so"
        copy_exec "$libdir/libGLESv2.so.2"
        ;;
    *)
        echo "osk-sdl unsupported arch: $DPKG_ARCH"
        exit 0
        ;;
esac

find -L "$libdir" -name "libGL*.so*" -o -name "libEGL*.so*" -o -name "libEGL_mesa.so*" -type f | while read -r so; do
    copy_exec "$so"
done

if ! copy_exec /usr/bin/osk-sdl; then
    echo "ERROR: Couldn't copy /bin/osk-sdl" >&2
    exit 1
fi

if ! copy_file text /etc/osk.conf; then
    echo "ERROR: Couldn't copy config file for osk-sdl: /etc/osk.conf"
    exit 1
fi

if ! copy_exec /usr/share/initramfs-tools/scripts/osk-sdl-keyscript; then
    echo "ERROR: Couldn't copy osk-sdl keyscript" >&2
    exit 1
fi

copy_exec /sbin/dmsetup

# GLVND config needed for EGL
[ -f /usr/share/glvnd/egl_vendor.d/50_mesa.json ] && copy_file text /usr/share/glvnd/egl_vendor.d/50_mesa.json

ttf_font=$(sed  -ne  's/^keyboard-font\s*=\s*\(.*\)/\1/p' /etc/osk.conf)
if [ -n "${ttf_font}" ]; then
    copy_file font "$ttf_font"
else
    echo "ERROR: No font specified in /etc/osk.conf" >&2
    exit 1
fi

# crypto modules
manual_add_modules dm_mod
manual_add_modules dm_crypt
copy_modules_dir "kernel/crypto"
copy_modules_dir "kernel/arch/$DPKG_ARCH/crypto"

# Input Driver
manual_add_modules evdev


More information about the Debian-on-mobile-maintainers mailing list