[virt-tools-list] Docs on getting VirGL working with virt-manager?

Cole Robinson crobinso at redhat.com
Tue Feb 19 21:43:50 UTC 2019


On 2/19/19 4:04 AM, Daniel Kasak wrote:
> On Wed, Feb 20, 2019 at 1:29 AM Cole Robinson <crobinso at redhat.com
> <mailto:crobinso at redhat.com>> wrote:
> 
>     On 2/18/19 7:39 AM, Daniel Kasak wrote:
>     > On Tue, Feb 19, 2019 at 12:38 AM Cole Robinson
>     <crobinso at redhat.com <mailto:crobinso at redhat.com>
>     > <mailto:crobinso at redhat.com <mailto:crobinso at redhat.com>>> wrote:
>     >
>     >     On 2/17/19 10:57 AM, Daniel Kasak wrote:
>     >     > On Sat, Feb 9, 2019 at 2:05 AM Cole Robinson
>     <crobinso at redhat.com <mailto:crobinso at redhat.com>
>     >     <mailto:crobinso at redhat.com <mailto:crobinso at redhat.com>>
>     >     > <mailto:crobinso at redhat.com <mailto:crobinso at redhat.com>
>     <mailto:crobinso at redhat.com <mailto:crobinso at redhat.com>>>> wrote:
>     >     >
>     >     >     On 2/8/19 7:49 PM, Daniel Kasak wrote:
>     >     >     > I've changed the following from the default:
>     >     >     >
>     >     >     > Display Spice:
>     >     >     >  - Listen type
>     >     >     >     - Default ( Address ) - no matter what other options I
>     >     choose with
>     >     >     > this, I get "SPICE GL support is local-only ..."
>     >     >     >     - None - I get "Error starting domain: internal
>     error: qemu
>     >     >     > unexpectedly closed the monitor"
>     >     >     >
>     >     >
>     >     >     This last bit should be the working config, but that
>     error means
>     >     >     something went wrong launching qemu. pastebin your
>     >     >     /var/log/libvirt/qemu/$vmname.log and I will check
>     >     >
>     >     >
>     >     > It's taken a while to figure out exactly what's going on
>     here ...
>     >     there
>     >     > are *no* logs in that directory. But I caught systemd logging:
>     >     >   Process 15334 (qemu-system-x86) of user 1000 dumped core.
>     >     >  ... each time I tried to start the VM.
>     >     >
>     >     > I've tried with qemu-3.1.0 and qemu built from git.
>     >     >
>     >     > Is there a way to get virt-manager to spit out the exact
>     command line
>     >     > it's using to invoke qemu?
>     >
>     >     Are you using qemu:///session maybe? Then the logs will be in
>     >     ~/.cache/libvirt/qemu/log/ . The log file is the the canonical
>     location
>     >     to find the qemu command line that libvirt is generating
>     >
>     >
>     > Aha. I have the command-line now. Thanks :) Full log:
> 
>     >
>     > char device redirected to /dev/pts/7 (label charserial0)
>     > ./run.sh: line 49: 31512 Bad system call         (core dumped)
>     LC_ALL=C
>     >
>     PATH=/home/dkasak/Applications/.bin:/opt/efl/bin:/usr/lib/llvm/7/bin:/opt/e22/bin:/opt/rocm/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
>     > HOME=/home/dkasak USER=dkasak LOGNAME=dkasak QEMU_AUDIO_DRV=spice
>     > /usr/bin/qemu-system-x86_64 -name
>     guest=Android-x86,debug-threads=on -S
>     > -machine
>     pc-i440fx-3.1,accel=tcg,usb=off,vmport=off,dump-guest-core=off
>     > -cpu kvm64 -m 1024 -realtime mlock=off -smp
>     > 2,sockets=2,cores=1,threads=1 -uuid
>     3e432cc9-8ce8-4089-912f-8ef50d9a9c8a
>     > -no-user-config -nodefaults -mon
>     > chardev=charmonitor,id=monitor,mode=control -rtc
>     base=utc,driftfix=slew
>     > -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global
>     > PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on
>     > -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device
>     >
>     ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5
>     > -device
>     > ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1
>     > -device
>     > ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2
>     -drive
>     >
>     file=/home/dkasak/.local/share/libvirt/images/Android-x86.qcow2,format=qcow2,if=none,id=drive-ide0-0-0
>     > -device
>     > ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1
>     > -drive if=none,id=drive-ide0-0-1,readonly=on -device
>     > ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -netdev
>     > user,id=hostnet0 -device
>     > e1000,netdev=hostnet0,id=net0,mac=52:54:00:74:b8:ea,bus=pci.0,addr=0x3
>     > -chardev pty,id=charserial0 -device
>     > isa-serial,chardev=charserial0,id=serial0 -device
>     > usb-tablet,id=input0,bus=usb.0,port=1 -spice
>     >
>     port=0,disable-ticketing,image-compression=off,gl=on,rendernode=/dev/dri/renderD128,seamless-migration=on
>     > -device virtio-vga,id=video0,virgl=on,max_outputs=1,bus=pci.0,addr=0x2
>     > -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device
>     > hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev
>     > spicevmc,id=charredir0,name=usbredir -device
>     > usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=2 -chardev
>     > spicevmc,id=charredir1,name=usbredir -device
>     > usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=3 -device
>     > virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -sandbox
>     >
>     on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny
>     > -msg timestamp=on
> 
> 
>     Does dropping the -sandbox line make things work? Maybe that 'Bad system
>     call' thing is a seccomp error
> 
> 
> It changes things ...
> 
> Now qemu just hangs instead of core-dumping :) strace on the process gives:
> 
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=0}, NULL, 8) = 0 (Timeout)
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=29564013}, NULL, 8) = 0 (Timeout)
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=0}, NULL, 8) = 0 (Timeout)
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=29596135}, NULL, 8) = 0 (Timeout)
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=0}, NULL, 8) = 0 (Timeout)
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=29462631}, NULL, 8) = 0 (Timeout)
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=0}, NULL, 8) = 0 (Timeout)
> ppoll([{fd=12, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16,
> events=POLLIN}, {fd=17, events=POLLIN}, {fd=19, events=POLLIN}], 5,
> {tv_sec=0, tv_nsec=29485905}, NULL, 8) = 0 (Timeout)
> 

Try disabling seccomp_sandbox in /etc/libvirt/qemu.conf, restarting
libvirtd, and trying libvirt again. Trying to get a libvirt qemu command
line to run manually has a bunch of hurdles

- Cole




More information about the virt-tools-list mailing list