summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
6 daysBuild Dullahan in Linux aarch64 config stageHEADmainErik Kundiman
GCC needs cstdint header inclusion for it to compile. include/cef needs to exist first otherwise configuration would fail. INSTALL_RPATH is needed in try_compile-ing. PROJECT_ARCH needs to be set on aarch64 to avoid -m64 and -march(=x86-64) settings which aren't recognised (and wouldn't be correct) on aarch64. ENABLE_CXX11_ABI needs to be set ON, otherwise it would use C++ 03's ABI and cause a linking failure. Dullahan headers don't seem to be included in the installation upstream, and dullahan_version.h gets generated only at least after Dullahan configuration, hence the 2 files copying. dullahan_host rpath removal is taken out of scope because the Fedora we support isn't only x86-64 now. The reindentations are just to make the uniform with the rest in the file.
6 daysFix "Too many fragment shader texture samplers"Erik Kundiman
Linux on M1 crash, caused by PBR Terrain. M1 only supports 16 image samplers in the fragment shader (GL_MAX_TEXTURE_IMAGE_UNITS). That's why we need to be able to mask RenderTerrainPBRDetail on Linux too by adding it to an also added TexUnit16orLess list to its feature table, and to the graphic settings lists above it in the file.
2025-04-27Add dependency on libgles-dev on Debian/UbuntuErik Kundiman
Thanks to Jenni Windrider for the bug report and solution. On startup, the log gets flooded with: [0426/150813.911339:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization [0426/150813.918965:ERROR:egl_util.cc(44)] Failed to load GLES library: /usr/lib/x86_64-linux-gnu/libGLESv2.so: /usr/lib/x86_64-linux-gnu/libGLESv2.so: cannot open shared object file: No such file or directory doing a ls shows there's indeed no libGLESv2.so: ll /usr/lib/x86_64-linux-gnu/libGLESv2* - rw-r--r-- root root 110.39K 18.Mar'25 15:10  libGLESv2_nvidia.so.2 - rw-r--r-- root root 110.39K 18.Mar'25 15:10  libGLESv2_nvidia.so.570.133.07 - rw-r--r-- root root 70.30K 08.Apr'24 10:04  libGLESv2.so.2 - rw-r--r-- root root 70.30K 08.Apr'24 10:04  libGLESv2.so.2.1.0 The package that provides this isn't installed by default: apt-file search libGLESv2.so libgles-dev: /usr/lib/x86_64-linux-gnu/libGLESv2.so So installing libgles-dev fixes that.
2025-04-27Replace {.._DIR}/lib/release with ARCH_PREBUILT_DIRS_RELEASEErik Kundiman
Shorter.
2025-04-27Replace USE_AUTOBUILD_3P OR USE_CONAN with USESYSTEMLIBSErik Kundiman
Simpler.
2025-04-27Reseparate target_include_directories condition checkErik Kundiman
The two conditions might not be exclusive for some platforms (in another branch).
2025-04-27Config libcurl install dirs so it can make installErik Kundiman
Same as reason as previous commit, plus the moving of OpenSSL libs up 1 directory is still needed.
2025-04-27Config OpenSSL install dirs so it can make installErik Kundiman
so there's no need to have the long list of installed files. openssldir is set to isolate the files so they won't pollute the packages directory (which could lead to confusion).
2025-04-27One Collada DOM try_compile for all platformsErik Kundiman
On macOS, it's static library too, now, hence the stream editing is done out of any platform scope (which it's still needed because BUILD_SHARED_LIBS is ignored), and the (so)versions don't need to be set any more. CMAKE_INSTALL_LIBDIR is also ignored, hence the libcollada14dom.a moving.
2025-04-27One OpenJPEG try_compile for all OSesErik Kundiman
Same as previous commits, plus reminding CMAKE_BUILD_WITH_INSTALL_RPATH needs to be set ON otherwise there would be configure error on FreeBSD, plus the codec executables aren't needed (they would encounter linking errors on FreeBSD, because /usr/local/lib isn't automatically added as a header search directory). By default OpenJPEG installation header directory is "openjpeg-2.5", hence the renaming. The 3 non-API headers are copied, still.
2025-04-27Explicit significant NDOF try_compile settingsErik Kundiman
and use ARCH_PREBUILT_DIRS_RELEASE for shortening paths.
2025-04-27Back to one Meshoptimizer try_compile for all OSesErik Kundiman
CMAKE_OSX_ARCHITECTURES & CMAKE_OSX_DEPLOYMENT_TARGET won't affect non-macOS. Settings such as those 2, and CMAKE_BUILD_TYPE, aren't inherited, so the significant ones should be set explicitly. Meshoptimizer default installation header directory is without the encapsulating "meshoptimizer" directory.
2025-04-27Suppress repetitive SSE2NEON warnings on macOSErik Kundiman
2025-04-25Unset CFLAGS after building libcurlErik Kundiman
so that the C90 standard setting is not used when compiling other dependencies such as OpenJPEG.
2025-04-22Exempt Gentoo from PipeWire tooErik Kundiman
Pipewire in Portage has been upgraded from 1.2.7 to 1.4.2 recently. Among our supported distros, Debian and Ubuntu are the only ones left whose Pipewire versions are still 1.2.7, hence the changed logics.
2025-04-22Adjust Arch build instruction to have NDOF onErik Kundiman
Our Arch builds have been having NDOF enabled all this time.
2025-04-20Get the custom cURL compiled on Fedora Asahi RemixErik Kundiman
getpwuid_r, which is declared in /usr/include/pwd.h, somehow is always missed by, at least the custom, libcurl compiling process. I tried defining __USE_POSIX so the getpwuid_r part in pwd.h is included, I also tried undefining HAVE_GETPWUID_R so the getpwuid_r part in curl/lib/netrc.c is skipped (respectively using -D and -U CPPFLAGS ENV setting in indra/cmake/CURL.cmake), with no success. So just force the getpwuid_r part in netrc.c to be skipped by substituting defined(HAVE_GETPWUID_R) with 0.
2025-04-19Get the viewer launching on Fedora Asahi RemixErik Kundiman
Media plugins enabling not yet. OpenXR is disabled for now (it hasn't been used anyway). perl-FindBin is needed to be able to build OpenSSL on Fedora aarch64. Setting the C standard to 90 when building cURL is needed, otherwise it would fail at configure time with a misleading error of not finding link/run time requirements for dependencies (such as nghttp2 and zlib), at least on Fedora (and macOS too back then, I remember). GCC treated SSE2NEON warnings as errors on so many files, so -Wno-cpp is added globally. The same Linux CPU frequency calculation needs to be out of the x86 scope, otherwise the viewer would complain about not meeting the requirements at launch time.
2025-04-17Remove dependency on uriparserErik Kundiman
Turns out it hasn't been needed, might be leftover from system Collada DOM, and LL has their own URI parser.
2025-04-17Have libjpeg-turbo as requested in macOS build instructionErik Kundiman
It's installation is not implied by any other package for the project, at this moment.
2025-04-17Explicit on macOS deployment target when CMaking depsErik Kundiman
Turns out it wasn't forwarded, when I was building on macOS 15 arm64.
2025-04-16Exempt Fedora from PipeWire tooErik Kundiman
since it's upgraded to 1.4.1 in Fedora 42 from stable 1.2.7 in Fedora 41, and there seem to be API changes and we're not ready for them yet.
2025-04-16Had missed sorting openSUSE & Ubuntu alphabeticallyErik Kundiman
2025-04-15Merge remote-tracking branch 'secondlife/main'Erik Kundiman
2025-04-15Merge pull request #3706 from secondlife/release/2025.03Jonathan "Geenz" Goodman
Release/2025.03
2025-04-09Merge tag 'Second_Life_Release#632a8648-2025.03' into 2025.03Erik Kundiman
2025-04-08#3892 Crash at fillCompositionLogfontAndrey Kleshchev
2025-04-08Merge pull request #3891 from secondlife/geenz/25.03-feature-table-bumpJonathan "Geenz" Goodman
Bump feature table version.
2025-04-08Bump feature table version.Jonathan "Geenz" Goodman
2025-04-08Merge branch 'main' into 2025.03Erik Kundiman
2025-04-08Suppression of a redondant call in LLDrawPoolWaterExclusionmobserveur
The second call to pwaterpool->pushWaterPlanes(1) is a reminicence of an older method where it was using 2 passes.
2025-04-08Fixing Low preset making things dark on macmobserveur
Adjustments in the featuretable for mac so the low preset doesn't render dark. RenderReflectionsEnabled set to 0 and RenderReflectionProbeCount set to 1 was causing the issue.
2025-04-08AA Slowing down the viewer on Mac FIXmobserveur
AA was causing the viewer to slow down when used with hdr & emissive option ON. This commit fixes the issue, by making sure mipmap generation is inactive on the Luminance framebuffer.
2025-04-08#3745 fix for showing system notification on login #2Maxim Nikolenko
2025-04-07#3884 Crash in kdu_core::kdu_params::getAndrey Kleshchev
2025-04-07#3627 std::bad_alloc in EventPollAndrey Kleshchev
2025-04-07#3627 std::bad_alloc when loading a modelAndrey Kleshchev
2025-04-07#3878 Crash at LLPipeline::unlinkDrawableAndrey Kleshchev
assertInitializedDoError() on shutdown
2025-04-07#3870 Crash at LLVOAvatarSelf::getJoint()Andrey Kleshchev
A long standing one
2025-04-07#3868 Crash in updateHoveredStateAndrey Kleshchev
according to bugsplat mWrapperPanel is null.
2025-04-07#3849 Crash at LLSelectMgr::updatePointAtAndrey Kleshchev
2025-04-07#3846 Crash at updateGLTFMaterialsAndrey Kleshchev
2025-04-07FMOD has been upgraded from 2.02.27 to 2.02.28Erik Kundiman
2025-04-07Reorder the build instructions alphabeticallyErik Kundiman
by the platform/OS/distro name. Add -a to emerge since it's very likely the user hasn't set some necessary USE flags on before they try to install the viewer. Decapitalise openSUSE's initial letter.
2025-04-07Make it build & install, USING Portage, on GentooErik Kundiman
Gentoo uses lib64, just like Fedora, and has libexec too. The necessary step to install dependencies is part of the ebuild script now (tracked in another repo, ebuild.git). One thing I forgot to mention on the commit in that ebuild repo is, unzip.h is provided on Gentoo only by minizip, and not minizip-ng cause somehow the (minizip) "compat" USE flag couldn't be turned on somehow, and there was no "minizip" (without -ng) package on Gentoo, but it was achievable by setting the "minizip" USE flag on the zlib (again, without -ng) package. The queue header inclusion is needed cause its absence would cause the compiling to fail on Portage (though it compiled when building the viewer manually without Portage). Also, using the prebuilt Meshoptimizer caused some linking errors when using Portage (though, again, it linked when building the viewer manually without Portage), hence Meshoptimizer is built from source as part of the CMake configuration on Gentoo, differing from fellow Linux distros. Now Collada DOM, firstly the unpack destination directory is moved to inside the build directory now, to make it uniform with other 3rd-party files, just for less confusion. Secondly, since the patching that takes effect is the one done by Portage, it would kill the process when there are offending failed patchings (ones that generate .rej, reject files), and they are the vcxproj patchings which aren't used anyway. Thirdly, the hash checking on the downloaded file, that would fail anyway since Portage doesn't allow any downloading that isn't part of the ebuild, unfortunately has to be skipped so the emerge process wouldn't be killed just because of it. Ebuild has its own sum checking (though this means this particular file is not checked on other platforms, but other files aren't checked either anyway yet). Last but not least, the XDG Application category is removed because it's considered deprecated by Portage, though not fatal, but the viewer is already shown well in the Internet (Network) submenu anyway on unix desktops.
2025-04-07Fix logics for using prebuilt or system GLMErik Kundiman
Since the last merge, the prebuilt version has been used for all Megapahit platforms, when some should've used the system version instead, as instructed. And then, not all Linux distros don't have sufficient version of GLM on their repos, some do have and have already been instructed to install system GLM anyway. So the distros that still have insufficient version of GLM (0.9.9.8 instead of the necessary 1.0.1) are Debian, Ubuntu and openSUSE Tumbleweed, while other distros and OSes have GLM 1.0.1.
2025-04-03Add discord channel for open source discussion.Jonathan "Geenz" Goodman
2025-04-03Merge remote-tracking branch 'secondlife/release/2025.03' into 2025.03Erik Kundiman
2025-04-01Merge tag 'Second_Life_Release#e671cb54-2025.03' into 2025.03Erik Kundiman
2025-03-31#3814 More bad_alloc handlingAndrey Kleshchev
warn user and error