summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2011-03-18 10:18:48 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-03-18 23:23:31 +0000
commitdd2f9f69d97423bc4a97f9e14457dc136dee1fe4 (patch)
tree86ff03a759d4e337f47d7a3844119adfd4814aee
parent94786e172d1de6771f9ed6bb9b0184f7e7fdf382 (diff)
downloadpoky-dd2f9f69d97423bc4a97f9e14457dc136dee1fe4.tar.gz
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>
-rwxr-xr-xscripts/poky-qemu-internal14
1 files changed, 13 insertions, 1 deletions
diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal
index 046e2b6e04..0f0f799f50 100755
--- a/scripts/poky-qemu-internal
+++ b/scripts/poky-qemu-internal
@@ -442,10 +442,22 @@ else
442 echo "Warning: distccd not present, no distcc support loaded." 442 echo "Warning: distccd not present, no distcc support loaded."
443fi 443fi
444 444
445# qemu got segfault if linked with nVidia's libgl
446if ldd $QEMUBIN | grep -i nvidia &> /dev/null
447then
448 echo "************** !!!Warning!!! **************
449 nVidia's proprietary OpenGL libraries are known to have compatibility
450 issues with qemu, resulting in a segfault. Please uninstall these
451 drivers or ensure the mesa libGL libraries precede nvidia's via LD_PRELOAD.
452 "
453fi
454
445echo "Running $QEMU..." 455echo "Running $QEMU..."
446# -no-reboot is a mandatory option - see bug #100 456# -no-reboot is a mandatory option - see bug #100
447echo $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"' 457echo $QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append '"'$KERNCMDLINE $SCRIPT_KERNEL_OPT'"'
448$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT" || /bin/true 458# If QEMU crashes, we need to run stty sane
459$QEMUBIN -kernel $KERNEL $QEMUOPTIONS $SERIALOPTS -no-reboot $SCRIPT_QEMU_OPT $SCRIPT_QEMU_EXTRA_OPT --append "$KERNCMDLINE $SCRIPT_KERNEL_OPT" || stty sane
460
449 461
450cleanup 462cleanup
451 463