Noob help with building WoW64

Questions about Wine on Linux
Locked
Floopers
Newbie
Newbie
Posts: 3
Joined: Thu Sep 26, 2019 11:26 am

Noob help with building WoW64

Post by Floopers »

System info:

Linux Mint 19.2 "Tina" 64-bit (Ubuntu 18.04)
Nvidia GeForce 630M (with nvidia-390 driver installed)

So, pretty new to Wine, installed the 32-bit staging package from the repository, worked ok but wanted to try out a 64-bit version. Followed the steps at https://wiki.winehq.org/Building_Biarch_Wine_On_Ubuntu with the only consistent change being also installing FAudio (since it was required for the staging package). I got wine control to work but it required a force quit or else wineserver wouldn't stop. I tried using MTGArena as a test program since it worked on the 32-bit package and attemped a reinstall once i installed my build. Using the .msi to uninstall and reinstall worked, but once i attemped to launch i got the following error:

Code: Select all

001b:err:plugplay:load_function_driver AddDevice failed for driver L"winebus", status 0xc0000002.
002b:fixme:ntdll:EtwEventRegister ({5eec90ab-c022-44b2-a5dd-fd716a222a15}, 0x1ed1123, 0x226cde0, 0x226cdf8) stub.
002b:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 0x225e068, 43) stub
Mono path[0] = 'C:/Games/MTGA/MTGA_Data/Managed'
Mono config path = 'C:/Games/MTGA/MonoBleedingEdge/etc'
002b:fixme:imm:ImmReleaseContext (00020044, 0298C7E8): stub
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  200
  Current serial number in output stream:  199
002d:fixme:file:CancelSynchronousIo (0000006C): stub
002d:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0032FEAC
004a:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0032FEAC
which leads me to believe it's an issue with talking to the xserver. I tried to install mingw-w64 since the /configure output mentioned it being required to cross-compile 'PE' files, which I don't know what they are but since this is kinda cross-compiling i figured it might work. It didn't.

I tried to compile with --without-osmesa because (from when I installed the nvidia driver) I believe that references the nouveau driver (not entirely sure on that) to see if that would work. It didn't.

I tried to install the sdl2 libraries because I remember it being at least recommended for the package version and I'm grasping at straws. It didn't work.

Probably just missing a dependency that apt considers 'optional' in all likelihood, but I don't know what that could be and I can't tell what's what very well from the config log. If anyone could help me out that'd be great.

(also, was going to post config logs but apparently the forums won't allow me to attach them and copy/paste exceeds the character limit)
Cybermax
Level 4
Level 4
Posts: 218
Joined: Fri Dec 01, 2017 5:26 pm

Re: Noob help with building WoW64

Post by Cybermax »

The link you provided links to how to BUILD wine yourself (not install wine for your distro). Building wine on any *buntu distro (incl. Mint) is somewhat of a excercise, so if you are not THAT familiar with building and various dependencies thats not where i would start.
You should start with this to make sure FAudio is correctly set up: viewtopic.php?f=8&t=32192, then follow this https://wiki.winehq.org/Ubuntu

If you somehow installed ONLY the 32-bit wine package, you need to uninstall this first.
Floopers
Newbie
Newbie
Posts: 3
Joined: Thu Sep 26, 2019 11:26 am

Re: Noob help with building WoW64

Post by Floopers »

The link you provided links to how to BUILD wine yourself (not install wine for your distro). Building wine on any *buntu distro (incl. Mint) is somewhat of a excercise, so if you are not THAT familiar with building and various dependencies thats not where i would start.
Yeah, I kinda figured out that the build process is pretty complex, but that's why I'm asking about it. Might be in over my head, but I want to figure this out.
You should start with this to make sure FAudio is correctly set up: viewtopic.php?f=8&t=32192, then follow this https://wiki.winehq.org/Ubuntu
Yeah, I'm sure FAudio is set up. And as for the other link, that's how to install via package manager, which is not what I'm asking about.
If you somehow installed ONLY the 32-bit wine package, you need to uninstall this first.
Yeah, I uninstalled the package first. I do a double-check every build attempt to make sure.
Floopers
Newbie
Newbie
Posts: 3
Joined: Thu Sep 26, 2019 11:26 am

Re: (SOLVED) Noob help with building WoW64

Post by Floopers »

Ok, so I ended up doing a fresh install of my graphics driver and that ended up fixing the issue, so sorry for thinking it had something to do with the build. That being said, I would still like to know more about the optional dependencies and maybe even a more advanced explanation of the build process, so if anyone can point me in the right direction, that'd be great.
Cybermax
Level 4
Level 4
Posts: 218
Joined: Fri Dec 01, 2017 5:26 pm

Re: Noob help with building WoW64

Post by Cybermax »

The problem with Ubuntu (and Mint ofc) is that the multilib support is poor. Thus you cannot compile it like "regular" user do with eg. Arch or Gentoo and whatnot.
The link you first posted https://wiki.winehq.org/Building_Biarch_Wine_On_Ubuntu works fine - using "lxc". If you follow the recipe described on this page, you must also add some additional packages to the lxc container to weed out any dependencies.

I don't have the exact packages on the top of my head, and i would also not know if this would be 100% the same for "Mint" vs "Ubuntu", even tho they are both "Ubuntu".

The main point to get a successful build would be to make sure that at the end of the "configure" run

Code: Select all

~/wine-git/configure
both the amd64 dependencies and the lxc container configure should list the SAME result. You must also add faudio-dev and such to the lxc container and install all the -dev packages/libs in the lxc-container to be sure the dependencies are the same.

There are other ways around this, and i think a link to a script was posted a while back with a different solution to do this multibuild. (Search for some posts from Bob Wya).
I know this was mentioned: https://github.com/lutris/buildbot, but i have not tested this myself.
Locked