Problems running under Wine

Next
 From:  albertosaurus
10581.1 
I ran into some problems running MoI V4 under Wine (6 and 7). The system in question is an Intel i7 980 with a GeForce GTX 970. The issues were observed under Kubuntu 18.04 LTS and 20.04 LTS with all versions of the 3.X nVidia driver, as well as the current 4.60.

1) When using the default "OpenGL" GraphicsAPI, selection is broken. More specifically, the first object you create determines which viewports allow click to select.

For curves: If the first curve is created in one of the upper viewports, click to select no longer registers in the bottom two viewports. Creating a curve in one of the bottom viewports reverses this; now click to select doesn't work in the upper two viewports. Rectangle select works as expected in all cases.

For surfaces: Similar to above, for example, creating a surface in one of the upper viewports means selection only works correctly in the upper two viewports. For the bottom two, clicking anywhere selects the surface, even if the pointer is nowhere near it. Clicking to select edges doesn't work.

Disabling "Allow the window manager to decorate the windows" did not fix the problem.
Disabling "Allow the window manager to control the windows" did not fix the problem.
Enabling "Emulate a virtual desktop" did not fix the problem.

Trying any of the combinations of the above did not fix the problem.

2) When switching to the "Direct3D11" GraphicsAPI, selection works as expected, however all the overlay text in the viewports is corrupted and renders as blurred rectangles (see attachment).

Switching to a different UIFontNameV4 did not fix the issue.
Switching the renderer to "vulkan" from "gl" caused all the viewports to render a solid black.
Enabling "Emulate a virtual desktop" did not fix the problem.

This isn't a showstopper for me; MoI runs just fine on my MacBook. Having said that, the Linux PC has a much better screen, so if anyone has an obvious solution, I'd appreciate it.





  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
10581.2 In reply to 10581.1 
Hi albertosaurus, it's difficult to support running on Wine well, there are often bugs in many layers including in graphics drivers.

Selection being broken is an indication that texture readback is not working well. To do click selections, MoI will do a render on the card to generate a hit test map and then it needs to read that back into CPU land and that's an area that driver bugs can rear up.

One thing that you might see is if there are driver settings that are forcing anti-aliasing to be turned on. If the selection hit test map gets antialiased it messes it up. Wrong objects being highlighted when you move the mouse around means the hit test map is scrambled somehow.


For messed up font display you might try the Wine setting mentioned here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4409.103

That's from a pretty long time ago so I don't know if it does anything with current Wine versions but it may be worth a try.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  albertosaurus
10581.3 In reply to 10581.2 
Forgot to mention, I tried that registry setting too. No luck there.

I recall seeing in the release notes for one of the betas that there's a setting to control texture formats, but I can't find any documentation. Is that a worthwhile avenue of investigation?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
10581.4 In reply to 10581.3 
Hi albertosaurus,

re:
> I recall seeing in the release notes for one of the betas that there's a setting to control texture
> formats, but I can't find any documentation. Is that a worthwhile avenue of investigation?

Hmmm let's see - that was for some driver that sent back colors in reverse byte order than expected. A little bit later I added in a readback test done at startup to detect this situation automatically but it can be manually turned on by adding in an entry in moi.ini under the [View] section:

[View]
TextureReadbackSwapRB=y

If it doesn't help remove that line again.

There is one other thing I can try, there is a variation in how readback works when on Mac OpenGL. I'll make a test version to send to you that uses that method for Wine/Windows OpenGL as well and see if that does any good.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  albertosaurus
10581.5 In reply to 10581.4 
> TextureReadbackSwapRB=y

That broke selection completely. I believe it's a positive sign that we're on the right track as to the root cause.

Thanks for all your help!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  albertosaurus
10581.6 
Addendum: Creating an annotation under Direct3D manifests the same text rendering corruption as a the rest of the text in the viewport.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  albertosaurus
10581.7 
Problem solved! Thanks Michael for all your help. The absolute gold standard of excellence.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All