When the GTA V on linux video was released on the Tek Linux chanel, I thought it was really interesting and decided to try it out . I had some problems that with the help of that thread was able to overcome. I have recently however changed some of my hardware and tried to make the setup a bit more useful by purchasing a KVM switch and installing this as my primary OS and removing windows from my drive.
I am having a few problems with it and help with any of them would be appreciated.
1) when I shut down the windows VM it can lock up my PC causing me to have to restart the PC. This happens when ever I change the power state of the VM and does it no matter how I do this. (if i shutdown, sleep, hibernate from windows or the qemu console) This sometimes happens when the vm has been Idle for a while and sleeps itself but not every time
2) I would like to have steam installed on the linux part however am having issues. When I load steam by clicking on it nothing happens, from a terminal this happens libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast
I get these errors and after googling it I see posts talking about how installing GPU drivers can break the sym links that cause this. however following the instructions in these posts does not fix the issue
3) When i press my kvm switch sometimes my mouse or keyboard doesnt connect to the linux machine and i have to press it twice more to connect back to the windows machine and then back to the linux machine for it to be detected. (Im not sure if this is a fault with the KVM switch or the PC or the OS as the KVM switch was quite cheap)
My system info - I dont know if this will help Motherboard: MSI X99 Gaming 7 CPU: Intel 5820K RAM: 16GB corsair vengeance DDR4 GPU (HOST): Nvidia GTX650TI GPU (VM): Nvidia GTX780
VM The vm is setup in qemu and uses Intel_iommu and VFIO to pass the graphics card and the USB controller.
If you bothered to read this far (Im going to be honest I probably wouldnt have), Thanks and if you have any Ideas about how to fix any of these problems that would be great. If you need any information to help decide what is wrong I will try my best to provide it.
well nobody seemed interested, but i can help with the steam not working in arch at least... the issue is that steam is 32bit, but all of the driver's and libraries on your system are aimed at solely 64-bit scenarios.
if you dont have the nvidia driver do "pacman -S nvidia nvidia-libgl lib32-nvidia-libgl" if you do have the nvidia driver lib32-nvidia-libgl should suffice, and then steam should work on linux
This is a very difficult topic to troubleshoot, that's why nobody responded. As far as the lockup, there are a number of things that could cause it. Often, you can't get it 100% stable. That said, let's give it a try:
Are you getting any errors in the journal? (journalctl -b -1 to see the prior boot's journal)
What kernel command line options are you using?
What modules are you specifying in mkinitpcio.conf?
Are you using vfio or pci-stub?
Are you using virt-manager or is it just a shell command to run the VM?
What version of windows is in your VM?
EDIT: As far as the steam issue, @deathright82 is partially correct, you do need the lib32 GPU drivers, but that wasn't the only issue I had. For the libGL errors, check this out:
I've gotten it to work by executing the steam command from a shell script after setting LD_PRELOAD='/usr/$LIB/libstdc++.so.6'.
From there, you might need to install a couple packages. If it's complaining about a couple libraries not being installed, just search for arch $LIBNAME and you'll be able to find the official name for the package, which you can then run yaourt -S $PKGNAME against. At least that's how I did it. (Sorry I don't have the names of the missing libraries, haven't had to do it for a while.)
Installing these and then rebooting has fixed the steam problem. It had been bothering me that I had to load the windows VM and to check if anyone was online.
#!/bin/bash
modprobe vfio-pci
for dev in "$@"; do
vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
device=$(cat /sys/bus/pci/devices/$dev/device)
if [ -e /sys/bus/pci/devices/$dev/driver ]; then
echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
fi
echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
done
The virtual machine is running windows 10 Pro because I had issues loading drivers during the install of Windows 7 Pro
Don't forget to run mkinitcpio -p linux (or whatever your kernel name happens to be) after changing things in the config. :) Also are you binding their IDs in an /etc/modprobe.d/vfio.conf file? That's how I did mine.
Ok so at the moment the only thing I have done is to install the nvidia 32 bit packages to fix the steam issue. I wanted to get the computer to crash so I could apply the suggested changes and see if they help, I am struggling to reproduce the crashing now though. Is it possible that installing the nvidia package solved myu problem or is it just unfortunate that now that I have asked for help the problem seems to have gone away. I will still make the suggested changes as I agree that they should help stability.
Thanks
EDIT: I have now applied these changes and it seems to be stable, granted I cant tell you which changes helped but something here seems to have. I also cant be sure that it wont happen again in the future but for now I am happy that this is working.
Thanks for the all the help. :)
PS: I dont really spend much time on forums so i dont know if I have to close this or just leave it or mark it as solved I am more than happy to do one of those I just dont know what the correct thing to do is.
Because he's using 2 nVidia cards it would probably be better to bind them with the vfio conf, it will bind automatically even before the nVidia driver module has been loaded. If it's all working then it's all good.