this post was submitted on 25 Nov 2023
79 points (91.6% liked)

Linux

47952 readers
1531 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I currently use Windows 10 and I’d like to try out Linux. My plan is to set up a dual boot with OpenSUSE tumbleweed and KDE Plasma. I’ve read so many different opinions about choosing a distro, compatibility with gaming and Nvidia drivers, and personal issues with the ethos of different companies like Canonical. I value privacy and I’d rather avoid a Linux distro that’s implementing something like ads or telemetry…if that’s even a thing that’s happening?

As a complete beginner, what sort of advice would you all have for me? Should I avoid OpenSUSE or KDE Plasma for some reason? Are there any ‘10 things to do first when installing Linux for the first time’ recommendations?

Despite all the ‘beginner friendly’ guides and tutorials around, I still feel a little lost and like I’m going into this blind.

EDIT: Thanks to everyone who's offered advice, I really appreciate all the help and the patience with my dumb questions! There's a lot to look through and it's been a busy day for me, but I'll get back to reading through everything and replying as soon as I can!

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 35 points 11 months ago* (last edited 11 months ago) (4 children)

My big question would be why are you starting with a dual boot? I would recommend trying each one with a liveUSB or in a virtual machine and simply do a single boot with the one you like better. There’s likely little need for you to actually maintain two distros unless you have a very niche use case that one distro can’t solve.

My advice would be to just relax and realize that the underlying OS is 90% the same regardless of what distro you choose. All the discussion you see on different distros, package managers, snaps, wayland, etc. are all the other 10%. It really doesn’t matter what distro you start on as long as it’s a general purpose distro (both of the ones in your OP are): once you learn the first 90% of linux, you’ll develop your own tastes, and then you’ll be able to decide on the remaining 10%.

[–] [email protected] 17 points 11 months ago (2 children)

I think he wants to dual boot tumbleweed and windows, not two linux distros.

[–] [email protected] 10 points 11 months ago (7 children)

Yeah. I probably should have been more clear about that.

load more comments (7 replies)
load more comments (1 replies)
[–] [email protected] 4 points 11 months ago (1 children)

This is the sensible thing to do. Try a bunch of distros using either USB or as Virtual Machines.

It'll save you a lot of heartache when you eventually kill the bootloader, the display driver or both (and you will, it is part or the learning process).

[–] [email protected] 2 points 11 months ago (1 children)

I don't understand the issue here. Does that mean I can kill my BIOS bootloader somehow? Or the display driver? And how would screwing up drivers on one SSD with Linux affect my other SSD with Windows? Sorry if these are dumb questions, I'm just trying to get my head around as much of this as I can.

[–] [email protected] 2 points 11 months ago

Windows likes to pretend it's the only OS in the world so it can overwrite the bootloader and you lose access to the Linux install.

But if you use separate disks for each there's a simple solution if your BIOS has a quick boot selection: install each bootloader on its respective disk and use the BIOS selector at boot.

Alternatively, install the Linux bootloader on the Linux disk; it will autodetect Windows and offer it as a boot option, but Windows won't be aware of Linux. In BIOS you set Linux as permanent boot disk in this case.

[–] [email protected] 4 points 11 months ago (4 children)

I want to maintain my Windows 10 install for now as a sort of fallback. I have a lot of random software installed for my university classes, and I don’t know about all the compatibility issues I might face with those. And letting it sit there in the background in case I need it for something feels safer than jumping head first into a new OS.

Trying out liveUSB or VM stuff seemed like it would be an extra hurdle in transitioning to Linux. Like, I want to get settled in and actually use it as a daily thing, not just browse the internet a bit here and there. If I don’t like the distro I choose, I can always just install another one, right?

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (1 children)

Oh, my misunderstanding, I thought you wanted to dual boot OpenSuse and KDE Plasma. Dual booting Windows 10 and one of those makes way more sense, especially if you have niche university software that was probably written 20 years ago for Windows XP service pack 2, is already barely compatible with Windows 10, and almost certainly never had a linux version. You definitely don’t want to gamble on abandoning Windows completely until after you graduate.

And yes, once you get comfortable installing a distro, it gets pretty easy to just install a new one.

[–] [email protected] 2 points 11 months ago (1 children)

Plasma is the desktop environment he wants on Tumbleweed. Neon is the KDE distro. I thought it was pretty clear he wanted to dual boot Windows tbh

[–] [email protected] 2 points 11 months ago

Oh goodness I have no idea where my brain was.

[–] [email protected] 2 points 11 months ago

A live USB would let you play around in a desktop environment for a bit to see if you like it before jumping in the deep end with it. But if you've already tried out KDE plasma and know you'll like it, then you're probably fine. I agree that you won't become familiar with a full distro without data persistence and repeated use.

Maybe at least live boot gnome if you haven't tried that one yet. Gnome and KDE are the most fully featured desktop environments, so they're natural choices for users coming from win/mac.

Yeah, you can always install another, but if you are going to do that every day or two before settling on one, maybe consider installing virtual box and trying out the distros like that first. Of course, if you're in a VM, it can be a challenge to get proper hardware acceleration if you're going to try out gaming.

At the end of the day, I think dual booting is a good idea, as long as you only use windows when it's your only option. That's what I do. It's easy enough to reboot if I need to play a game or use a windows specific app. More consistent than dealing with QEMU or something.

load more comments (2 replies)
load more comments (1 replies)
[–] [email protected] 17 points 11 months ago* (last edited 11 months ago) (8 children)

It's a bit of an unpopular opinion, but if you pick a mainstream distro there isn't a lot of difference between them. Especially to somebody who is new to linux.

With most any distro you can use KDE, gnome and other desktop environments. You can pick which one you want to use when you login. So don't think you're tying yourself to KDE if you install kubuntu or something.

If you want an easy way to switch to a new distro make sure you create a separate partition for /home. Then if/when you want to install something new you can have it overwrite everything except your home directory. So all your steam configs and games will be left untouched (for example). Alternatively just backup /home somewhere and restore as you need.

load more comments (8 replies)
[–] [email protected] 12 points 11 months ago (1 children)

For Nvidia I would recommend Pop!_OS since it makes things really easy. Either that or Debian with KDE. More mainstream = more users = better support.

[–] [email protected] 8 points 11 months ago (1 children)

Linux Mint works really well with Nvidia, too!

[–] [email protected] 6 points 11 months ago

I keep hearing good things about both of those. They're the first two distros on my list to try out after OpenSUSE.

[–] [email protected] 9 points 11 months ago* (last edited 11 months ago) (1 children)

OpenSUSE Tumbleweed is an awesome distro with up to date packages. KDE is also a great choice, especially with Plasma 6.0 around the corner.

I wouldn't worry too much about Nvidia drivers, just follow OpenSUSE's guide [1]. The remaining issues of Nvidia with KDE Wayland are getting fixed over the coming months.

Edit: OpenSUSE can't ship some codecs by default for legal reasons (like RedHat, Fedora), but makes it simple to enable them (optionally through graphical YaST) [2].

[1] https://en.opensuse.org/SDB:NVIDIA_drivers

[2] https://en.opensuse.org/SDB:Installing_codecs_from_Packman_repositories

load more comments (1 replies)
[–] [email protected] 8 points 11 months ago (1 children)

Keep notes on what you do including outcomes. You can always reinstall, skip all of the extra crap you didn't need to mess around with and have a good clean system without having to back track.

[–] [email protected] 7 points 11 months ago (1 children)

From https://wiki.debian.org/DontBreakDebian#Take_notes

Take notes.

It's easy to forget the steps you took to do something on your computer, especially several months later when you're trying to upgrade. Sometimes when you try several different ways of solving a problem, it's easy to forget which method was successful the next day!

It's a very good idea to take notes about the software you've installed and configuration changes you've made. When editing configuration files, it's also a very good idea to include comments in the file explaining the reason for the changes and the date they were made.

This has saved me so much grief. If ever I mess up a system so badly that I want to re-install or when I want to set up a new machine, having a clear set of notes makes it a breeze.

[–] [email protected] 2 points 11 months ago

It’s easy to forget the steps you took to do something on your computer, especially several months later when you’re trying to upgrade. Sometimes when you try several different ways of solving a problem, it’s easy to forget which method was successful the next day!

History with Fish makes this easy

[–] [email protected] 4 points 11 months ago (3 children)

I'm also a beginner and I noticed that debian let me install a lot of possible desktops. So I installed all of them, and I can switch on the password screen which one to open. I'm trying some stuff this way.

[–] [email protected] 5 points 11 months ago (1 children)

Regardless of the distro, you can install as many desktops you want. It doesn't have to be during the OS's installation screen.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 4 points 11 months ago (1 children)

tumbleweed is just fine
giving advice would be easier if you describe what is it that you do on the desktop

[–] [email protected] 2 points 11 months ago (5 children)

I’m a student, and I play games. So mostly I’m doing MS Office and Steam, but I’ve got a lot of random niche stuff I do too. Like I’m using Unity to develop a HoloLens app for a research lab, and I just use VSCode as my IDE. I use Bitwig Studio for audio production, Blender, Freetube, and some proprietary software from my University.

I guess I’m just wondering about compatibility issues I might face, and how to approach those. Are there just some programs that I won’t be able to use on Linux? I’ve heard about Wine, but it all feels conceptual. Like you ‘use’ wine to run windows programs but what does that mean? Do I run it like a VM? But it’s not an emulator?

I’m used to going to the internet, finding an .exe, and installing programs. But Linux has a package manager that you should do that through instead? But I’ve also seen a bunch of download links for Linux software online, so is there a difference in downloading something from the internet and installing a ‘Linux’ version of it, or installing that through a package manager?

Sorry I’m all over the place, i think my brain is a little scattered trying to figure everything out at once haha

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago)

you wont be able to use ms office, so either use alternatives or the web version(or through a vm)
for most software you want to use the packages provided by your distribution maintainers, as that removes the need to deal with conflicts, often provides some sane defaults and makes it so that for the most part you only have to trust the team of maintainers rather than every software developer in the world.
also you wont be able to play valo and some other shooters, though eac and battleye are both supported and besides native and wine/proton support u can play most games on kvm passthrough vms with little performance loss

[–] [email protected] 3 points 11 months ago

No worries, it's a lot of details to take in having never been part of it. The thing about the open source world is that there's no central authority figure to say "this is what we're doing, stop doing that other stuff". So instead, anyone can do anything without consideration for what else is out there.

So yeah, package managers are one way to install software, there are many different package managers out there, and virtually every distro ships with the one that fits their design philosophy best. Package managers tend to point to a set of repositories (servers full of packages) that are managed by your distro maintainers. Depending on the package manager, a "package" may be a pre-built binary, or it might just reference some source code and scripts to build it. Either way, the purpose is to make it easy to install packages that someone has theoretically taken a look at and given a thumbs up to, indicating that it should work on your distro, in combination with the other packages in the repo (theoretically).

But not every single binary out there has been inspected by every distro maintainer. There are often licenses that prevent them from re-hosting proprietary binaries on their servers, and even if the license is permissive, it's not uncommon for maintainers to disallow packages that aren't open source. So ex. Discord has a Linux binary you can download and use, but it's not commonly served from a package manager.

"Wine Is Not an Emulator" because it's not emulating hardware. At the end of the day, windows and Linux are both running on your x86-64 CPU. In theory you should be able to point the Program Counter at the first instruction in a binary, and the CPU won't care which OS it's running on....until it tries to make a system call, or jump to a windows-specific dll. Wine basically tries to create an environment so that when a binary tries to do something that is normally only offered by the windows runtimes, there is code loaded to do what it expects.

These days, I recommend trying out Bottles to run arbitrary windows apps. It's user-friendly, you create "containers" for specific windows apps, and it uses wine under the hood.

And then you have things like "flatpack" which are kind of like package managers where the package is a bottle/container, but the software it runs could be for any platform (Linux or windows). There are pros and cons to this (pros usually being stability, cons usually relating to the size of the containers on disk).

There are people who are adamantly for/against each thing, which is why distros exist in the first place. That's just how the open source world works. I recommend finding something that works for you and not feeling obligated to worry about the 10 other ways people have gotten it working.

Good luck!

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)

None of the comments here explain how WINE works, so allow me to elaborate a bit.

WINE is like a translator or a compatibility layer. When a Windows program tries to perform a function that would normally require Windows, WINE steps in and translates that request into something the Linux system can understand and process.

As you may know, Windows programs work by making API calls (eg using Win32 APIs) to operate and perform basic tasks. WINE takes these API calls and translates them to their Linux equivalents (POSIX calls, to be specific, which means Wine can run on several Unix-like systems). This way, when a program asks to say, open a file, or display something on the screen, WINE converts these requests into a form that Linux can execute.

WINE's approach is about providing compatibility for user-level applications rather than replicating the internal workings of the Windows kernel. It includes various libraries and components that mimic the behavior of those in Windows. This helps in executing the Windows applications as if they are running in their native environment.

  • The core of it is NTDLL. NTDLL.dll is a core Windows library that provides low-level system functions to interact with the Windows NT kernel. In WINE, ntdll.dll is adapted to work with the Linux kernel instead.

  • Then you have the Win32 API libraries, providing the basic APIs that Windows applications use for functions like window management, text rendering, and system calls. Examples include user32.dll (for user-interface functions), gdi32.dll (for graphics device interface functions), and kernel32.dll (for basic system functions).

  • Shell32.dll for handling Windows Shell API functions related to file operations and the user interface.

  • DirectX Support, for running games and multimedia applications. WINE implements parts of DirectX, like Direct3D for 3D graphics, DirectDraw for 2D graphics, and DirectSound for sound processing. Note that WINE's implementation converse Direct3D calls to OpenGL, whereas there are community projects like DXVK and VKD3D which translates these calls to Vulkan.

  • Finally there's a Registry Implementation, so that applications that need to read or write to the registry can function correctly.

Of course, there's a LOT more to it, the above is just an example of some key components. Basically Wine has reimplemented (coded from scratch) various libraries and executables that, on the outside, look like standard Windows dlls/exes, but internally they use POSIX APIs to talk to the Linux kernel and other POSIX components. This, along with the Syscall translations, bridges the gap between Windows programs and Linux.

Now naturally, this is neither a perfect, nor a complete implementation of Windows APIs; plus there are some things which Wine will never implement (such as ntoskrnl.exe), so not every program will work as expected - so check out the Wine AppDB for compatibility reports with various Windows apps.

load more comments (2 replies)
[–] [email protected] 3 points 11 months ago

OpenSUSE + KDE is a really solid choice, I'd say.

The most important Linux advice I have is this: Linux isn't Windows. Don't expect things to works the same.
Don't try too hard to re-configure things that don't match the way things are on Windows. If there isn't an easy way to get a certain behavior, there's probably a reason for it.

[–] [email protected] 3 points 11 months ago (2 children)

I’d rather avoid a Linux distro that’s implementing something like ads or telemetry…if that’s even a thing that’s happening?

Fedora has some telemetry, but as far as I know, you can turn it off during the installation. Some desktop environments like KDE Plasma also have options for telemetry but it's disabled by default. If you want it, you manually have to enable it in the settings.

Should I avoid OpenSUSE

Some software might not be available on openSUSE

or KDE Plasma

Not really, Plasma has a shitload of features and customization options, if many options tend to overwhelm you, you might be better of with a different desktop environment, if you are fine with customization options, Plasma is great for you.

Are there any ‘10 things to do first when installing Linux for the first time’ recommendations?

Since you said that you want to install openSUSE, I recommend this video: https://youtube.com/watch?v=ajVqJ1nl9bM

[–] [email protected] 3 points 11 months ago (2 children)

Why would some software not be available on OpenSUSE? Would it be available on other distros due to a different way they handle packages, or do you mean in comparison to Windows?

[–] [email protected] 3 points 11 months ago

I've been using openSUSE for a while now and haven't come across any software that was not available for it. Doesn't mean it doesn't exist, but I wouldn't worry about it. It's a pretty good OS in my opinion.

[–] [email protected] 2 points 11 months ago (3 children)

openSUSE is rather small, not everything is packaged for it. Arch is the best in terms of software availability, thanks to the AUR.

The only distro that even comes close is NixOS, but I really wouldn't recommend it for beginners. You can explore it in a VM though or maybe at some point actually try it out. It's very very different than other distros though.

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago)

Nix (Nixpkgs) actually exceeds the AUR in the number of packages, according to this page.

And the nice thing about it is that you don't even have to be on NixOS to use it - in fact, NixOS came much later. Nix started out as a distro-independent package manager, and can still be used that way, because Nix packages do not interfere with your system's packages.

load more comments (2 replies)
[–] [email protected] 3 points 11 months ago

Here is an alternative Piped link(s):

https://piped.video/watch?v=ajVqJ1nl9bM

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] [email protected] 3 points 11 months ago* (last edited 11 months ago)

If you're going to be using a DE and mostly do stuff through the GUI instead of terminal/command-line then make sure you can go admin mode (Root/Sudo).

Besides small annoyances I had with KDE Plasma 5's UX the main reason I didn't like it was that often enough I would have to use admin privileges but I couldn't do it through the GUI File Manager (Dolphin) so I frequently had to use the terminal.

It should be possible to have admin privileges in Dolphin but I was a noob and didn't know how (and still don't even now).

If you end up facing that issue then either be a bit smarter than me and look up how to do that or use Nemo, another file manager, which is more or less the same thing as Dolphin except when I ended up using it on Linux Mint a while back it let me use it as Root as a feature out of the box.

And for the record I don't like Linux Mint, apt package manager sucks (package managers are basically app stores where you get all your stuff), but at least it was super easy to install and Nemo was a good file manager.

If you don't mind tinkering and have a secondary device with an internet connection in case you break something then I would recommend Arch Linux. Or you could try it in a Virtual Machine I guess.

Pacman (Arch's package manager) is a hundred times better than Apt, and then there's the AUR on top.

Also while I've never used it I hear a lot of good things about EndeavorOS, Arch Linux but supposedly easier

[–] [email protected] 3 points 11 months ago* (last edited 11 months ago) (1 children)

If you run into any issues or if you're not sure how to do something, feel free to ask.
I'll do my best to point you in the right direction.

[–] [email protected] 2 points 11 months ago

Thank you! I’d welcome advice on any of the other replies I’ve made so far, and if I have any more specific questions I’ll give you a shout!

[–] [email protected] 2 points 11 months ago (2 children)

If you have a spare solid state drive or a portable HDD (most USB sticks are a bit too slow for a proper install), maybe install a Linux distribution onto that portable device, then you can just boot from that, then you only need to boot switch in Bios to Windows when you need to use it again. This has the advantage of you not needing to setup a complicated dual boot setup. When you are settled in with Linux, open your drive where Windows is located from Linux, copy your files over (don't forget your bookmarks and saved passwords) and then you can clone your linux install from your portable drive over your old Windows install using a tool such as dd.

load more comments (2 replies)
[–] [email protected] 2 points 11 months ago

I used to run Tumbleweed with KDE on my Nvidia system. I found the rolling release structure of Tumbleweed to cause extra work for me, because kernel updates came frequently and occasionally broke the Nvidia drivers. As a workaround, I ended up pinning my kernel to an old version.

Nvidia drivers have been at least a little troublesome on every distro I've used, particularly with the additional CUDA libraries.

One nice thing about Suse is that it uses BTRFS by default, and you can use snapper to revert your whole system if something goes wrong. So if Nvidia shits the the bed after an update, it's easy to roll back. Most distros default to ext4 and do not have snapshot support by default, which feels like living in the stone age to me after using Suse and BTRFS.

Of course you CAN set up BTRFS and snapshots in any distro, but that's a lot to ask for a beginner with Linux. I strongly recommend choosing a distro that does that for you, like Suse.

load more comments
view more: next ›