• 87 Posts
  • 117 Comments
Joined 2 years ago
cake
Cake day: June 14th, 2023

help-circle




  • Ah I had the same issue. JavaFX still uses X11. By default VSCode only lets X11 be used if Wayland is not available (this is the X11 fallback permission). Disabling X11 fallback will let VSCode use Wayland and let JavaFX use X11. I might make an issue for this on the flatpak’s GitHub asking for this change.

    Honestly, the truth is that setting up containers for development will always be a hassle. My low tech way is just to make a distrobox container with its own home folder, install an IDE in it, and install packages. The more proper way to do it would create your own containerfile to build your container for developing.

    VSCode also has its DevContainers extension but that doesn’t work in VSCodium and does some weird things.


  • Flatpak’s usefulness for programming depends on the IDE and language. IDEs like VSCode largely suck because they are not designed to work in flatpak. But some languages still do work well in them, such as Rust, since Flathub provides the Rust SDK and dependency management is done with cargo. But it sucks for C++, where you typically install dependencies using your system package manager.

    IDEs like Gnome Builder are pretty good. It’s designed to work within the flatpak sandbox. Even when running as a flatpak, you can choose to build things using containers or your host system. And of course also build using the Freedesktop runtimes.

    I recently setup JavaFX with the flatpak version of VSCodium and have it working pretty well. You first need to install the Java SDK from Flathub, set an env variable to tell VSCode to load the SDK. The more annoying part was JavaFX since it’s not part of the JDK anymore. I just downloaded the JavaFX tar, extracted to a directory called JavaFX, and set $JAVAFX_HOME to point to it. Since VSCode has host filesystem access, it can access it. Few more steps than traditional Linux, sure, but still easier than MacOS and Windows.

    Not sure about your database situation though.




  • Don’t believe so, best that’s currently available is skimming through the video to look at the slides.

    Here’s my short summary of the presentation, I tried to denote what’s being worked on (open PR), what’s kinda being done (WIP), and things stuff they’d like to be done in the future (wishlist). May be somewhat wrong.

    • Flatpak is stagnant
    • Red Hat is working on a better way to preinstall flatpak apps (open PR)
    • Flatpak should is slowly moving towards OCI and away from ostree (more tooling available, don’t need to maintain their own tools)
    • Better permission handling that is more backwards compatible (open PR)
    • Should directly use Pipewire instead of Pulseaudio (WIP)
    • Allow user namespaces in flatpak sandbox (WIP)
    • Move dbus proxying into dbus brokers (wishlist)
    • Improve network sandboxing (wishlist)
    • Improve drivers handling, currently drivers need to be built for each runtime, could cause issues if using EOL app on new hardware (wishlist)
    • Work on portals directly improves flatpak



  • That laptop setup is actually insane. I love the “roleplay” he had set up for it, making it seem like a computer used at a nuclear reactor (though the more realistic setup would have been to install Windows XP with default background).

    Also funny to see him doing more complex things like setting up a systemd service to hide and show waybar dynamically.






  • This is overly complicated. Just install Java then run

    flatpak --user override --env="FLATPAK_ENABLE_SDK_EXT=openjdk" com.vscodium.codium
    

    Note this works for all other SDKs too. It works especially well for programming languages like Rust that have their own package manager.

    Doesn’t work so well for languages like C/C++ where you use your distro package manager to install dependencies. In those cases it’s easier to install VSCodium inside a container where you do have access to a distro package manager.







  • I haven’t watched the video yet, but keep in mind “resource usage” being lower isn’t always better.

    For example, Plasma had an issue for some people where animations would not happen, freeze the system momentarily, and stutter. The reason why turned out that these people were using slow drives. Plasma was trying to load the bytecode for the QML animations from disk, but the IO operation took too long so the animation suffered. Had this bytecode been stored in memory, the performance would have been better.

    But I also don’t want to discount the fact that some (perhaps most) of the time, high resource usage is a bad thing caused by poor programming and using technologies that are heavier, like Electron. Whether those tradeoffs are worth it are another matter.

    I wish more developers actually used their software low-end devices to find performance issues. I recently got an Intel N100 and it’s actually been a decent experience on Linux, though Gnome shell’s animations are a bit stuttery even on Gnome 48. Haven’t tested any other desktop though.