Would like to dual boot Linux, which Ubuntu would you recommend (for a developer)?

Currently I have Windows 11 Pro running as my daily driver, and have very causal Linux user skills. I have a spare NVME drive, so I thought I would do the responsible adult thing, and install some form of Ubuntu on it and dual boot.

Why Ubuntu and not XYZ?
I tried Dapper Drake a long long time ago when Ubuntu was the recommended thing for beginners (and in some sense it probably still is) and I liked it, so let’s start there. I’ve been running a VPS with Ubuntu Server for a very long time, so I have the sudo apt-get update etc. etched into memory, not really looking to learn another package manager or shell.

Since then maybe Ubuntu grew a bit too big? Maybe lost some values? Maybe top Google results are fake news? Anyway I’m also open to other distros that don’t stray too far. Google told me about Linux Mint, Elementary OS, etc.

I don’t need baby’s first Linux, just need something I can stick with. I already have Ubuntu 21 on my USB drive, but I thought I’d ask first, so I don’t need to go through breaking my dual boot for a new distro.

The reason I want to install Linux may be silly, but it’s lm-sensors. It supports my network card sensors.

Anyway, I’m a .NET developer, and since .NET Core is a thing, cross platform development is viable. Not saying I’ll be leaving Windows behind, because I need to remote desktop into my work computer, but maybe being forced into a different environment from time to time, I’ll come out as a better developer.

My specs are: Ryzen 5900X, Radeon RX 6800 XT, Gigabyte X570S Aero G, Kingston 32GB@3600 ECC memory, ASUS XG-C100C 10Gig network card, 3 monitors: 1440p@144 1080p@144, 1080p@60.

1 Like

KDE Neon removes all the heft a full LTS install has and just gives you core KDE apps that remain up to date. My Blackboard dev friend uses KDE all the time, so having a rolling version of KDE on top of a minimal Ubuntu LTS install is good.

Just stick to the latest LTS, as upgrading Ubuntu often blows everything up, which requires a lot of skill to fix. LTS will allow you to avoid it longer.

You can remote access Windows from Linux. I was forced to for a couple of months. I recommend Remmina.

So Gnome is not the way to go? 20+ years ago KDE was the fancy but slow one to avoid, so that changed then? (Holy shit 20 years…)

Or am I talking about something totally different?

roger that

sounds good, thanks

Many things have changed. I went through all that 4 months ago. My last Kernel was 2.6 and I couldn’t run KDE because it needed so much ressources. Today you can choose from like 10 desktop environments, but it’s more a matter of taste and customization. Got Gnome on my laptop and KDE on my desktop.

RDP clients are available and you can always use the power of virtualization with QEMU/KVM to run other Windows/Linux machines you may want/need for compatibility or testing. Way easier and less risky to set up than dual boot. I do remote into my Win10 Pro machine sometimes, but not so much lately.

Good luck with your work!

I mean, it has the most customization if you use a IDE that integrates with KDE.

Not sure if I’m thinking of the same thing when you say customization, but I’m not looking for any customization, I use stuff as they are out of the box mostly.

Anyway, I’m typing this from a fresh LTS Ubuntu install. So far so good.

1 Like

Hmm, well GNOME is definitely a “it just works” (sorry for quoting Jenson Huang) thing. If you’re looking for something lightweight Xfce is always an option even though you did the vanilla LTS install.

Looks like you are good to go, If you are installing Ubuntu into the spare, then you can F8 into Ubuntu when you want, restart and boot into the other drive when you want. That way you don’t have to use grub with M$ boot loader on the same drive.

That is a great place to start.

Since you have experience with no-GUI Ubuntu already, some type of Ubuntu is almost certainly the way to go.

This is new enough that Ubuntu LTS is probably a bit old and may have bugs for this, so Ubuntu 21 sounds good.

If Ubuntu LTS works, then that is great, just if you have bugs relating to the graphics card, then normal Ubuntu might help.

Both are perfectly serviceable these days. Gnome is the most polished (for a given value of polished), but there are more things that you can’t easily change. KDE has more customization, but more rough edges.

[quote=“romeozor, post:4, topic:178642”]
Gnome is not the way to go? [/quote]

IMO, no. The Gnome project has got very Apple-like, deciding what’s best for you, and simplifying (aka dumbing down) to suit a broader range of users, and that’s not me, or developers generally IMO. I’m barely managing to resist the urge to rant…

Not now. KDE did a rewrite (“plasma”), landed 6 years ago, that made it much leaner. You can still use themes that make it slow, like having live video playing as the background (f.ex. the live stream from the ISS).

Which Ubuntu for KDE? That depends what kind of development you do, I think. For me, LTS releases can be too far behind for some software; there’s solutions to that, like using the backports ppa or building from git, but that can get problematic. For some developers, KDE Neon gets the latest KDE on an LTS base and does the trick. The non-LTS KDE means you have a big upgrade every six months or so, but @dext’s “often blows everything up” can be mitigated using btrfs. For some even non-LTS Ubuntu is too slow and they need a rolling release like Arch or some of its derivatives.

In fact, for a developer btrfs is very good. Several distros have made it the default (Fedora, OPENSuse). There’s a learning curve to take full advantage of it, though.

I used to dual-boot, but running Windows in a VM works better for me. Other developers lose time while Windows forces a long-running update while I let it do it’s thing in a minimized window.

1 Like

You can solve most of the Mesa issues using the kisak-mesa repository. The only crucial thing hardware wise is having an up to date linux-firmware-git.

Valve recommends ARCH with Plasma (you could try Manjaro) since that is close to what the Steam Deck will be running on, IF that is something that concerns you as a developer.

ARCH has benefit of having things packaged in a very raw fashion so its easy to use it for packaging for other Distro systems, however I like the idea of appimages personally…

I recently transferred off Ubuntu and GNOME having used them both for ~5 years. I will report my experience, but it’s always a matter of opinion. I switched to Arch and KDE and I have no regrets.

I would use Ubuntu for a while, a year or two, and eventually 100% of the time I would run in to some dependency conflict that could not be resolved automatically with aptitude. Figuring out the problem - which was in many cases due to NVIDIA drivers - would normally cause me to fuss about for a day or so and lose productivity until I resolved the issue. In most cases it was apparent that it would be easier to burn everything down and start fresh rather than deal with dusty conflicting outdated libraries. I use academic software that sometimes require version-controlled libraries so conflicts are inevitable. Some “solutions”, like conda, introduce their own issues, and I now consider the whole OS as a disposable thing if I’m installing system-wide libraries.

So, I’ve moved to a workflow where I keep one stable, reliable host system, and use VMs as sandboxes where I don’t have to care when dependency conflicts arise. There are ways to provision VMs such that you ensure a re-buildable environment and those seem cool (Ansible, Terraform, etc.). But I do this the old-fashioned way, installing all the software I like, then making a QEMU snapshot. Your mileage may vary.

The chatter online warned that Arch would be unstable and unreliable because it’s a rolling-release. On the contrary, it’s been easy to handle because my kernel and video drivers are now consistently up-to-date (I did also switch to an AMD GPU and the experience has been very positive). I’ve learned better than to lazily copy+paste the first “sudo apt install whatever” that I find on StackOverflow.

So now I’m one of those horrible Arch evangelists. Give it a try, and try doing it yourself without any fancy GUI installers or install wrappers. You might find the experience rewarding, as I have.

As for KDE vs. GNOME, KDE just seems much more flexible and light-weight to me. IMO you could more easily replicate the GNOME experience with KDE than vice-versa. Anecdotally I never run into silly display errors with KDE, whereas with GNOME I’ve had to learn that some issues just require an Alt+F2, R every once in a while. Why?! Why do I need to learn this in order to use the supposedly “easy”, “just works” desktop environment?

I also use X11 instead of Wayland because I do things like SSH tunnelling, Remmina (works great btw), etc., things that I have had issues with on Wayland. X11 is just more mature.

To summarize, I personally think it’s worth giving Arch a try. If you insist on aptitude as you have in the OP, I think I’d prefer Debian with a manually-updated kernel and GPU over any Ubuntu variant. You’ll probably end up having to manually update the Ubuntu kernel and drivers anyway; plus, you get to support Debian free of Canonical’s creepy tendrils.

If I were to do a dedicated dev build of Linux, I think I would start with Debian. The amount of resources available for all Debian based distros makes it a easy to develop on and with a large range of projects.

The main reason I wouldn’t use Ubuntu for a development platform is primarily because flatpacks and snaps. I want to control all of my code.

1 Like