V3: fix qemu segfault with nVidia proprietary driver
cover V3: fix qemu segfault with nVidia proprietary driver
From: Zhai Edwin <[email protected]>
After discussion with Mark, we decide that only give warnings to ender user as different host os need differnt fix.
Thanks,
edwin
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: gzhai/fix3
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=gzhai/fix3
Thanks,
Zhai Edwin <[email protected]>
---
Zhai Edwin (1):
qemu: Warnings of qemu segfault caused by nVidia's libGL
scripts/poky-qemu-internal | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
PATCH 1/1 qemu: Warnings of qemu segfault caused by nVidia's libGL
From: Zhai Edwin <[email protected]>
Proprietary nVidia driver introduce its own libGL that precede mesa's. qemu has segfault if linked with it. This fix give warnings and workaround to end user.
[YOCTO #649]
[YOCTO #698]
--- scripts/poky-qemu-internal | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
scripts/poky-qemu-internal +13 -1
@@ -436,10 +436,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
Signature · 1 line
1.7.1
Re: [PATCH 1/1] qemu: Warnings of qemu segfault caused by nVidia's libGL
Quoted 23 lines · Zhai Edwin
From: Zhai Edwin<[email protected]>
Proprietary nVidia driver introduce its own libGL that precede mesa's. qemu has segfault if linked with it. This fix give warnings and workaround to end user.
[YOCTO #649]
[YOCTO #698]Signed-off-by Zhai Edwin<[email protected]>Signed-off-by Darren Hart<[email protected]>Signed-off-by Mark Hatle<[email protected]>--- scripts/poky-qemu-internal | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)scripts/poky-qemu-internal +0
-0@@ -436,10 +436,22 @@ else echo "Warning: distccd not present, no distcc support loaded."
scripts/poky-qemu-internal else · line 446
Quoted 10 lines
scripts/poky-qemu-internal +8
-0fi +# 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. + "
Please don't wrap lines with echo, it comes out like this:
************** !!!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.
This is why my suggestion used
cat <<EOM
verbatim message
EOM
Also, this doesn't include the comment about the script trying to use LD_PRELOAD. So this is not the patch I proposed, as such, please do not add my Signed-off-by.
Thanks,
Darren
Quoted 12 lines
scripts/poky-qemu-internal +5
-1+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
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel