Is there anyone still interested in running the Second Life viewer on FreeBSD?

The last post on the Second Life client in this forum dates back in 2020, so there may be none, but if there is, this is a call for test.
  1. Download the port tarball from https://oikumene.que.ne.jp/FreeBSD/
  2. Extract the tarball under ${PORTSDIR}/games. There should be games/secondlifeviewer directory.
  3. Build and install the port.
  4. run /usr/local/bin/secondlife
If there are any problems, report me.
Known issue:
  • The port does not depend on fonts, so you might need to install the fonts the viewer uses by yourself. Check /usr/local/share/secondlifeviewer/skins/default/xui/${LANG}/fonts.xml to see what font files the viewer is asking.
  • Currently, the default is debug build.
  • I went as far as just "logged in", expect there are problems such as sudden SIGSEGV fault, etc.

When the port seems to be robust enough, I will file it to FreeBSD bugzilla.

screenshot-20240614a.png
 
Nice! I have been running OpenSimulator on FreeBSD for a few years in Grid mode with out any issues. There are a few things that need to be done in the libraries. I'll check out this viewer port soon. Thank you!
 
I am unable to build the port in Poudriere, it fails while trying to build libndofdev during the Poudriere Configure stage with the following error:
Code:
...
cd /wrkdirs/usr/ports/games/secondlifeviewer/work/libndofdev-0.14 &&  gmake CFLAGS="-Wall -I/usr/local/include -L/usr/local/lib -std=c23" all
gmake[1]: Entering directory '/wrkdirs/usr/ports/games/secondlifeviewer/work/libndofdev-0.14'
cc -Wall -I/usr/local/include -L/usr/local/lib -std=c23   -c -o ndofdev.o ndofdev.c
cc: warning: argument unused during compilation: '-L/usr/local/lib' [-Wunused-command-line-argument]
error: invalid value 'c23' in '-std=c23'
...

I tried to build it with and without the Makefile config options enabled and got the same results.
 
I seem to have skipped building and installing of plugins, resulting in some degradation. I am trying to figure out the solution.
 
The latest -r6 built successfully on Poudriere in a FreeBSD 13.3 jail. I was able to login to Second Life with it too! Now the fun (testing) begins. There probably aren't very many FreeBSD users that want this port, but I for one, am very grateful.
 
The last post on the Second Life client in this forum dates back in 2020, so there may be none, but if there is, this is a call for test.
  1. Download the port tarball from https://oikumene.que.ne.jp/FreeBSD/
  2. Extract the tarball under ${PORTSDIR}/games. There should be games/secondlifeviewer directory.
  3. Build and install the port.
  4. run /usr/local/bin/secondlife
If there are any problems, report me.
Known issue:
  • The port does not depend on fonts, so you might need to install the fonts the viewer uses by yourself. Check /usr/local/share/secondlifeviewer/skins/default/xui/${LANG}/fonts.xml to see what font files the viewer is asking.
  • Currently, the default is debug build.
  • I went as far as just "logged in", expect there are problems such as sudden SIGSEGV fault, etc.

When the port seems to be robust enough, I will file it to FreeBSD bugzilla.

View attachment 19243
hi, what is

Second Life viewer ? thanks.​

 
The latest -r6 built successfully on Poudriere in a FreeBSD 13.3 jail. I was able to login to Second Life with it too! Now the fun (testing) begins. There probably aren't very many FreeBSD users that want this port, but I for one, am very grateful.
Thank you for testing.
However, there are some regressions I need to solve. What I am recognizing now are:

 
I learned that Linden Lab did no more fully support Linux version of the viewer. This statement was issued in 2015, but I did not realize it.

I think I have to switch to Firestorm viewer (which is derived from the official viewer, so my work can be merged) that still support Linux. The good side is that they support cef plugin (which was missed in the Linux version of the official viewer) and support gstreamer 1.0 (I had to port 0.10 code to 1.0 code myself). But I am sorry, it would take some time to adapt to the Firestorm viewer.
 
Firestorm Viewer and Firestorm Viewer for OpenSimulator on FreeBSD would be great! I'm amazed that you got the Second Life Viewer to run on FreeBSD.
 
The last post on the Second Life client in this forum dates back in 2020, so there may be none, but if there is, this is a call for test.
  1. Download the port tarball from https://oikumene.que.ne.jp/FreeBSD/
  2. Extract the tarball under ${PORTSDIR}/games. There should be games/secondlifeviewer directory.
  3. Build and install the port.
  4. run /usr/local/bin/secondlife
If there are any problems, report me.
Known issue:
  • The port does not depend on fonts, so you might need to install the fonts the viewer uses by yourself. Check /usr/local/share/secondlifeviewer/skins/default/xui/${LANG}/fonts.xml to see what font files the viewer is asking.
  • Currently, the default is debug build.
  • I went as far as just "logged in", expect there are problems such as sudden SIGSEGV fault, etc.

When the port seems to be robust enough, I will file it to FreeBSD bugzilla.

View attachment 19243
Hello Hiroo Ono, great work! You even got details like libndofdev to build for FreeBSD, that's awesome! I've been trying to contact you by sending an offline IM to the SL account shown last month.
You said something about getting your work merged, so you meant the patches, yes?
 
Hello Hiroo Ono, great work! You even got details like libndofdev to build for FreeBSD, that's awesome! I've been trying to contact you by sending an offline IM to the SL account shown last month.
You said something about getting your work merged, so you meant the patches, yes?
Thank you. As I wrote in the previous post, there are some regressions I cannot resolve, and it seems they come from the official viewer no more support Linux. I need to switch to other viewer that still support Linux. I am trying the Firestorm viewer, but it will take time.
I thought it would be great if the viewer's developers accepted to merge patches for viewer source (not for cmake script and so on for build, because I did not use autobuild.), but the Linden Lab says they no more support Linux, and the firestorm's readme says they won't help self build for Linux, so they may not accept patches. I did not try though.
For the libndofdev, I succeeded to build the library, but did not test it.
 
Linden Lab have changed their stance on Linux a lot in recent times, they have resurrected Linux builds (currently Beta) and they are available on their github pages. I have not tested them so I cannot confirm how well they work.

Both LL and Firestorm accept PR's on their github page. Providing your code is sane and wouldnt disrupt existing functionality/cause dramas with existing build automation, they stand a fair chance of being accepted. How do I know? I have contributed a number of patches for the Linux SL viewer and they were accepted (these also flow downstream for third party viewers to consume (like firestorm)). The open source community has largely been responsible for the resurrection of the Linux SL viewer (though you wont get official support from LL when using it, you will get community support).

I'd like to be able to use a native version of Firestorm for FreeBSD and explored this already but it is no trivial tasks, its not a simple adjustment of a few compiler flags etc and voila. The operating system stuff in the viewer is very specific to the platform the viewer is targeted for; and there are entire sections of the viewer that would need implementing for FreeBSD specifically (especially around memory management etc) as they are full of linux'isms that ONLY work on linux. You would need a true C and C++ hero to pull this off and port the viewer natively. There is a large dependency on external third party libraries that need to be natively available to link to, noteably CEF (for the viewer splash page and viewer browser and associated functions, and for certain media support that relies on CEF), along with WebRTC for voice.

Its sad that FreeBSD's linux-compat is not up to the task of running either the Official secondlife linux viewer or any Linux version provided by third party projects :(
 
Note, ndofdev is only need if you want joystick support. You can disable this requirement by passing a boolean to cmake during the initial configuration state, though I dont remember the exact name of the boolean off the top of my head.
 
Back
Top