My main system is Arch, but WINE has atrocious performance there. Multiple games (2D games like Touhou06, Nekopara and 3D games like Audiosurf) work, but with fps around unplayable 5-10 fps, the point is it's not my pc or intristic property of wine, because, when I try to boot to livecd of Kubuntu 14.04, apt-get wine1.7 and try that, the performace is absolutely fine and playable. How do I get better performance in Arch? Is there some weird dependency/package, or some hidden settings somewhere?
Wine-staging is not plain Wine. The Ubuntu packages aren't really plain Wine either, but they only have a handful of unsupported patches added, compared to hundreds in Wine-Staging.
Arch does build plain Wine packages, so the first thing I would try is that. If that does fix it, report the performance problem to Wine-Staging. If not, post terminal output from plain Wine.
Plain arch packages didn't work either. That's actually the reason why I tried the staging version. But I've removed staging and installed plain wine. The performance is even worse. The output:
err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
err:winediag:wined3d_dll_init The GLSL shader backend has been disabled. You get to keep all the pieces if it breaks.
fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23.
fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23.
fixme:win:EnumDisplayDevicesW ((null),0,0x33f784,0x00000000), stub!
fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats
fixme:d3d:buffer_internal_preload Too many declaration changes or converting dynamic buffer, stopping converting
err:winedevice:ServiceMain driver L"Null" failed to load
err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23.
fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23.
fixme:win:EnumDisplayDevicesW ((null),0,0x33f784,0x00000000), stub!
fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats
Well, the wine performance is fixed. so there's that. The problem is that nouveau performance is terrible with regullar 3d applications like csgo and cannot really be used for normal usage. So I need a way to make wine work with normal nvidia-340xx drivers. Any ideas?
I notice that you are using the 340xx drivers with the standard Arch repo kernel (4+). I use the linux-lts kernel with Arch and performance is great with Nvidia.
You would need to remove the current nvidia drivers and kernel, then install the lts (Long Term Support, currently 3.14.xx) versions.
[as root or sudo] pacman -R nvidia-340xx linux
pacman -S linux-lts nvidia-340xx-lts
Before rebooting, edit your bootloader so that the boot entry reads:
LINUX ../vmlinuz-linux-lts
APPEND root=/dev/sda1 rw
INITRD ../initramfs-linux-lts.img
It's possible the xrandr error has something to do with this, though that usually manifests as crashes (and I thought wine-staging included a patch to fix it). You could try the workaround in the FAQ. http://wiki.winehq.org/FAQ#head-94de08f ... 5cbb03b42b
Can you tell me which specific versions of wine and nvidia340 your Kubuntu live CD use? If the performance is fine with these, maybe you just need to obtain the Arch builds of those versions.
Archwiki has info on how to obtain older Arch packages.
Or try the Arch rollback machine at Seblu.net http://seblu.net/a/arm/packages/n/nvidia-304xx/ http://seblu.net/a/arm/packages/w/wine/