LCC on a regular desktop Linux is kind of bad.

Organizing tasks to work on, New Features Ideas, Building LCS & LCB Libraries & Widgets, Redecorating and Modifying the IDE, Hacking / Editing Tools, Compiling the Engine from Source, etc.
Post Reply
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

I got a version of Ubuntu set up on Intel 64 bit (7th Gen Core i7) laptop with KDE Plasma to an executable level, and themes selected it to basically look like macOS dark mode. Nothing really special, everything straight from the package manager. I had run LCC 6.x and 7.x on a Raspbian on a Raspberry Pi 3, and it seemed OK except for the problem with dragging and dropping a browser widget. I expected similar or better experience on a perfectly normal laptop with LCC 9.6.3...

So then I installed LiveCode Community edition and copied over my builder wrapper for libFluidSynth (which I hadn't yet tested on Linux). My immediate impression was that LCC is not very good at all on Linux!
  • The UI Graphics / Palettes are not setup for Dark Mode, which I already knew from testing darkMode handler in my macOS Tools Extension.
  • There's still the problem with dragging and dropping a browser widget, it sort of works sometimes but then I can't open anything else, such as the property inspector, once the widget is placed. The workaround of using the menu to create the widget still works normally, so it must have something to do with drag and drop from the tools palette.
  • The Tools palette and other windows seem to randomly disappear, I'm not sure if this is due to a few KDE eye candy effects that I turned on, but I expect the average Linux user would customize the user interface settings somewhat.
    I may switch to XFCE, MATE, etc. to test on those, but KDE Plasma is a quite popular Linux Desktop Environment, and the newer versions are as low-resource-using and responsive as XFCE, so IMO it should be supported, at least not break. Pehaps there's something generally wrong with the "palette stack" command on Linux?
  • The dictionary stack window doesn't open, at all! The dictionary stack uses a Web Browser Widget and a generated local website that contains the Dictionary, but it didn't load any stack, I guess it tried to "launch" the index html with a web browser but on my fresh install it launched an eBook editor instead (which I went ahead and converted to eBook file since I was already there). This might be replaceable with something like BN's tinyDictionary or similar, but a syntax Dictionary is absolutely essential to have.
  • The browser widget also uses an already outdated version of CEF (Chromium Embedded Framework) so if use it with a Google site, such as the Google search page, you get a message saying you need to update to the latest version of Chrome. LC Ltd. Google (Alphabet Inc. or whatever) has dropped support for Chromium, but it is still being supported by the open source community themselves. I believe has switched to WebKit on all platforms, which they had already done on macOS some years ago. This is the better way in my opinion, as CEF adds 10s of megabytes to the size of a Standalone App, but using the Operating System's existing Web View adds little to a standalone app's size. I understand and extra 50 or 70mb might now be that big of a deal to most people now days, but it might be to some. Interestingly it seems Google is still supporting the PDF rendering engine from Chromium as a separate spin-off project called PDFium.
  • The wrapper Extension for FluidSynth which I've tested on macOS and Windows, did not work at first. I had expected it to automatically find the libFluidsynth libraries that were already installed and working with other apps on the machine. Seems like the Builder VM should look for external libraries in their standard Linux locations first to see if the lib is already installed there, but it doesn't. So I dug down from root/ until I found the libFluidsynth library and copied that binary to the LCB extension's /code/X86_64-linux/ folder and then the extension did load the foreign library (it prints its version number in the log field when it loads), but I get no sound coming out of the speakers. I'm going to work on that to see if it just needs some platform specific adjustments (explicitly indicating the audio driver to use instead of FluidSynth default), might have to add the other libraries that libFluidSynth are dependencies on, like libSndFile, to that code folder too, seems like a waste of space to have to have duplicates of the libFluid library and dependencies in the code folder, on the other hand this makes it highly "portable". At least I know I'm on the right track with Builder on Linux.
Tomorrow I plan to add the OXT modded IDE files to a copy and see how that goes.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

OpenXTalkPaul wrote: Thu Oct 28, 2021 9:17 pm [*] The wrapper Extension for FluidSynth which I've tested on macOS and Windows, did not work at first. I had expected it to automatically find the libFluidsynth libraries that were already installed and working with other apps on the machine. Seems like the Builder VM should look for external libraries in their standard Linux locations first to see if the lib is already installed there, but it doesn't. So I dug down from root/ until I found the libFluidsynth library and copied that binary to the LCB extension's /code/X86_64-linux/ folder and then the extension did load the foreign library (it prints its version number in the log field when it loads), but I get no sound coming out of the speakers. I'm going to work on that to see if it just needs some platform specific adjustments (explicitly indicating the audio driver to use instead of FluidSynth default), might have to add the other libraries that libFluidSynth are dependencies on, like libSndFile, to that code folder too, seems like a waste of space to have to have duplicates of the libFluid library and dependencies in the code folder, on the other hand this makes it highly "portable". At least I know I'm on the right track with Builder on Linux.
So after copying glib libraries and other dependencies of libFluidSynth to the Builder/Code/X86_64-linux/ folder the Extension still wasn't producing any sound. After a little bit of research I found out there's a setting to make that makes FluidSynth auto connect to JACK audio APIs, and the default is auto connect OFF (0). I changed the LCB to set it to ON (1) in the initialize handler and BINGO! I'm Playing virtual piano in OXT on Linux 64bit, yeah!

Now I'm thinking I might be able to remove some of those dependency libs from the "code" folder, have to do more testing. However leaving the dependencies ensures they will be present, making it inherently more 'portable', but most of these (the glib libraries at least) are pretty much standard on most desktop Linux distros, and they make the extension much larger (like 30mb larger vs. 1mb). Android is a bit different even though Android is technically Linux underneath, Apps on Android are more like isolated containers. Now this container idea has spread to other Linuxes with things like AppImage becoming popular, so I'm not sure which is the best way to go here?
Maybe I should just create seperate versions of the Extension for distribution, that way you just grab the ones for the architecture and such that you want? That way I would have one that is "X86-64bit-Linux with all dependencies", one that is "X86-64bit-Linux minimal dependencies", one that's "ARM7-Linux minimal dependencies", "X86-64bit-mac","X86-64bit-Windows", etc. etc. and one huge version that has all of them combined that works on any supported platform.

I would like to get some opinions on this, from Linux users preferably, in regards to dependencies.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

Also, it seems by default LCC will launch additional instances of the IDE when I double click a stack file in the file manager (I'm currently using KDE's default Dolphin File Manager), is there a GUI utility or something to change this behavior?

*I just added another list item, in the first post, about Browser widget's CEF framework being expired/outdated.
User avatar
richmond62
Posts: 2620
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by richmond62 »

As I wrote earlier, and will reiterate here: LC runs (except for the 'complete and utter bollocks' with the
dictionary loading in a browser and occluding the whole display) as smoothly for me on Xubuntu 21.10 as it does
on MacOS anything from 10.4 to 12.1.

I cannot commend Xubuntu enough.

Yes, you do get multiple instances of the IDE IFF you click on a file to open it;
so, don't; open it through the IDE.
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

richmond62 wrote: Mon Nov 01, 2021 9:50 am As I wrote earlier, and will reiterate here: LC runs (except for the 'complete and utter bollocks' with the
dictionary loading in a browser and occluding the whole display) as smoothly for me on Xubuntu 21.10 as it does
on MacOS anything from 10.4 to 12.1.

I cannot commend Xubuntu enough.

Yes, you do get multiple instances of the IDE IFF you click on a file to open it;
so, don't; open it through the IDE.
I'd rather figure out how to make it so it doesn't do those things.
User avatar
richmond62
Posts: 2620
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by richmond62 »

I'd rather figure out how to make it so it doesn't do those things.
The "thing" with the dictionary coming up in a browser window says an awful lot about LiveCode's attitude
to running LC on Linux (well, that, and testing it on Ubuntu 16.10) . . .
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

richmond62 wrote: Tue Nov 02, 2021 7:55 am
I'd rather figure out how to make it so it doesn't do those things.
The "thing" with the dictionary coming up in a browser window says an awful lot about LiveCode's attitude
to running LC on Linux (well, that, and testing it on Ubuntu 16.10) . . .
I was thinking there could be an option to use something like Bernd's tinyDictionary or work on updating the old LCC v.6 Dictionary as a alternative to using the BrowserWidget based dictionary, but I haven't looked into the problem with the BrowserWidget based dictionary with it on Linux yet (which might be the easiest route to go).
User avatar
richmond62
Posts: 2620
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by richmond62 »

I have the feeling that the Browser Widget is 'NOT' on Linux.
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

richmond62 wrote: Tue Nov 02, 2021 4:39 pm I have the feeling that the Browser Widget is 'NOT' on Linux.
It is, and it works, but there is a LONG standing (had same problem with v7 when I tried on a a Raspberry Pi) problem with dragging a new instance of it from the Tools palette.
If you create a Browser Widget instance from the MenuBar->Object->New Widget menu item it creates it fine.

If you set the URL to a Google run website however, you will get a message about updating to the latest version of Google's Chrome. This message is because the Browser Widget in 9.6.3 and below uses Chromium Embedded Framework (CEF) on Windows and Linux (it used to use CEF back with the revBrowser external on macOS too) and CEF is no longer supported by Google (there is still community builds of CEF) and the CEF build that's included is now an outdated version number.
User avatar
richmond62
Posts: 2620
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by richmond62 »

"Long Standing Problem"

Several:

1. Cannot be arsed to sort out 'trivial' problems that have been present in LiveCode for ages
because it is 'more important' to focus on 'the next big thing'.

2. Marketing. Those pretty girls on the 'education' page have already developed stable relationships,
got married, had babies, won prizes for programming with other languages than LiveCode . . .

3. Education . . . get me started.

The "cross-platform" claim started to look like bollocks when Linux went 'sub' and then
the discrepancy people are now noticing between the Windows and the Macintosh versions.

IFF I were very, very rich indeed (fine thing that would be), I'd find a way to buy at least a controlling interest in LiveCode,
move in (sleeping bag on the floor) and STOP all further development whatsoever except for a Mac ARM engine.

I would have all their developers retrench to version 8 and work like buggery to sort out ALL the bugs at that point,
go through an extremely rigorous bug-testing cycle, and then release THAT as "LiveCode Reborn" or something
equally corny.

I would STOP any attempt at the HTML-web-thing chimaera as, now in its second attempt,
it seems to be getting nowhere and using up resources that are better employed elsewhere.

I would also buy/steal/borrow a biggish house in the country near Edinburgh and set up FREE
3-4 day residential courses for Primary and Secondary educators where, at 8 hours a day, they
could be dragged (screaming if necessary) into how bloody fantastic LiveCode IS exactly
for school children.

If someone else can manage that, I'll come and run the residential courses for a decent salary!
-
ND.png
ND.png (17.02 KiB) Viewed 11805 times
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 2620
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by richmond62 »

Getting back to: "LCC on a regular desktop Linux is kind of bad.

My simple answer would be, "It depends what you expect."

Certainly, moving from Macintosh across to an Ubuntu-based distro can be a bit disappointing IF
you focus on what are, bye-the-bye, what are fairly gratuitous cosmetic effects provided by the
Macintosh family of systems.

However, I'd like to say somethings here in support of Linux, which has been said many, many times before,
but possibly not in this context:

1. There is NO Operating System called 'Linux': there are a vast number of Operating Systems running the whole gamut from
"bloody marvellous" to "out-and-out crap" that use the Linux kernel as their 'seed' and are then built up from components
a bit like I built houses and so on from LEGO when I was about 8 years old.

2. As the Macintosh system is fairly monolithic and produced and controlled by one company with a benign (gosh, I hope so)
dictator up the top, it is relatively easy for the folk at LiveCode central to make sure that LC-for-Mac behaves itself, by-and-large,
on the Macintosh OS.

3. Similar things can be stated with regard to MicroSoft Windows.

4. Re Linux . . . well . . .

4.1. LiveCode may be guilty to a certain extent as they seem to test their versions on a single machine running Ubuntu 16.something.

4.2. In mitigation; it is probably expecting "a bit much" for LiveCode to have a room full of 50 machines running 50 distros of Linux
and pay a cohort fo people to do rigorous testing of each LC version on all of them.

.
.
.

7685. I have run LC successfully (both as a programming environment, and standalones) on Xubuntu through every version of that
confection (Ubuntu & XFCE & twiddly bits) for 15 years (before that I used Ubuntu) with the obvious "grunts":

7685.1. Dictionary in web-browser.

7685.2. Forget audio and video.

7685.3. The IDE and standalones will launch multiple times unless (in the case of standalones) you build in code to prevent that, or you
nail your clicky finger to the floor.

-------------------------

Personally, I think the "Dictionary in web-browser" thing is a shame, but it is NOT fatal: after all, NO Dictionary would be far, far worse.

The audio-video thing is the greatest weakness. But I feel that, at present, audio-video is LC's greatest weakness right across all
the desktop platforms it is meant to deploy on, as the "code once, deploy everywhere" is just not true, as on WIN and MAC audio-video
handling is also not the same.

IF the IDE could have an in-built, cross-platform way of handling audio-video so programmers could "code once, deploy everywhere"
that would lift things re audio-video out of the slough of despond to a new dimension that would benefit it greatly.

-----------------------

"Voices in my head" started whispering 'VLC' a while ago.
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 2620
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by richmond62 »

Well, I dunno very much, but I use VLC on every platform I have to shake a stick at,
and as it is open source . . . maybe, just maybe, the bits of it that "do" could be
stirred into the soup.

https://www.reddit.com/r/raylib/comment ... thub_link/

That looks like a bad case of "great minds think alike." 8-)
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

xAction wrote: Mon Nov 15, 2021 12:23 pm VLC you say?
That would be my preference, that's been my preference even of macOS for playback for decades now, and you can get it in libVLC form for Builder wrapping and it's been ported to all the desktop and mobile platforms.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

richmond62 wrote: Mon Nov 15, 2021 10:11 am
Certainly, moving from Macintosh across to an Ubuntu-based distro can be a bit disappointing IF
you focus on what are, bye-the-bye, what are fairly gratuitous cosmetic effects provided by the
Macintosh family of systems.
I think that's a common misconception, above the hood it's got some gratuitous cosmetic effects, most if not all of which can be fairly easily mimicked on Linux (MATE w/Compiz or KDE Plasma can give you some great eye candy), but it's the under the hood things that I miss most when jumping over to Linux kernel based OSes (and Windows too).

And I'm not just talking about the tight application interoperability that comes with Cocoa (NeXTstep APIs)... take low-latency audio for example, Ubuntu Studio runs in a special low-latency mode, macOS (>OS X) was built with that in mind from the very start. On most Linuxes and Windows there isn't even any MIDI device manager by default as far as I can tell. For inter-application MIDI on Windows I had to go find some 3rd party loopback driver on some dude's website. MacOS comes with an Audio and MIDI Manager pre-installed, has inter-app MIDI AND MIDI over IP, again by default, from the beginning (or at least early on) of Mac OS X.

Here's a question that I don't know the answer to...
How do I do an equivalent of "Reveal in Finder" with let's say XFCE's file manager?
Reveal in Finder is where it brings up a Finder / FileManger window and select's the file from a provided by a file path parameter.
I'm not even sure if there's an equivalent with VBAScript on Windows?
I'm not saying it's not doable on those but I don't know how.
It's pretty easy to do on macOS either via AppleScript or even on the Bash command line (there's probably a way to do that with Mac's JavaScript for Automation too).
FourthWorld
Posts: 280
Joined: Sat Sep 11, 2021 4:37 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by FourthWorld »

OpenXTalkPaul wrote: Mon Nov 15, 2021 11:39 pm How do I do an equivalent of "Reveal in Finder" with let's say XFCE's file manager?

Code: Select all

launch url "/home/user/foldername/"
Should work on all desktop platforms.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

FourthWorld wrote: Tue Nov 16, 2021 1:23 am
OpenXTalkPaul wrote: Mon Nov 15, 2021 11:39 pm How do I do an equivalent of "Reveal in Finder" with let's say XFCE's file manager?

Code: Select all

launch url "/home/user/foldername/"
Should work on all desktop platforms.
Doesn’t work on macOS 11.6 (Big Sur)
Edit, it does work if you add the protocol part “file://“
And anyway that’s only halfway, that should open the folder, but then how would you tell XFCE to select a file in that folder?
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by OpenXTalkPaul »

OpenXTalkPaul wrote: Tue Nov 16, 2021 3:32 am
FourthWorld wrote: Tue Nov 16, 2021 1:23 am
OpenXTalkPaul wrote: Mon Nov 15, 2021 11:39 pm How do I do an equivalent of "Reveal in Finder" with let's say XFCE's file manager?

Code: Select all

launch url "/home/user/foldername/"
Should work on all desktop platforms.
Doesn’t work on macOS 11.6 (Big Sur)
Edit, it does work if you add the protocol part “file://“
so:

Code: Select all

 launch URL "file://" & the  specialFolderPath of  home & "/Documents/My OpenXTalk"
opens the OXT customization folder on macOS (there's actually a revIDE function that get's that more directly and specific for platform) :)
But anyway that’s only halfway there, that should open the folder, but then how would you tell XFCE to select a file in that folder? I don't mean launch it, just highlight it in the directory in the file manager.
User avatar
richmond62
Posts: 2620
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: LCC on a regular desktop Linux is kind of bad.

Post by richmond62 »

LCC on a regular desktop Linux is kind of bad.
Only if you are looking for fairly tangential features that are not central to what the thing exists for:

Writing programs to run on computers.

Also, at the risk of sounding slightly nasty, my Mac Mini cost on the sunny side of $900 (which, for a Macintosh machine is extremely cheap0,
while I can run an Linux distro with XFCE or LXDE as a window manager on something I can pick up for $20, or, honestly, have chucled at me
by anyone glad to find a new home for their "old shit".

At that price difference I do not feel LiveCode users have a leg to stand on complaining that LC does not "run the same" on
their "old, raddled whore" as on an extremely expensive "courtesan" produced by Apple.

My ASUS laptop that cost $400 (mid-range round these parts) and runs Xubuntu 21.10
(my choice: not the tosser inthe shop who was well effed-off
he had to reduce the price of the thing by $100 because I did not want OEM Windows 8 installed on it)
does 98% of what it does on MacOS 12 with LC 9.6.3.
https://richmondmathewson.owlstown.net/
Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests