Jump to content
animats

Firestorm under Wine on Linux problem

You are about to reply to a thread that has been inactive for 60 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I'm trying something unusual here - running the Windows version of Firestorm under Wine on  Ubuntu 16.04 LTS. (Why? Because my Windows machine just failed completely, getting it fixed during lockdown is going to be tough, and I want to upload mesh, which doesn't work on Linux. I know it's going to be slow; all I want to do is upload mesh objects. I can run Firestorm under Linux normally for everything but mesh uploads, which don't work from Linux for licensing reasons.)
 
Amazingly, this works well enough that I get to enter a login and then get "Second life cannot be accessed from this computer". That's apparently some kind of security issue.
 
I can run Firestorm directly from the same machine and log in without problems. Same IP address. So Its not an IP ban.
 
Tried the official LL viewer under Wine too.
658579019_Screenshotfrom2020-04-2823-49-11.thumb.png.4bee08985e057fac3cb7ebe0404ca569.png
Tried a cold start with a new alt. No good. But the LL viewer will start under Wine on Linux.
 

Share this post


Link to post
Share on other sites

Singularity 8373 under Linux does a good job of uploading mesh.

A thought here, I believe Wine targets 32-bit programs, was the Firestorm version you tried to run a 64-bit implementation?

 

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

I have successfully uploaded mesh to the Beta grid using FS in Linux (Kubuntu 19.04 at the time), I don''t know why you are having issues uploading mesh but there is no reason why it shouldn't work.

Also, why use such an old Ubuntu version? If you insist on using an LTS version, why not use 18.04? I would understand why you wouldn't want to use 20.04 yet, many people like to await the first point release, but why would you not want to upgrade your Ubuntu install for 4 years?

Edited by Fritigern Gothly

Share this post


Link to post
Share on other sites

Not an expert in SL bans but it's likely a ban on the VMs MAC address. You may want to try redefining the MAC of the VM and see if that helps. Certain virtual machines default MAC address classes seem to have gotten a blanket ban for SL.

Share this post


Link to post
Share on other sites

Ok, to confirm what Animats has found, I installed SingularityBeta32-bits under PlayonLinux on Lubuntu 18.04, could connect to a local standalone, but got the identical message when trying to connect to SecondLife. I doubt it's a blanket ban, I suspect more it's a contradictory set of data saying "I'm Windows but I'm Linux"

Got yo mamma in a whirl...

Share this post


Link to post
Share on other sites
12 hours ago, Fritigern Gothly said:

I have successfully uploaded mesh to the Beta grid using FS in Linux (Kubuntu 19.04 at the time), I don''t know why you are having issues uploading mesh but there is no reason why it shouldn't work.

Sorry, I'm running Ubuntu 18.04 LTS.  Upgraded several months ago. (Was having a bad night last night. Old Windows desktop used for occasional Windows-only work totally died; won't even power up. I have backups for everything, but the only remaining Windows machine is a tiny EeePC running Windows 7 Starter, far too weak to run SL. I do all my real work on Linux.)

If I try to upload mesh with Firestorm under Linux, the SL-only version, I get this message:

nomeshupload.thumb.png.d26a9d626801a9ce62f5c778d07b0bcf.png

This is not Firestorm for Open Simulator. It's the SL-only version. The only options at startup are SL and SL beta grid. I need mesh upload with physics (which in the viewer is just the convex hull decomposition thing in the uploader, apparently something from Havok, with licensing problems.)

Is there a viewer that can do mesh uploads with physics on Linux?

Usual Firestorm config info.
 

Firestorm 6.3.2 (58052) Sep 28 2019 09:32:20 (64bit) (Firestorm-Releasex64)
Release Notes

You are at 191.8, 34.9, 42.1 in Vallone located at sim10177.agni.lindenlab.com (216.82.49.43:13006)
SLURL: http://maps.secondlife.com/secondlife/Vallone/192/35/42
(global coordinates 462784.0, 306979.0, 42.1)
Second Life Server 2020-04-24T20:13:35.540928
Release Notes

CPU: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz (3284.91 MHz)
Memory: 7916 MB
OS Version: Linux 4.15.0-96-generic #97-Ubuntu SMP Wed Apr 1 03:25:46 UTC 2020 x86_64
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce GT 640/PCIe/SSE2

OpenGL Version: 4.6.0 NVIDIA 440.64.00

RestrainedLove API: (disabled)
libcurl Version: libcurl/7.54.1 OpenSSL/1.0.2l zlib/1.2.8 nghttp2/1.25.0
J2C Decoder Version: KDU v7.10.7
Audio Driver Version: FMOD Studio 2.00.03
Dullahan: 1.1.1320 / CEF: 3.3626.1895.g7001d56 / Chromium: 72.0.3626.121
LibVLC Version: 2.2.3
Voice Server Version: Vivox 3.2.0002.10426

Settings mode: Firestorm
Viewer Skin: Firestorm (Grey)
Window size: 1853x1025 px
Font Used: Deja Vu (96 dpi)
Font Size Adjustment: 0 pt
UI Scaling: 1
Draw distance: 240 m
Bandwidth: 1500 kbit/s
LOD factor: 2
Render quality: High (5/7)
Advanced Lighting Model: Yes
Texture memory: 1024 MB (1)
VFS (cache) creation time (UTC): 2019-1-20T19:26:8
Built with GCC version 40902
Packets Lost: 84/8246 (1.0%)
April 29 2020 12:00:34 SLT

 

Share this post


Link to post
Share on other sites

Here's what's missing on Linux:

nosolidupload.thumb.png.e59d22a60184f3c30662b7bc3841a071.png

On Windows, Step 2, Convert to Hulls (optional) has options other than "Default". It has "Solid", which means the object is broken up into convex parts for efficient and accurate collision detection. That's done by some auxiliary function in proprietary Havok code.

Do all the viewers use the Havok code, or does somebody use open source code for this such as the code from the Bullet library?

Share this post


Link to post
Share on other sites
12 hours ago, Profaitchikenz Haiku said:

Ok, to confirm what Animats has found, I installed SingularityBeta32-bits under PlayonLinux on Lubuntu 18.04, could connect to a local standalone, but got the identical message when trying to connect to SecondLife. I doubt it's a blanket ban, I suspect more it's a contradictory set of data saying "I'm Windows but I'm Linux"

Yup. Turns out that Firestorm for Windows under Wine on Linux works just fine. On OSgrid.

osgridunderwine.png.0b5f08d8d90280be2cbd30786aac3da4.png

OSgrid viewed with Firestorm 6.0.2 for Windows running under Wine emulating Windows on Ubuntu Linux 18.04 LTS. Works fine. Even has good performance. This area, by the way, is the OSgrid new user experience. Basic, but effective.

13 hours ago, CarlaWetter said:

Not an expert in SL bans but it's likely a ban on the VMs MAC address. You may want to try redefining the MAC of the VM and see if that helps. Certain virtual machines default MAC address classes seem to have gotten a blanket ban for SL.

Agreed. This seems to be collateral damage from SL's banning system. SL doesn't like whatever machine ID info the Wine emulator sends them. Other grids don't care. Sent in a support ticket, and will look into how Wine does such things.

Ah, workarounds. So SL.

Share this post


Link to post
Share on other sites

OK, got it to work.

firestormunderwine.thumb.png.a868bccf54fe60a871d8592e49a7f62d.png

Successful mesh upload with solid physics model, using Firestorm for Windows under Wine on Linux.

That's a relief. I'm not stuck trying to get a new Windows machine capable of running SL. Which is tough with lockdown and the computer dealers closed.

Sadly, I probably shouldn't say publicly how I did this without clearance from SL, because it relates to the anti-griefing ban system. If you really need to know, IM me.

Share this post


Link to post
Share on other sites

The LL viewer will also work under Wine, after changing one setting in Wine. The auto-updater crashes, and so does Dullihan, the interface to the web browser. Voice works, as does playing a music stream.

Share this post


Link to post
Share on other sites

Regarding the Wine ban, it's very odd that it's acting that way. I've used Black Dragon on WINE and was able to log into Second Life without a Hardware Ban notice.

What version of WINE are you running with Firestorm? Are you using Wine Stable or Staging? Also, I'd recommend upgrading to a later LTS version if able, as 16.04 is pretty old by this date.

Share this post


Link to post
Share on other sites

I am just astounded that you can't upload mesh under Linux. I mean, what is the licensing issue exactly? They're your 3d creations? What am I missing here

Share this post


Link to post
Share on other sites
15 minutes ago, Extrude Ragu said:

I am just astounded that you can't upload mesh under Linux. I mean, what is the licensing issue exactly? They're your 3d creations? What am I missing here

It probably has to do with Havok's licensing. Havok as far as I am aware does not provide support for Linux.

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, Rathgrith027 said:

It probably has to do with Havok's licensing. Havok as far as I am aware does not provide support for Linux.

The missing piece is the code used when you select "Solid" for the physics model type.  That decomposes your physics model into a set of convex hulls which add up to the original object. A convex hull is a shrink-wrap - there are no inside corners. Collision detection for convex hulls is fast and accurate. "Surface" mode collisions are troublesome because there's no "inside", just a collidable surface. Getting stuck inside something in SL usually comes from using "Surface" mode. If you're inside a "solid", the collision system knows this and will try to push you out.

What convex decomposition does. Video of a convex decomposition algorithm at work. You can see pictures like this in the uploader if you set "solid" mode and try different amounts of "simplify".

Havok's convex hull decomposer isn't that great. That's why it's a common bit of advice in SL to make your physics model out of blockish objects that don't quite touch. That makes convex hull decomposition easy. Given a hard problem, Havok's convex hull generator tends to produce long, thin wedge-shaped objects, and too many of them. Hence the advice to break up your physics model.

Open Simulator uses a non-Havok, open source physics engine (Bullet) and Bullet's convex decomposition tools, but that's not integrated into Firestorm. Havok's physics engine was available for Linux in the past, but since Havok was acquired by Microsoft, they don't mention Linux.

On a related note, the "Convex Hull" option in SL viewer's "Edit->Features" dialog means a single convex hull over the entire object. That shrink-wraps the entire object. It's cheap to calculate, and if your object can use that mode, it's great. But use it on a building and you can't enter the building. The uploader's "solid" mode is a decomposition into multiple convex hulls, like the video above. So you can, and should, use it on more complex shapes.

So, that's a bit of what's going on under the hood.

(Yeah, I used to write physics engines.)

 

  • Thanks 1

Share this post


Link to post
Share on other sites

As for running under Linux (Ubuntu 18.04 LTS), both the LL viewer and Firestorm will (mostly) run under Wine. Wine provides a disk serial number of 0, and the viewers don't like that. But you can set Wine's disk serial number. This allows mesh uploading on Linux. (Saving me from having to buy a new Windows machine.)

After that, the viewers will run. Even voice works. Performance is adequate. The GPU is used. "Dullihan", the plug-in that brings up a browser inside the viewer, crashes, unable to launch a browser. Also, the LL viewer's auto-updater crashes. Neither of those is essential to using the world, but "Destinations" and such don't work.

If somebody can figure that out, we'll have SL fully on Wine. Meanwhile, I just run under Wine for mesh uploads, and use Firestorm on Linux for everything else. Once all this is set up, one icon launches Firestorm under Wine. So, you really can run Second Life with only a Linux box.

  • Thanks 1

Share this post


Link to post
Share on other sites
3 hours ago, Kyrah Abattoir said:

Mesh upload doesn't work on the official linux viewer?

 Not as of Ubuntu 18.04 LTS. Some old 32-bit stuff is missing, and not even in the repositories any more.

libgdk-x11-2.0.so.0: cannot open shared object file: No such file or directory
*** Bad shutdown ($LL_RUN_ERR). ***

You are running the Second Life Viewer on a x86_64 platform.  The
most common problems when launching the Viewer (particularly
'bin/do-not-directly-run-secondlife-bin: not found' and 'error while
loading shared libraries') may be solved by installing your Linux
distribution's 32-bit compatibility packages.
For example, on Ubuntu and other Debian-based Linuxes you might run:
$ sudo apt-get install ia32-libs ia32-libs-gtk ia32-libs-kde ia32-libs-sdl

Advice on this subject from Ubuntu forums didn't help.

Linux land is phasing out 32-bit on x86, and the SL viewer for Linux is some ancient 32-bit version.

Share this post


Link to post
Share on other sites

It might be more fruitful looking through stackexchange for getting and using 32-bit libraries, they are still around but things like synaptic and apt-get are going to not see them so you will end up doing stuff yourself.

My personal experience now is that 32-bit systems just can't manage the new stuff on SL, they cope with the OSgrid/Outworldz places Ok, but not our mesh-heavy Advanced-lighting triple-image downloading system we need because "we're all so beautiful - dah-de-dah-de-dah..."

Share this post


Link to post
Share on other sites
16 minutes ago, Profaitchikenz Haiku said:

It might be more fruitful looking through stackexchange for getting and using 32-bit libraries, they are still around but things like synaptic and apt-get are going to not see them so you will end up doing stuff yourself.

My personal experience now is that 32-bit systems just can't manage the new stuff on SL, they cope with the OSgrid/Outworldz places Ok, but not our mesh-heavy Advanced-lighting triple-image downloading system we need because "we're all so beautiful - dah-de-dah-de-dah..."

The main LL viewer is the 64-bit version, and that works user Wine. Apparently the browser it uses for web content (some embedded version of Chrome) is still 32-bit. When and if that gets upgraded on the LL side, this will probably work. I encourage LL to offer the Windows LL viewer under Wine as a supported configuration, if they're not going to support a LL viewer for Linux directly.

(I try to avoid loading shared libraries for general use outside the apt-get and synaptic environments, because it tends to break the install system. ROS, the Robot Operating System, and TensorFlow create problems like that, due to excessive version pinning, and getting my system unsnarled after nonstandard installs was a pain.)

Share this post


Link to post
Share on other sites

What may be an interesting experiment is to create a windows VM under virtualbox under 'buntu, and running SL/FS in that.

Share this post


Link to post
Share on other sites

I've been struggling a bit with the LL Viewer under wine, trying to get a feel for what EEP does.

1: I am set up to get wine from http://winehq.org using normal Linux update procedures. Go through the normal update channel for your distribution, and you may be getting something awkwardly old.

2: One of the default settings, a Drive Serial Number of 0 (zero), triggers a Linden Lab login block. This happens with any Windows viewer under wine. It's easily changed with winecfg. If you have several Windows viewers it looks as though you have to use the same value for all of them, which might be awkward for virtual machines.

3: I get a warning message about "SLVersionChecker.exe" failing to run but it doesn't seem to cause a problem. I am a bit wary about the trend towards automatic updating, I have known it break things.

4: The wine upgrade from v5.0 to v5.0.1 which came through this week didn't mess anything up, but I was still nervous. Some software I use comes from people who take the trouble to check against wine. And then there is Amazon...

 

One of the reasons I am posting this is that a lot of the information about Second Life viewers and wine which you can find with Google is horribly old. This is current for the first week of June 2020

There are some things, such as Mesh import, where Linux viewer just can't have the features that a Windows viewer can provide. I am not sure that the Havok code for physics models is all that good, I just make my own physics model, but it's not there for Linux.

Share this post


Link to post
Share on other sites
You are about to reply to a thread that has been inactive for 60 days.

Please take a moment to consider if this thread is worth bumping.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...