Hide Forgot
Description of problem: If I configure the ram and vram size of qxl with a small size, like 32MB, virt-viewer can connect all the displays of the guest. If I configure the guest with default size, just 3 displays works well, virt-viewer cannot the other one. And the problem will get more serious with increase te size larger. Version-Release number of selected component (if applicable): # rpm -qa virt-viewer spice* spice-glib-0.20-11.el6.x86_64 spice-server-0.12.4-6.el6.x86_64 spice-gtk-0.20-11.el6.x86_64 spice-gtk-python-0.20-11.el6.x86_64 virt-viewer-0.5.6-8.el6.x86_64 spice-vdagent-0.14.0-2.el6.x86_64 spice-client-0.8.2-15.el6.x86_64 qemu-kvm-0.12.1.2-2.415.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. Prepare a windows xp guest with spice + 4 qxl video devices 2. Install rhev-guest-tools-iso in guest 3. Make sure the ram and varm size in xml is default size (64MB): # virsh dumpxml winxp ... <video> <model type='qxl' ram='65536' vram='65536' heads='1'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <video> <model type='qxl' ram='65536' vram='65536' heads='1'/> <alias name='video1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </video> <video> <model type='qxl' ram='65536' vram='65536' heads='1'/> <alias name='video2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </video> <video> <model type='qxl' ram='65536' vram='65536' heads='1'/> <alias name='video3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </video> ... 4. connect the vm with virt-viewer, and open all the displays # virt-viewer $vm View -> Displays, check on all the displays 5. Check the "Display adapters" status in "Device manager" in the xp guest 6. Change the ram and vram to 32768(32MB), repeat step4 and step5 7. Change the ram and vram to 131072(128MB), repeat step4 and step5 Actual results: Step 4, display 2 cannot be connected, keep "waiting for display 2..." Step 5, The second "Red Hat QXL GPU" cannot work well, open it, the stats said: "This device cannot find enough free resources that it can use.(Code 12) If you want to use this device, you will need to disable one of the other devices on this system." Step 6, all the displays work well. Step7, just one works well. Expected results: All the displays should works well if configure the size with 128M. Additional info: win7 guest got the same problem.
Created attachment 832518 [details] screenshot for 64MB ram and vram
Created attachment 832528 [details] screenshot for 128MB ram and vram
I think this is not-a-bug. Memory Space is limited. I think that for 32 bit Windows guests there are 512MB or less for devices (mapped memory of PCI devices bar). So 4 * 128MB already fill up the whole space, but there are other devices, and more memory for wxl too. I think it's similar to running a Windows XP with 8GB of RAM, and noticing it uses less than 4GB.
CongDong, do you observe similar behaviour with win7 or this is xp-only? (and thus more an old OS limitiation)
(In reply to Marc-Andre Lureau from comment #5) > CongDong, do you observe similar behaviour with win7 or this is xp-only? > (and thus more an old OS limitiation) Both win7 and xp can get the problem. Tested with virt-viewer-0.6.0-4.el6.
For Windows VMs (WinXP and Win7) with 4 qxl devices, using ram=64MB and vram=32MB works (also depends on other devices). This is what RHEV-M (vdsm) does.