Looking Glass - Triage

I just recreate the whole VM and I got an new error:

libvirtError: internal error: process exited while connecting to monitor: 2019-01-19T01:05:49.854628Z qemu-system-x86_64: -object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/looking-glass,size=33554432,share=yes: can't open backing store /dev/shm/looking-glass for guest RAM: Permission denied

XML: https://pastebin.com/dHxw6X51
Host OS: KDE neon (Ubuntu 18.04.1)

XML
<!--

WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE

OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:

  virsh edit GameVM

or other application using the libvirt API.

-->

 

<domain type='kvm'>

  <name>GameVM</name>

  <uuid>1e40339a-2f17-423d-b688-2e071519cd26</uuid>

  <memory unit='KiB'>8388608</memory>

  <currentMemory unit='KiB'>8388608</currentMemory>

  <vcpu placement='static'>4</vcpu>

  <os>

    <type arch='x86_64' machine='pc-i440fx-bionic'>hvm</type>

    <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>

    <nvram>/var/lib/libvirt/qemu/nvram/GameVM_VARS.fd</nvram>

    <boot dev='hd'/>

    <bootmenu enable='yes'/>

  </os>

  <features>

    <acpi/>

    <apic/>

    <hyperv>

      <relaxed state='on'/>

      <vapic state='on'/>

      <spinlocks state='on' retries='8191'/>

      <vendor_id state='on' value='whatever'/>

    </hyperv>

    <kvm>

      <hidden state='on'/>

    </kvm>

    <vmport state='off'/>

  </features>

  <cpu mode='custom' match='exact' check='partial'>

    <model fallback='allow'>EPYC-IBPB</model>

    <topology sockets='1' cores='4' threads='1'/>

  </cpu>

  <clock offset='utc'>

    <timer name='rtc' tickpolicy='catchup'/>

    <timer name='pit' tickpolicy='delay'/>

    <timer name='hpet' present='no'/>

  </clock>

  <on_poweroff>destroy</on_poweroff>

  <on_reboot>restart</on_reboot>

  <on_crash>destroy</on_crash>

  <pm>

    <suspend-to-mem enabled='no'/>

    <suspend-to-disk enabled='no'/>

  </pm>

  <devices>

    <emulator>/usr/bin/kvm-spice</emulator>

    <disk type='file' device='disk'>

      <driver name='qemu' type='qcow2'/>

      <source file='/var/lib/libvirt/images/GameVM.qcow2'/>

      <target dev='hda' bus='ide'/>

      <address type='drive' controller='0' bus='0' target='0' unit='0'/>

    </disk>

    <controller type='usb' index='0' model='ich9-ehci1'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci1'>

      <master startport='0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci2'>

      <master startport='2'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci3'>

      <master startport='4'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>

    </controller>

    <controller type='pci' index='0' model='pci-root'/>

    <controller type='ide' index='0'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>

    </controller>

    <controller type='virtio-serial' index='0'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

    </controller>

    <interface type='network'>

      <mac address='52:54:00:c4:da:0c'/>

      <source network='default'/>

      <model type='rtl8139'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

    </interface>

    <serial type='pty'>

      <target type='isa-serial' port='0'>

        <model name='isa-serial'/>

      </target>

    </serial>

    <console type='pty'>

      <target type='serial' port='0'/>

    </console>

    <channel type='spicevmc'>

      <target type='virtio' name='com.redhat.spice.0'/>

      <address type='virtio-serial' controller='0' bus='0' port='1'/>

    </channel>

    <input type='mouse' bus='ps2'/>

    <input type='keyboard' bus='ps2'/>

    <sound model='ich6'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>

    </sound>

    <hostdev mode='subsystem' type='pci' managed='yes'>

      <source>

        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>

      </source>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>

    </hostdev>

    <redirdev bus='usb' type='spicevmc'>

      <address type='usb' bus='0' port='1'/>

    </redirdev>

    <redirdev bus='usb' type='spicevmc'>

      <address type='usb' bus='0' port='2'/>

    </redirdev>

    <memballoon model='virtio'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>

    </memballoon>

    <shmem name='looking-glass'>

      <model type='ivshmem-plain'/>

      <size unit='M'>32</size>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>

    </shmem>

  </devices>

</domain>

Please follow the instructions.

https://looking-glass.hostfission.com/quickstart/linux/libvirt

There is no need to use external paste sites. Discorse has the functionality to condense summaries. I have edited your post for clarity.

Also do this:

Thank you :smiley:, first time posting on any forum

I have not seen where anyone has mentioned this particular solution for sound before so here it is.

Install the Windows driver, then compile the linux receivers. I’m using the pulse-audio client tied to the virbr0 nic and are having wonderful results. I have just set that as the default audio output in Windows and start the receiver from a script I have setup to get it all booted and loaded.

Just wanted to share. Thank you so much for such an awesome product!

1 Like

I found the solution, in ubuntu 18.04.1 you have to config apparmor.

In this file “/etc/apparmor.d/abstractions/libvirt-qemu” on my system at least you have to add /{dev,run}/shm/* rw,. Then restart apparmor with this commad sudo service apparmor restart

Source: https://www.reddit.com/r/VFIO/comments/8o13i4/cant_start_vm_with_lookingglass_shared_memory/

2 Likes

You’re welcome. If you’d like to learn a bit more about you can do the tutorial.

How have any of you worked around the blanking issue with UAC? Or am I the only one where the stream pauses when a UAC dialog pops up . . .

Thanks!

That is a window problem. It was mentioned somewhere, someone else might be able to provide a link.

The secure desktop is not able to be interacted with unless you have a special accessibility signature for your application. So basically a windows security measure.

So the workaround is to disable UAC, and be careful and keep backups of your VM.

1 Like

Figured that would be it, but being it was capturing the actual display out I was holding out for a miracle. I guess since I only used it for gaming, and it automatically logs in so it can start the host, why not turn off uac too. Just windows and just for gaming, what’s the harm. Lol.

@gnif You said

Also since your using a eGPU you are very likely only getting a slow link to the card, this can impact LG performance enormously as discovered today with a user on Discord.

So it means that Looking Glass is enormously slow with iGPU? Because I have only one discrete card and iGPU built in CPU (Intel HD 4600). Because most people use iGPU for host.

eGPU !== iGPU

@Dynamic_Gravity Oh sorry, my mistake, so eGPU is external GPU like through Thunderbolt, right?

Correct. :+1:

So I just received a RTX 2060 to do some testing with KVMFR and I’m having a code 43 stop inside the windows virtual machine. I have added the
<kvm><hidden state='on'/></kvm>
inside my virtual machines features section, and the driver install went fine, any suggestions?

Did you also change the vendor id?

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#“Error_43:_Driver_failed_to_load”_on_Nvidia_GPUs_passed_to_Windows_VMs

1 Like

YARRRRRR!!! Genius!

That was it. Used to using AMD hardware, why must nvidia make things more difficult.

Thank you so much.

1 Like

Because they don’t cater to our use case.

They do that on the consumer cards so that enterprises will be forced to buy quadros.

Totally understand form a business perspective. They are the ruling class of GPU manufacturer. It kinda made me feel a little dirty installing an Nvidia gpu in the system. lol

As an update to the RTX 2060 and Looking Glass, works great in everything i have tried except the benchmark of Wildlands. It gets a great frame rate, but appears choppy through the looking glass client, not on the external monitor. Interesting to say the least.

Wanted to share my expierience with the RTX 2060. Its stuttering on the client, but not on the monitor. Wanted to share this incase there is something that i can test for furthing the development of the project, or if it is something someone else has seen already. Attached is the final results of the benchmark run and a link to the video to see the stuttering on the client and the fluidity on the external display.

Thanks!
Might be a few minutes till the upload is finished.