Thank you for your interest in my problems.
1. For sound, try this:
Code: Select all
export QEMU_ALSA_ADC_BUFFER_SIZE=1024 QEMU_ALSA_ADC_PERIOD_SIZE=256
export QEMU_ALSA_DAC_BUFFER_SIZE=1024 QEMU_ALSA_DAC_PERIOD_SIZE=256
export QEMU_AUDIO_DAC_FIXED_FREQ=44100 QEMU_AUDIO_DAC_FIXED_FMT=S16 QEMU_AUDIO_ADC_FIXED_FREQ=44100 QEMU_AUDIO_ADC_FIXED_FMT=S16
export QEMU_AUDIO_DAC_TRY_POLL=1 QEMU_AUDIO_ADC_TRY_POLL=1
I keep that for later. My priority is the USB. Using the HDMI=>screen headset=>line-in=>real headset resolves two : while having the clicks, I've seen that video and sound desynchronize when playing youtube videos. Perhaps using your proposition would work. But I prefer to focus: one problem at a time.
I've done what your how-to say: using Network manager to define the bridge. Windows was having an IP outside of my network (10.xx... instead of 192.168....), could not join the gateway even if force the values, etc. And passing through a controller was more simple if I need to unplug the windows from network and not Linux. By the way under windows, I have now 2 ethernet connections... I've read that qemu automatically create a network if no -netdev option is specified.
It's a detail in which I'll dig later.
3. BootWin SSD: In my tutorial I describe how to have Windows detect an SSD. Did you follow that? Or am I misunderstanding your post?
I was stuck some days on drives subject. I followed your tutorial and try to add my 5 HDD (1 SSD & 4 HDD) and a CD drive... I fall into the limitation of 4 drives max. Your tuto use the IDE bus built-in qemu, which is limited to 4 drives. But with the help of the links to post about drives optimizations, I've understand a lot and figured how to add SATA controllers with virtio-blk-pci (or virtio-scsi-pci).
So I use the lines:
-drive id=BootWin,if=none,format=raw,file=/dev/disk/by-id/ata-Crucial_CT480M500SSD1_xxxxxxx \
-device virtio-blk-pci,drive=BootWin \
to give the full disk for Windows boot (xxxxxxx are only the serial number, no part in it).
But now that you're asking... I know I've done the winsat formal, but I do not remember if it was before or after my conf with virtio-blk-pci...
I'll replay it... (see next paragraph).
4. USB mouse and keyboard: Remove the USB KVM switch and connect your mouse and keyboard directly to the passed through USB ports. How does that work? If that solves the problem, return your KVM switch to the shop for refund.
I had the exact same issue with my USB KVM switch. Over time, the mouse / keyboard would stop working. Connecting the keyboard/mouse directly to the USB solved the issue.
Many USB KVM switches are simply garbage. The best solution is probably Synergy. Another solution are multi-device keyboards and mice. I now use a Logitech K780 multi-device wireless keyboard and a Logitech MX Master wireless mouse (also multi-device), both pretty expensive, but they do their job.
That's a try I've done: keyboard+mouse use 3 USB ports. I've plugged them on the fresco controller and try to passthrough the controller... And I think it worked... (I should have write down all my tests and results). I think it worked, but as soon as I stop windows, mouse and keyboard were no more usable as the controller was no more visible for Linux.
I've just replay these tests:
- USB hub plugged: does not work
- kn&m plugged directly on the fresco card: it works fine... for USB (I don't know how long it will last). But boot was chaotic: Tianno screen for several seconds, then an error message "can't boot on CD/DVD", black screen a few seconds, then windows login screen. Tried winsat command and few hours later, it's not over! And shutdown is not possible, even with system_powerdown in qemu command line!
Next boot was fine. Winsat executes with errors like "ERROR: no adapter for device 0" but it progress.
WEI is 8.1. (and SSD is detected!
So, it seems to work. Let's say its stable, there's no problem under Windows: how can I have back kb&m under Linux without going under the desk to plug them on another usb?...
I have Synergy... but windows must be my server: I can have some lag on my linux when I use Windows for video, but not while gaming on Windows.
Multi-device kb & mouse are not an option for me: I'm too much in love with mechanical KB
Some remarks and questions on your configuration:
a. I hate to see that a newer CPU such as the Intel 7700K is actually worse in terms of IOMMU and ACS compared to my old 3930K. Intel could have done better.
b. Why did you compile qemu 2.9? Was it needed to get VGA passthrough working? I run the standard qemu 2.5 that comes with Linux Mint and it works fine.
c. How is your WinBoot SSD configured? Is it an NTFS disk, a LVM disk, etc.? Did/does it hold your "bare metal" Windows installation?
If you pass through the WinBoot SSD's SATA controller, then WinBoot better be a native Windows disk with boot sector and everything. Else it won't work.
d. Did you try to configure the bridge using Network Manager, or did you use the bridge-utils tools?
Looks like you got a great gaming setup. Once the issues are sorted out, would you mind to post some benchmarks (see my previous 2-3 posts above)?
a. Before, I was having a i7-4970, and it was even worse!
b. With all my problems with USB, I've done some research and following google links I've come on the qemu project page. I've seen the 2.8, 2.9 and future 2.10, read the change log and found that 2.9 resolves USB 3 problems, which seems to be my case. So, let's build it
The first time, lsusb option was not active... It's nothing to say that it was worse than 2.5
c. WinBoot is GPT, entirely for Windows which automatically partitioned it at install. Just the virtio drivers installed during installation.
d. Network Manager as you describe.
And no problem for benchmarking my setup. Games are only a part of the use of this setup. Video are another one.
And I've a GTX 980 for Linux, as my goal is to play on Linux as long as games offer it for a part, and I' seen some problem with kodi when playing videos when Windows was running. I suppose that decoding video with the cpu while gaming on windows is a little to much.
Ah! And sorry if sometimes my english is weird, it's not my mother tongue, but I try to do my best and learn too.