WarpEM on GNU/Linux/Wine

823 views
Skip to first unread message

Alois Schloegl

unread,
Mar 9, 2022, 4:07:29 AM3/9/22
to Warp

We are interested in running WarpEM on some Linux Machines. Therefore, I've been investigating whether its possible to run WarpEM on  GNU/Linux and Wine, and was partially successful . WarpEM can be installed and started on Wine-Staging by following this procudure [1].

When trying to analyze some data, WarpEM crashed [2]. The error code suggests some issue in the memory allocation/garbage collection of .NET. Of course, this could be just some indication that some error condition has not been properly checked, and it could be caused by a number of possible issues.  Of course, it could be that I did something wrong, so I'm wondering whether others do see the same issue.

Cheers,
   Alois



Alois Schloegl

unread,
Oct 12, 2022, 5:33:47 AM10/12/22
to Warp
Finally, WarpEM is running fine on Wine-stageing 7.17 on Debian11. The latest test results are available here [1].

Several issues had to be addressed. Most important, there is an issue in Vulkan on Debian11 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1007832). In order to address this,  I compiled mesa 22.x from source. I compiling also wine-staging from source. I did not test the precompiled version of wine-staging for Debian11, with the newly compiled mesa). Moreover, it seems that wine/wine-staging has a number of significant improvements in version 7.17. Before 7.17 I had difficulties installing warpem under wine on Debian 11. It seems also important that a recent version of winetricks is used. I've no conclusive test results whether wine-mono could be used instead of dotnet472.

So, if you want to try this yourself, I suggest to check the following:
- make sure vulkan is working on your platform, especially when you want to use it with remote access. you can test this with vkcube, vulkaninfo, they should not seg-fault
- make sure you have wine-staging 7.17 or 7.18 installed.
- a number of components need to be installed through winetricks, and these can take time. The steps are are documented in [1]. 
- use a recent version of winetricks (I used version 20220411-next)

If you have more test results, I'd suggest to add them to [1]

Dennis Michalak

unread,
Oct 12, 2022, 2:41:33 PM10/12/22
to Warp
Hi Alois,

Thank you so much for coming back to this and giving us an update. I'm planning on doing something similar in the near future and this will undoubtedly be helpful.

Best,
Dennis

Daniel Asarnow

unread,
Apr 3, 2023, 9:40:19 PM4/3/23
to Warp
Hi Alois,
I've been trying to get WARP/Wine working, maybe you can help with some of my questions. The CUDA patches are still disabled in the wine-staging PPA version, so I compiled my own 8.5 with all patches applied. Do you have a shorter list of patches, or did you also use all of them for simplicity? I didn't compile mesa, this is on Ubuntu 20.04 and the provided mesa 21 is apparently working (vulkaninfo and vkcube work, including remotely). All the other dependencies are also provided by Ubuntu; I used the dependencies installed by the PPA version to satisfy all the requirements given by ./configure.

Right now, I can run WARP, but I get an error about no GPUs being found. In the console output I have:
0134:fixme:d3d:adapter_vk_init_driver_info Failed to retrieve GPU description for device "NVIDIA RTX A6000" 10de:2230.
which seems possibly related. Any ideas?

Also, WineD3D is also no longer provided by winetricks - do you know what should be used instead? Probably either winetricks vk3d or manually copying the wined3d .dlls to the WARP install dir?

Thanks & best regards,
-da

Daniel Asarnow

unread,
Apr 4, 2023, 9:23:10 PM4/4/23
to Alois Schlögl, war...@googlegroups.com
The current version of WARP (the drop-in patch update) does run on the new cards under Windows. I think we want to use dxvk now instead of wined3d, but are you sure wined3d was really required before? Or which DirectX version it needed?

Also, is there anything else you do in the wineprefix to get the Nvidia/CUDA libraries working? E.g. copying some .so files or running a Windows installer?

Ideally we can figure out the exact requirements on top of the CUDA patch and make something a bit more pre-baked. (The user just puts it in the oven).

Best,
-da

On Mon, Apr 3, 2023 at 11:42 PM Alois Schlögl <alois.s...@gmail.com> wrote:
!-------------------------------------------------------------------|
  This Message Is From an Untrusted Sender
  You have not previously corresponded with this sender.
  See https://itconnect.uw.edu/email-tags for additional
  information.  Please contact the UW-IT Service Center,
  he...@uw.edu 206.221.5000, for assistance.
|-------------------------------------------------------------------!

Hi Daniel,


I've not patched recent wine versions in a successful way. Instead, I'm
still using wine/wine-staging v7.21.
Concerning the patch sets. There are 4 patch sets for nvidia in
wine-staging/patches/nv* . When I tested these in the past, I believe only
    wine-staging/patches/nvcuda-CUDA_Support/
is needed.

I'm using cuda-z for testing whether Cuda-GPU are recognized in Wine. If
cuda-z does not show the GPUs, I'm afraid the patch set is not ready yet
If cuda-z shows the gpus, the problem is somewhere else.

Its also possible that the A6000 is not supported because of the cuda
compute capabilities. I do not know about A6000, but I know that it
fails to run on the RTX3090Ti. And I believe it does not run on A10,
A40, and A100, either.  WarpEM is still using tensorflow 1.10, which was
compiled only with some early cuda compute capabilities. This might not
be supported on recent GPUs anymore. Do you know whether WarpEM would
run on the A6000 under Windows ?

I've no comments on WineD3D. Maybe this is not needed anymore ?

I'm really curios about your approach. If you could provide your patch
set for wine, I'd be happy to test this.


Best,
   Alois




Am 4/4/23 um 03:40 schrieb Daniel Asarnow:

>     order to address this,  I compiled mesa 22.x from source. I
>     compiling also wine-staging from source. I did not test the
>     precompiled version of wine-staging for Debian11, with the newly
>     compiled mesa). Moreover, it seems that wine/wine-staging has a
>     number of significant improvements in version 7.17. Before 7.17 I
>     had difficulties installing warpem under wine on Debian 11. It
>     seems also important that a recent version of winetricks is used.
>     I've no conclusive test results whether wine-mono could be used
>     instead of dotnet472.
>
>     So, if you want to try this yourself, I suggest to check the
>     following:
>     - make sure vulkan is working on your platform, especially when
>     you want to use it with remote access. you can test this with
>     vkcube, vulkaninfo, they should not seg-fault
>     - make sure you have wine-staging 7.17 or 7.18 installed.
>     - a number of components need to be installed through winetricks,
>     and these can take time. The steps are are documented in [1].
>     - use a recent version of winetricks (I used version 20220411-next)
>
>     If you have more test results, I'd suggest to add them to [1]
>
>     Cheers,
>       Alois
>
>
>     [1]

>
>
>
>
>     On Wednesday, March 9, 2022 at 10:07:29 AM UTC+1 Alois Schloegl wrote:
>
>
>         We are interested in running WarpEM on some Linux Machines.
>         Therefore, I've been investigating whether its possible to run
>         WarpEM on  GNU/Linux and Wine, and was partially successful .
>         WarpEM can be installed and started on Wine-Staging by
>         following this procudure [1].
>
>         When trying to analyze some data, WarpEM crashed [2]. The
>         error code suggests some issue in the memory
>         allocation/garbage collection of .NET. Of course, this could
>         be just some indication that some error condition has not been
>         properly checked, and it could be caused by a number of
>         possible issues.  Of course, it could be that I did something
>         wrong, so I'm wondering whether others do see the same issue.
>
>         Cheers,
>            Alois
>
>
>
>         [1]
>         https://urldefense.com/v3/__https://appdb.winehq.org/objectManager.php?sClass=version&iId=40620__;!!K-Hz7m0Vt54!kmXmJLIyPLegUrTwQ6tY9G3nLpRkr_D8m3Y2PNwOyphJz7YldB7GPCWs-IYsH7ECuUzMlqcHARL1u4H1p0Za0lY$
>         <https://urldefense.com/v3/__https://appdb.winehq.org/objectManager.php?sClass=version&iId=40620__;!!K-Hz7m0Vt54!kmXmJLIyPLegUrTwQ6tY9G3nLpRkr_D8m3Y2PNwOyphJz7YldB7GPCWs-IYsH7ECuUzMlqcHARL1u4H1p0Za0lY$ >
>         [2] https://urldefense.com/v3/__https://bugs.winehq.org/show_bug.cgi?id=52635__;!!K-Hz7m0Vt54!kmXmJLIyPLegUrTwQ6tY9G3nLpRkr_D8m3Y2PNwOyphJz7YldB7GPCWs-IYsH7ECuUzMlqcHARL1u4H1YJ17KTA$
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Warp" group.
> To unsubscribe from this topic, visit
> https://urldefense.com/v3/__https://groups.google.com/d/topic/warp-em/rhWVPoVRsxc/unsubscribe__;!!K-Hz7m0Vt54!kmXmJLIyPLegUrTwQ6tY9G3nLpRkr_D8m3Y2PNwOyphJz7YldB7GPCWs-IYsH7ECuUzMlqcHARL1u4H176_qENc$ .
> To unsubscribe from this group and all its topics, send an email to
> warp-em+u...@googlegroups.com.
> To view this discussion on the web visit
> https://urldefense.com/v3/__https://groups.google.com/d/msgid/warp-em/cd2463dd-6458-41ba-ac17-abd88e13cb14n*40googlegroups.com__;JQ!!K-Hz7m0Vt54!kmXmJLIyPLegUrTwQ6tY9G3nLpRkr_D8m3Y2PNwOyphJz7YldB7GPCWs-IYsH7ECuUzMlqcHARL1u4H16Yw2bb4$ 
> <https://urldefense.com/v3/__https://groups.google.com/d/msgid/warp-em/cd2463dd-6458-41ba-ac17-abd88e13cb14n*40googlegroups.com?utm_medium=email&utm_source=footer__;JQ!!K-Hz7m0Vt54!kmXmJLIyPLegUrTwQ6tY9G3nLpRkr_D8m3Y2PNwOyphJz7YldB7GPCWs-IYsH7ECuUzMlqcHARL1u4H1L94AHEk$ >.

Alois Schlögl

unread,
Apr 5, 2023, 3:37:55 AM4/5/23
to Daniel Asarnow, war...@googlegroups.com



Hi Daniel,



Am 4/5/23 um 03:22 schrieb Daniel Asarnow:
> The current version of WARP (the drop-in patch update) does run on the
> new cards under Windows. I think we want to use dxvk now instead of
> wined3d, but are you sure wined3d was really required before? Or which
> DirectX version it needed?

I can not say for sure whether wined3d was really needed. I'd need to go
back and test this again. I was testing several software packages at
that time (v7.17 and before), using wined3d seem to be beneficial at
least for running some package. I was certainly not checking for a
specific directX version, but used what has been beneficial before (i.e.
in other packages). I suggest to check whether using wined3d does make a
difference. If it does not, or if it is not applicable anymore, I
suggest to skip it, and go from there.

Do you thing this is important ? If yes, which version of DirectX would
you like to have tested?

>
> Also, is there anything else you do in the wineprefix to get the
> Nvidia/CUDA libraries working? E.g. copying some .so files or running
> a Windows installer?

No, I do nothing else. I've only been running the WarpEM installer.
(v1.0.9) and then updated with the nightly build 2020-11-04.
(The 1.1.0-beta version did not work for me).


The only other things I do is related to manage the package on the
cluster in a multi-user environment using Lmod. So what I do is setting
up everything in a WINEPREFIX on a local hard disk, because I run into
issues when doing this on an NFS share. Then copy this to the central
cluster storage on an NFS file system, and make all files readable to
everyone. And If a user wants to run this, they copy the whole
WINEPREFIX directory into their own home directory and run from there.
This needs be done only once. Of course, WINEPREFIX need to be adapted
accordingly.
Copying the files will change the ownership, and users can write into
their on copy of WINEPREFIX .

>
> Ideally we can figure out the exact requirements on top of the CUDA
> patch and make something a bit more pre-baked. (The user just puts it
> in the oven).

Does this mean, you have a working solution on top of a recent wine
version? Or do you still see any open issues ?
Have you considered to send your cuda patches to upstream, i.e. the
wine-staging project ?


Cheers,
  Alois

>
> Best,
> -da



Alois Schlögl

unread,
May 2, 2023, 4:17:15 AM5/2/23
to Daniel Asarnow, war...@googlegroups.com
Dear Daniel,
dear all


I managed to install WarpEM/1.0.9 on Wine 8.7 by using nvidia-libs [2].
This comes with dxvk-nvapi,
At the moment this seems to be the most promising way going forward.
[2] https://github.com/SveSop/nvidia-libs



Reply all
Reply to author
Forward
0 new messages