Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
195 stars 9 forks source link

Paste from clipboard does not work when running thru Proton on Linux #1096

Open TiagoTiago opened 4 years ago

TiagoTiago commented 4 years ago

When I try to paste some text in a text field, I get this error on the attached screenshot. NeosProtonClipboardBug

When that shows on the desktop, Neos itself freezes; everything goes back to normal after clicking Ok, except that from that point onward, whenever I try to paste again, instead of getting another error, it just freezes the virtual keyboard's text functionality, I can only click on Close.

shiftyscales commented 4 years ago

This is because clipboard functionalities are handled through an external process called Neosmon/Neosmon Server as that error dictates. Additionally- it would be making API calls to Windows which Proton likely isn't/wouldn't translate.

Using Proton is not an officially supported platform/means to use Neos.

TiagoTiago commented 4 years ago

I can paste just fine in other Windows apps running in Proton, can even paste images; so while it may indeed be that we're dealing with some edgecase that Wine has missed, it doesn't necessarily mean there isn't anything the Neos team can do to make it work without having to wait for Wine/Proton to do something about it.

As for the "supported platform" topic; the Steam storepage does mention it runs on Linux, and my machine is above the minimum requirements; and yet the native version has still not met feature parity with the Windows version.

Don't get me wrong; I do understand you guys are running on limited resources and you need to ensure you're delivering enough to the main audience that pays the larger fraction of your salary; but the fact the native Linux version has already progressed so much so far shows you do see some value in supporting the platform; and given how much closer to your more familiar Windows environment Wine/Proton is, it seems like a very promising route to keep your Linux audience engaged while you pace the development of the native version as needed to ensure a healthy rate of delivery to the larger crowd.

shiftyscales commented 4 years ago

For a lack of feature parity- all that is missing are third party libraries for which there is currently no suitable alternatives that we are aware of, and as you had noted- a lack of resources, particularly developmental means that issues are less likely to be prioritized if they are not an easy/obvious fix.

As a curiosity- are you able to successfully use the in-app file browser as a means of importing while running on Proton?

TiagoTiago commented 4 years ago

Yeah, the file path is a little more convoluted than usual but everything is still there.

Frooxius commented 4 years ago

I'm not sure what we could do with this issue on our end. The clipboard options we have even on Windows are a bit limited. The API's don't work correctly within Unity process, so we split it out into a separate process. It's using standard .NET API for accessing clipboard, so if Wine/Proton doesn't support that correctly it's going to make supporting it more difficult.

It seems like it's failing when it actually tries to set clipboard content rather than read it. This typically happens when you copy something in Neos, since the clipboard support is bi-directional. I could wrap it around so the error there doesn't lock up the whole process, but the functionality will not be there.

The native Linux version should work well though. It uses Unity's clipboard API which works surprisingly well on Linux, although it's a bit more limited.

TiagoTiago commented 4 years ago

Yeah, pasting is fine on Linux. But it's annoying to have to close and switch platforms to go from importing to pasting and vice-versa.

Also, there's that reflection/specular issue with shaders on Linux; I need to remember to setup an easy to reproduce way to show the difference now I've started messing with Neos again; comparing back and forth the native and proton rendering of the same scenes gets really obvious, but you need to get your head in the right position and orientation to make it obvious, and the issue doesn't seem to show in any of the cameras I've tried so far, even the ones with a stereo mode.

Frooxius commented 4 years ago

I've added exception guards in 2020.9.29.1115, which should prevent Neos from getting locked up due to the internal errors.

uyjulian commented 3 years ago

You may want to try using winetricks to install Microsoft .NET. The WinForms implementation in Wine Mono is not complete.