qemu-script: Fix qemu seg fault if install Nvidia proprietary driver.
This fix works on Ubuntu, and other distro can add its own path of Mesa's libGL (From OE-Core rev: a0a563d0d0febacef3f9080db24fa968e8c5f08b) Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
cd4a94d124
commit
e2f1638d9f
|
@ -448,20 +448,29 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# qemu got segfault if linked with nVidia's libgl
|
# qemu got segfault if linked with nVidia's libgl
|
||||||
|
GL_LD_PRELOAD=$LD_PRELOAD
|
||||||
|
|
||||||
if ldd $QEMUBIN | grep -i nvidia &> /dev/null
|
if ldd $QEMUBIN | grep -i nvidia &> /dev/null
|
||||||
then
|
then
|
||||||
cat << EOM
|
cat << EOM
|
||||||
WARNING: nVidia proprietary OpenGL libraries detected.
|
WARNING: nVidia proprietary OpenGL libraries detected.
|
||||||
nVidia's OpenGL libraries are known to have compatibility issues with qemu,
|
nVidia's OpenGL libraries are known to have compatibility issues with qemu,
|
||||||
resulting in a segfault. Please uninstall these drivers or ensure the mesa libGL
|
resulting in a segfault. Please uninstall these drivers or ensure the mesa libGL
|
||||||
libraries precede nvidia's via LD_PRELOAD.
|
libraries precede nvidia's via LD_PRELOAD(Already do it on Ubuntu).
|
||||||
EOM
|
EOM
|
||||||
|
|
||||||
|
# Automatically use Ubuntu system's mesa libGL, other distro can add its own path
|
||||||
|
if grep -i ubuntu /etc/lsb-release &> /dev/null
|
||||||
|
then
|
||||||
|
echo "Skip nVidia's libGL on Ubuntu!"
|
||||||
|
GL_LD_PRELOAD="/usr/lib/libGL.so $LD_PRELOAD"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Running $QEMU..."
|
echo "Running $QEMU..."
|
||||||
# -no-reboot is a mandatory option - see bug #100
|
# -no-reboot is a mandatory option - see bug #100
|
||||||
echo $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"'
|
echo $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"'
|
||||||
$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT"
|
LD_PRELOAD="$GL_LD_PRELOAD" $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT"
|
||||||
|
|
||||||
|
|
||||||
cleanup
|
cleanup
|
||||||
|
|
Loading…
Reference in New Issue