qemu: warn user if nVidia libGL is detected (leads to qemu segfault)

nVidia's OpenGL libraries are known to have compatibility issues with qemu,
resulting in a segfault. As different workarounds are required for the different
distributions, just warn the user to explain the qemu segfault to follow, and
suggest a workaround using LD_PRELOAD.

[YOCTO #649]
[YOCTO #698]

(Original patch from Edwin, Darren modified warning and git commit wording)

(From OE-Core rev: 2247ffe954b5a71f82944d23141c836b38716654)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Mark Hatle <mark.hatle@windriver.com>
CC: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Darren Hart 2011-03-18 10:18:48 -07:00 committed by Richard Purdie
parent 94786e172d
commit dd2f9f69d9
1 changed files with 13 additions and 1 deletions

View File

@ -442,10 +442,22 @@ else
echo "Warning: distccd not present, no distcc support loaded."
fi
# qemu got segfault if linked with nVidia's libgl
if ldd $QEMUBIN | grep -i nvidia &> /dev/null
then
echo "************** !!!Warning!!! **************
nVidia's proprietary OpenGL libraries are known to have compatibility
issues with qemu, resulting in a segfault. Please uninstall these
drivers or ensure the mesa libGL libraries precede nvidia's via LD_PRELOAD.
"
fi
echo "Running $QEMU..."
# -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'"'
$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT" || /bin/true
# If QEMU crashes, we need to run stty sane
$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT" || stty sane
cleanup