LDraw.org Discussion Forums

Full Version: Bricksmith appears to be broken on Big Sur
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Made the mistake of upgrading not expecting that nothing that rendered in 3D would work anymore. Is anyone else having this experience?

I'm on a Macbook Pro 16" with 16GB
(2020-11-20, 13:30)Andy Zmolek Wrote: [ -> ]Made the mistake of upgrading not expecting that nothing that rendered in 3D would work anymore. Is anyone else having this experience?

I'm on a Macbook Pro 16" with 16GB

Bricksmith has had problems since Mojave. There was some chatter a while back about fixing it (since Allen has retired from the project) but so far that hasn't been anything new.
(2020-11-20, 15:35)Orion Pobursky Wrote: [ -> ]Bricksmith has had problems since Mojave. There was some chatter a while back about fixing it (since Allen has retired from the project) but so far that hasn't been anything new.

I can't add anything, I'm afraid. Because I rely heavily on Wine, which doesn't work with Catalina or later, I won't be on Big Sur for the forseeable future.
(2020-11-20, 19:13)N. W. Perry Wrote: [ -> ]I can't add anything, I'm afraid. Because I rely heavily on Wine, which doesn't work with Catalina or later, I won't be on Big Sur for the forseeable future.

Parallels has confirmed support for Big Sur and the A1 chip. When I was on MacOS I used VMWare Fusion. Both require a Windows license but you can get those for <$40.
(2020-11-20, 21:03)Orion Pobursky Wrote: [ -> ]Parallels has confirmed support for Big Sur and the A1 chip. When I was on MacOS I used VMWare Fusion. Both require a Windows license but you can get those for <$40.

Well, I also have work stuff that prevents me from upgrading to Catalina. And to be honest, I haven't yet found an argument in favor of upgrading other than the threat of eventual obsolescence. What's more likely is that I'll have a whole new machine before the issue comes to a head (and it's possible that may be a Windows machine).
(2020-11-20, 21:03)Orion Pobursky Wrote: [ -> ]Parallels has confirmed support for Big Sur and the A1 chip. When I was on MacOS I used VMWare Fusion. Both require a Windows license but you can get those for <$40.

The Parallels (and VMWare Fusion) support for the M1 chip almost certainly won't run Windows (unless Microsoft starts selling Arm Windows to end users). They will only support Arm-based operating systems, like Arm Linux. Arm Windows is currently only available to Arm system builders.
(2020-11-20, 13:30)Andy Zmolek Wrote: [ -> ]Made the mistake of upgrading not expecting that nothing that rendered in 3D would work anymore. Is anyone else having this experience?

I'm on a Macbook Pro 16" with 16GB

Same issue here.  Upgrading to Big Sur broke Bricksmith and LPub3D.

MacBook Pro 2018 13" 2.3 GHz i5 with 6 GB.
(2020-11-20, 13:30)Andy Zmolek Wrote: [ -> ]Made the mistake of upgrading not expecting that nothing that rendered in 3D would work anymore. Is anyone else having this experience?

I'm on a Macbook Pro 16" with 16GB

Same problem. Also LDView does not render any graphics anymore. (And some other graphics applications as well). Big Sur make me think to abandon Apple.
(2020-11-23, 21:19)Manfred Kern Wrote: [ -> ]Same problem. Also LDView does not render any graphics anymore. (And some other graphics applications as well). Big Sur make me think to abandon Apple.

MacOS is fine. It's that we don't have any, active developers for MacOS programs.
(2020-11-23, 21:19)Manfred Kern Wrote: [ -> ]Same problem. Also LDView does not render any graphics anymore. (And some other graphics applications as well). Big Sur make me think to abandon Apple.

Can you try the latest LDView Beta release that I just made?

https://forums.ldraw.org/thread-24288.html

The above release is built with the latest Xcode, and is also a Universal Binary (although that shouldn't affect you).
(2020-11-23, 23:47)Orion Pobursky Wrote: [ -> ]MacOS is fine. It's that we don't have any, active developers for MacOS programs.

I kind of disagree with that. As a software developer, macOS is both awesome and also extremely infuriating. Awesome, because it's (IMO) relatively easy to develop for. Extremely frustrating, because Apple constantly breaks backwards compatibility on things, both publicly (when they do things like remove support for 32-bit apps) and secretly (when old programs just stop working). I don't have Big Sur, and I won't have it for at least another two months, since frankly, I have learned not to trust Apple's major OS updates any further than I can throw their UFO headquarters building. In addition, they constantly force developers to stop supporting old versions of macOS. The earliest version that can be supported by any app built with the latest Xcode is 10.9 Mavericks.

I just released a new Beta of LDView built with the latest Xcode, and hopefully that will work in Big Sur. If not, then it's not going to be fixed until I can trust Big Sur not to hose my system. (Given that Big Sur seems to have bricked a bunch of MacBook Pros, I am not being paranoid. Even if they aren't really bricked, they are at the very least non-functional for days or weeks.)

I can't think of anything off-hand that would cause LDView not to work in Big Sur. However, the officiall version of LDView (4.3) was built long enough ago, that if that's what doesn't work, it doesn't surprise me at all. Until I get feedback from Beta 3, I'll leave Beta 2 up (which was built with last year's Xcode).
(2020-11-24, 2:26)Travis Cobbs Wrote: [ -> ]Can you try the latest LDView Beta release that I just made?

https://forums.ldraw.org/thread-24288.html

The above release is built with the latest Xcode, and is also a Universal Binary (although that shouldn't affect you).

Hello Travis,

It seems that the beta version for MacOS is working again. I could load model 8110 Unimog U400, which is fairly big. I zoomed and panned a little bit. Worked very well. But I did not make any further tests except for printing. It always prints an empty page.
(2020-11-20, 13:30)Andy Zmolek Wrote: [ -> ]Made the mistake of upgrading not expecting that nothing that rendered in 3D would work anymore. Is anyone else having this experience?

I'm on a Macbook Pro 16" with 16GB

Hi Y'all,

I can at least tell y'all what has gone wrong with Big Sur; Andy's comments are correct that BrickSmith is unusable on Big Sur, and there isn't a good work-around.

Basically: BrickSmith is built around the idea that the 3-d view doesn't have its own layer in Apple's UI compositing system. This in turn means the 3-d code renders to the underlying pixels in "UI space" - when you zoom in, we just draw the model bigger (using 3-d transforms).

Apple has been deprecating this way of working in favor of having all 3-d UI views render to their own dedicated layers. This is actually, architecturally, the right way to do things in that it lets 3-d accelerated code render directly to a VRAM surface that the compositor can then work with. But it's also _not_ how BrickSmith works, and breaks the view system.

we embrace "render to the surface" then as you zoom in, the view just gets pixelated and blocky as the VRAM surface is _stretched_.  If we set it to be big enough to look good at high res, a large model ends up being an 8k x 8k FBO, which is bad.

As of Catalina, we were in a situation where a developer had to get an old SDK to compile against to _trick_ OS X into thinking that BrickSmith was an old app despite being compiled on a new OS, to get access to that backward compatibility pass.  In Big Sur, compatibility is gone.

The fix for this is the same as the fix that would have allowed for native Catalina compilation:rewrite Bricksmith's view system to somehow cope with "zoomed" layers.

I...don't know how exactly to do this - my day job is in 3-d graphics but not Mac UI tinkering, and as may be obvious by my posting here once every year, the comment "we don't have active mac developers" is probably right.  Allen had to put BrickSmith down but I haven't had time to pick it up.

If anyone could write a patch that mods zooming, I can try it (I have 3 different OSes in my office) and see if we're in business, but it's not a trivial change.

Realistically we can only say BrickSmith is incompatible with Big Sur until new code is written.

cheers
Ben

PS whether or not it's good or bad dev practice for Apple to provide a limited window of compatibility on old OS features they want to drop, it's certainly very different from Windows, where software will run on Windows _forever_.  So it's understandable that devs in this community who are bound by dev time would be annoyed by having old code "go bad".  Bricksmith is also non-ARC, and i have no idea if some day we'll wake up and that doesn't work either.
(2020-11-28, 0:46)Ben Supnik Wrote: [ -> ]Hi Y'all,

I can at least tell y'all what has gone wrong with Big Sur; Andy's comments are correct that BrickSmith is unusable on Big Sur, and there isn't a good work-around.

Basically: BrickSmith is built around the idea that the 3-d view doesn't have its own layer in Apple's UI compositing system. This in turn means the 3-d code renders to the underlying pixels in "UI space" - when you zoom in, we just draw the model bigger (using 3-d transforms).

Apple has been deprecating this way of working in favor of having all 3-d UI views render to their own dedicated layers. This is actually, architecturally, the right way to do things in that it lets 3-d accelerated code render directly to a VRAM surface that the compositor can then work with. But it's also _not_ how BrickSmith works, and breaks the view system.

we embrace "render to the surface" then as you zoom in, the view just gets pixelated and blocky as the VRAM surface is _stretched_.  If we set it to be big enough to look good at high res, a large model ends up being an 8k x 8k FBO, which is bad.

As of Catalina, we were in a situation where a developer had to get an old SDK to compile against to _trick_ OS X into thinking that BrickSmith was an old app despite being compiled on a new OS, to get access to that backward compatibility pass.  In Big Sur, compatibility is gone.

The fix for this is the same as the fix that would have allowed for native Catalina compilation:rewrite Bricksmith's view system to somehow cope with "zoomed" layers.

I...don't know how exactly to do this - my day job is in 3-d graphics but not Mac UI tinkering, and as may be obvious by my posting here once every year, the comment "we don't have active mac developers" is probably right.  Allen had to put BrickSmith down but I haven't had time to pick it up.

If anyone could write a patch that mods zooming, I can try it (I have 3 different OSes in my office) and see if we're in business, but it's not a trivial change.

Realistically we can only say BrickSmith is incompatible with Big Sur until new code is written.

cheers
Ben

PS whether or not it's good or bad dev practice for Apple to provide a limited window of compatibility on old OS features they want to drop, it's certainly very different from Windows, where software will run on Windows _forever_.  So it's understandable that devs in this community who are bound by dev time would be annoyed by having old code "go bad".  Bricksmith is also non-ARC, and i have no idea if some day we'll wake up and that doesn't work either.


Your reply is thorough and useful.  Thank you.

I would love to help but am not a software developer and have no useful knowledge of these things. My "software" skills are limited to mostly Python and Matlab, sad to say!  Glad I also have a PC that runs Windows, I guess.
Reading this /after/ updating my machines to Monterey 12.1 Cry

Saw the note on Bricksmith's Sourceforge page about work underway to correct for 10.15+ os versions which - irrc - was fairly recent (maybe this past Fall? I probably check for an update a couple times a year, tbf). I had experienced some instability on Catalina and previous OS versions (Command-W would crash the app) but hadn't considered how severely 'unusable' Bricksmith might be on more-recent OS's.

Is work active to revamp Bricksmith, or is that an old note? I'm holding out hope anyway... I adore Bricksmith and have used it now for close to 15 years (and really don't like working in Stud.io). Who can I send beer money to?

Ryan
Prototyp
I'd suggest having a look at LeoCAD. It has a MacOS version and is being actively developed.
(2022-01-19, 6:11)Orion Pobursky Wrote: [ -> ]I'd suggest having a look at LeoCAD. It has a MacOS version and is being actively developed.

Thank you for the suggestion... Trying it out now.
Hello,

If you are not afraid to compile Bricksmith from source (from https://github.com/bsupnik/bricksmith), you can use Bricksmith with macOS Monterey.

I succeeded with my MacBooks Air (one with Intel-Chipset, and one with M1-chipset)
(2022-01-23, 10:59)Manfred Kern Wrote: [ -> ]Hello,

If you are not afraid to compile Bricksmith from source (from https://github.com/bsupnik/bricksmith), you can use Bricksmith with macOS Monterey.

I succeeded with my MacBooks Air (one with Intel-Chipset, and one with M1-chipset)

App compiling is outside my expertise. Curious tho how a new build resolves the fundamental issues between what the new OS requires and how the app was engineered?
(2022-01-26, 17:31)Ryan Hicks Wrote: [ -> ]App compiling is outside my expertise. Curious tho how a new build resolves the fundamental issues between what the new OS requires and how the app was engineered?

Allen Smith and some others are working on it - I am not involved, I am just watching.

From a technical perspective they first solved the layer problem with OpenGL which Big Sur introduced. 
So Bricksmith is still using OpenGL which is deprecated by Apple. The new 3D technology is called Metal which is supposed to replace OpenGL. I am just learning Metal and I can tell you, that replacing OpenGL is a major job to do.

But as long as Apple does not remove OpenGL, Bricksmith is working on Intel machines. Also the programming language "Objective-C" is still widely used - and my guess is that nearly all frameworks within Apple are written in Objective-C (apart from SwiftUI).

On M1 processors Bricksmith runs with the Rosetta2 simulator - and it is still very fast. Well, as far as I read, software under Rosetta2 is not simulated but translated into M1 instructions the first time it is run.

So bottom line:
As long as Apple does not ditch OpenGL Bricksmith is working if taken from the current sources on GitHub.
And as long as Apple does not ditch Rosetta2, Bricksmith will run on M1 as well.

And my last word. I am the one-eyed int the land of the blind. So there are experts knowing a lot more than I do.
(2022-02-01, 12:41)Manfred Kern Wrote: [ -> ]Allen Smith and some others are working on it - I am not involved, I am just watching.

From a technical perspective they first solved the layer problem with OpenGL which Big Sur introduced. 
So Bricksmith is still using OpenGL which is deprecated by Apple. The new 3D technology is called Metal which is supposed to replace OpenGL. I am just learning Metal and I can tell you, that replacing OpenGL is a major job to do.

But as long as Apple does not remove OpenGL, Bricksmith is working on Intel machines. Also the programming language "Objective-C" is still widely used - and my guess is that nearly all frameworks within Apple are written in Objective-C (apart from SwiftUI).

On M1 processors Bricksmith runs with the Rosetta2 simulator - and it is still very fast. Well, as far as I read, software under Rosetta2 is not simulated but translated into M1 instructions the first time it is run.

So bottom line:
As long as Apple does not ditch OpenGL Bricksmith is working if taken from the current sources on GitHub.
And as long as Apple does not ditch Rosetta2, Bricksmith will run on M1 as well.

And my last word. I am the one-eyed int the land of the blind. So there are experts knowing a lot more than I do.

Happy to hear Bricksmith's being worked on...

Perhaps useful context, the app ran well on my Intel MacBooks up until I updated them to the latest OS Monterey where it apparently cannot display any of the 3d layers. Previously one machine was on Catalina, the other on Big Sur and aside the command-w crashing the app problem, Bricksmith ran fine. 

I'll look into compiling from GitHub but I doubt I'll get very far
(2022-02-01, 15:37)Ryan Hicks Wrote: [ -> ]Happy to hear Bricksmith's being worked on...

Perhaps useful context, the app ran well on my Intel MacBooks up until I updated them to the latest OS Monterey where it apparently cannot display any of the 3d layers. Previously one machine was on Catalina, the other on Big Sur and aside the command-w crashing the app problem, Bricksmith ran fine. 

I'll look into compiling from GitHub but I doubt I'll get very far

Hi Y'all,

I think Allen has posted a real release that ships the latest code:

https://bricksmith.sourceforge.io/

Reading the release notes, I think 3.1 brings in a bunch of stuff:

- Allen fixed scrolling - this was a major impediment to running the code base on new OSes - basically the old scrolling tech was deprecated by Apple.
- This build has M1 support apparently, although from what my coworkers have told me with the M1, even in emulation it'd be fast enough. They're nice machines.
- It looks like a bunch of my UX features are rolled in, e.g. nudge piece along its own axis, jumping between main and sub-models, splitting out sub-models, etc.

So my _guess_ is that this build matches the tip of my github repo, which is what I run on my own Monterey machine (once a month).  I pinged Allen to see if he has a mirror of the repo, e..g so we could get some release tags in the source, but hopefully this unjams people who can't build.

(I _think_ the latest code should be happy to build on the latest Monterey build tools, but I am not sure.)