Jump to content
  • 0

Compiling FMOD audio (and do I need it?) for Black Dragon


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

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

Question

Okay... So. Just to preface this:

- I am not a developer by any means of the word. I'm lucky I know what print does in BASIC, and I only recently grasped bash.
- This is not my code, and I don't know if anyone else has tried to compile Black Dragon for Linux.
- I barely know what I am doing, and I'm doing it anyway because I'm a stubborn b***h and somehow know how to compile things in Linux, and can follow instructions

I'm trying to compile Black Dragon for Linux, and before I went and sent Autobuild on its' merry way, I was reading the documentation and it said that FMOD can be included with or without the viewer during compilation - which begs the question: What are the pros and cons of compiling with FMOD? If I don't include it, will there be no audio at all? Or will there be limits on what audio can be used? The wiki doesn't define what happens when FMOD isn't utilized, so I wonder if I have to go through the trouble of contacting FMOD for the fmodex source. I can compile that given there's documentation with it, but I just don't want to have to deal with others unless I absolutely have to at this point. I had a field day figuring out that I needed Mercurial to get autobuild.

Thanks in advance.

Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 1
15 minutes ago, Rathgrith027 said:

Okay... So. Just to preface this:

- I am not a developer by any means of the word. I'm lucky I know what print does in BASIC, and I only recently grasped bash.
- This is not my code, and I don't know if anyone else has tried to compile Black Dragon for Linux.
- I barely know what I am doing, and I'm doing it anyway because I'm a stubborn b***h and somehow know how to compile things in Linux, and can follow instructions

I'm trying to compile Black Dragon for Linux, and before I went and sent Autobuild on its' merry way, I was reading the documentation and it said that FMOD can be included with or without the viewer during compilation - which begs the question: What are the pros and cons of compiling with FMOD? If I don't include it, will there be no audio at all? Or will there be limits on what audio can be used? The wiki doesn't define what happens when FMOD isn't utilized, so I wonder if I have to go through the trouble of contacting FMOD for the fmodex source. I can compile that given there's documentation with it, but I just don't want to have to deal with others unless I absolutely have to at this point. I had a field day figuring out that I needed Mercurial to get autobuild.

Thanks in advance.

Compiling without FMOD means that you will lack any and all sound.

Link to post
Share on other sites
  • 1

Linux users have a group. You might get some help there. Also, there is the Open Development user group that meets on Wednesday mornings. You might find some help there.

You can look through the third-party viewers to find Linux versions. Contact those devs to see who is doing the Linux work and ask them for help.

  • Like 1
Link to post
Share on other sites
  • 0
3 hours ago, Rathgrith027 said:

I'm a stubborn b***h and somehow know how to compile things in Linux

If you manage to do this, and provided NiranV gives you his blessing, would you mind sharing the compiled viewer with the rest of us Linux aficionados? It would be ever so welcome. 
 

Link to post
Share on other sites
  • 0
1 minute ago, Fritigern Gothly said:

If you manage to do this, and provided NiranV gives you his blessing, would you mind sharing the compiled viewer with the rest of us Linux aficionados? It would be ever so welcome. 
 

Of course. I do plan to make it a private thing for a bit while I see about testing it, but I'll try to see if I can make versions available if he gives the okay.

  • Like 1
Link to post
Share on other sites
  • 0
28 minutes ago, Rathgrith027 said:

Of course. I do plan to make it a private thing for a bit while I see about testing it, but I'll try to see if I can make versions available if he gives the okay.

Nothing would speak against it, though i cannot help with any issue that i deem caused by a Linux version

  • Like 2
Link to post
Share on other sites
  • 0
Posted (edited)

I thought I'd announce a change in scope of the project - Instead of porting Black Dragon, I'm going to see about getting it working within Wine via Lutris which as a long time windows user and experienced with WINE to an extent - is more in my wheelhouse. So far I've tested Black Dragon in WINE with *mostly* good results. The only issue I've come across in my brief test is that, at least for M3 Heads (Which is used on my alt for testing), there is transparency where there shouldn't be, and the eyes textures are not appearing. I'm going to look into asking the guys behind DXVK if they can provide some insight on why this is happening.

I was completly wrong about this.

Here's what it looks like in Black Dragon on Wine via DXVK compared to how it looks in Firestorm running natively in Linux, regarding that bug:

image.thumb.png.7aa773d72d51162057b66cb1247ca714.png - Note the missing eye textures, and although not shown, the teeth of the head can sometimes be seen partially through an unexpected hole in the model's rendering.

And here is what it should look like, in Firestorm running Natively.

image.png.5c80b623a5df215bc8c0b055ff45b28b.png

Other than that, Black Dragon initializes, logs in successfully, And renders SL as well as you'd expect it to with one or two small quirks. HUDs and the sort work, but until I do further testing I'm going to keep at it. I know it's not a native port but with my limited knowledge It's the best I can aim to attempt.

Edit: 

Okay, so apparently the viewer does run in OpenGL, as evidenced by an embarassing yet brief discussion with DXVK's lead developer - Honestly I'm kicking myself as to why in the world I didn't just ask Niran directly and trusted someone who I talked to about the whole song and dance. I'm still going to go the WINE route and see about who I should go to about reporting this - Probably the WINE devs themselves, as I believe they're the ones who maintains the OGL Implementation in WINE.

I'm going to post updates on my blog if anyone wants to keep an eye on the situation.

Edited by Rathgrith027
Link to post
Share on other sites
  • 0
1 hour ago, Rathgrith027 said:

I thought I'd announce a change in scope of the project - Instead of porting Black Dragon, I'm going to see about getting it working within Wine via Lutris which as a long time windows user and experienced with WINE to an extent - is more in my wheelhouse. So far I've tested Black Dragon in WINE with *mostly* good results. The only issue I've come across in my brief test is that, at least for M3 Heads (Which is used on my alt for testing), there is transparency where there shouldn't be, and the eyes textures are not appearing. I'm going to look into asking the guys behind DXVK if they can provide some insight on why this is happening.

I was completly wrong about this.

Here's what it looks like in Black Dragon on Wine via DXVK compared to how it looks in Firestorm running natively in Linux, regarding that bug:

image.thumb.png.7aa773d72d51162057b66cb1247ca714.png - Note the missing eye textures, and although not shown, the teeth of the head can sometimes be seen partially through an unexpected hole in the model's rendering.

And here is what it should look like, in Firestorm running Natively.

image.png.5c80b623a5df215bc8c0b055ff45b28b.png

Other than that, Black Dragon initializes, logs in successfully, And renders SL as well as you'd expect it to with one or two small quirks. HUDs and the sort work, but until I do further testing I'm going to keep at it. I know it's not a native port but with my limited knowledge It's the best I can aim to attempt.

Edit: 

Okay, so apparently the viewer does run in OpenGL, as evidenced by an embarassing yet brief discussion with DXVK's lead developer - Honestly I'm kicking myself as to why in the world I didn't just ask Niran directly and trusted someone who I talked to about the whole song and dance. I'm still going to go the WINE route and see about who I should go to about reporting this - Probably the WINE devs themselves, as I believe they're the ones who maintains the OGL Implementation in WINE.

I'm going to post updates on my blog if anyone wants to keep an eye on the situation.

This is not an issue of Linux or WINE. This is something happening due to my changes. These eyes are alpha blended and LL has been using Automatic Alpha Masking for since pre-Materials, i disabled Automatic Alpha Masking because with Materials it is no longer required and this surfaces a lot of issues all around Second Life. So many people having alpha blended textures, having their faces just z-fight like crazy, entire furniture or houses collapsing in itself and all that stuff but it's something that needs fixing on content level, not the Viewer. These items should use masking mode or should not contain an alpha channel if they are not using it. 

https://niranv-sl.blogspot.com/2017/11/the-thing-about-alpha-masking.html

Edited by NiranV Dean
  • Like 1
Link to post
Share on other sites
  • 0
Posted (edited)
59 minutes ago, NiranV Dean said:

This is not an issue of Linux or WINE. This is something happening due to my changes. These eyes are alpha blended and LL has been using Automatic Alpha Masking for since pre-Materials, i disabled Automatic Alpha Masking because with Materials it is no longer required and this surfaces a lot of issues all around Second Life. So many people having alpha blended textures, having their faces just z-fight like crazy, entire furniture or houses collapsing in itself and all that stuff but it's something that needs fixing on content level, not the Viewer. These items should use masking mode or should not contain an alpha channel if they are not using it. 

https://niranv-sl.blogspot.com/2017/11/the-thing-about-alpha-masking.html

Alright, I see.

In that case, I'll go ahead and work on further testing and if all goes well I'll release a Installer on Lutris' website.

For the record, it'll require the user to provide the installer from your website and then it'll install and configure the Wine prefix as needed.

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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...