Sounds like distrobox/ toolbx would be the easiest here. There's an ubuntu 18.04 image here https://github.com/toolbx-images/images it's like a vm without all the overhead
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Since they already mentioned WSL, you can also describe distrobox like WSL for Linux.
but yeah, agree this would be the simplest.
I'd say distrobox is the easiest and safest way to do that.
Ubuntu themselves package ROS, it's a little out of date from the latest (1.16 vs 1.18) https://packages.ubuntu.com/jammy/ros-desktop
Try apt update && apt install ros-desktop
I don't have much to comment on native installs that hasn't already been said, but if you go with a VM, please don't use VirtualBox. It's a pile of hot garbage that pales in comparison to the already existing, kernel-level virtualization offered by KVM/QEMU. Use a package like virt-manager
for KVM/QEMU based VMs and your experience and performance will be infinitely better. The Linux kernel has KVM built in for a reason, so take advantage of that.
Otherwise, Distrobox is a great recommendation, as are many of the other install methods listed in these comments.
For maximum performance you probably want to skip virt-manager, virt-viewer has a hardcoded FPS cap.
If you use QEMU directly and use virtio-gpu paired with the sdl or gtk display, and OpenGL enabled, you can run Ubuntu at 4K144Hz no problem. The VM is near imperceptible, and it works out of the box, that's not even touching the crazy VFIO stuff.
Perhaps I was a bit vague with the word "performance", but given that this user only seems to be interested in running ROS, there is absolutely no reason they need anything above the FPS cap (hence my recommendation of virt-manager
, as it is quite user friendly). The "performance" aspect of it boils down to CPU utilization and efficiency more than anything.
Install from source is fairly likely to work: https://wiki.ros.org/noetic/Installation/Source
It doesn't seem to have any outrageously complicated dependencies to work, just C++, Boost and a few other recognizable names, at least at a glance. They also seemingly have an ArchLinux package, which means it's likely to at least be buildable on latest everything. Mint will fall in between, so the odds it'll compile are pretty good.
In general this kind of thing won't work real real well. You can sometimes make it work but it takes a surprisingly large amount of knowledge about the internals of the packaging system and even then it sometimes fails or causes problems.
I would try install ROS 1 via apt
as another poster recommended, with VirtualBox as the fallback option (and see whether performance turns out to be a real issue in practice or not).
May not qualify as "simple" versus a VM, but you can try using chroot environment. You essentially run minimal Ubuntu environment from a folder that can be a newer or old version of the host OS.
Both Snap and Flatpak provide an easy install for the really old, pre 1997, NCSA Mosaic browser. The Snap page gives a hint about how this was done :
Built from source code hosted at: https://github.com/alandipert/ncsa-mosaic Thanks to John Lenton for the snapcraft config.
This suggests that if you can build the ROS 1 from source, you have Flatpak and Snap as option, and maybe also AppImage.
Besides that there is also Linux KVM (QEMU) which may perform better than VirtualBox. Cannot find a good page for Ubuntu on it, but here's the KVM entry of the excellent Arch Linux wiki https://wiki.archlinux.org/title/KVM
Try it?
I haven't really needed to virtualize anything lately, but my understanding is that some of the options on Linux are pretty light weight. Frpm discussion I've seen, I think distrobox could resolve the issue with minimal overhead if you have issues natively, though I haven't personally experimented with it or its limitations.
You can always try.
However, be aware that adding third party repositories may cause problems in the future. For example, if you upgrade to a version of Mint that's based on 22.04 or 24.04, the updater may throw errors or even do an incomplete update because of broken dependency chains.
If the software you're using doesn't depend on (a specific version of) software in the Mint repositories, you should be fine and it shouldn't matter. I myself have a few external repositories that I know from experience cause no dependency issues. I've also had to debug plenty of broken upgrades because of other (popular!) repositories, though.
You may want to use a tool like Distrobox instead. Binaries running inside Distrobox have close to zero overhead. GPU acceleration can be a bit trickier, but for Nvidia GPUs there are workarounds to maintain full performance.
You can also try the version of ROS that Ubuntu packages. It's not the latest version, but it's guaranteed to work without breaking your software updates or operating system upgrades in the long term.