About to make the jump to Linux... few questions

So with Microsoft going the direction they are, I’m finally ready to jump ship and going to Linux. I’ve played around with it in a VM for a few weeks now, still kinda lost… but that’s okay-ish. My big question is right now I have an AMD 5700g and a GTX 970 running on a B450 chip set.

I have my main display plugged into my hdmi on the motherboard and only use my 970 for tasks that require it. This enables me to keep the memory on it (970) low and allows things like my browser to use a simple (iGPU) for stuff that doesn’t need the 970.

I’m wondering if this is going to be as smooth on Linux? I do plan on running qEMU for my Windows games and required software and passthrough my 970.

I’m really confused what the best way to go about this is, was wondering if anyone has any experience with this and can help point me in the right direction? Sorry if this post is in the wrong forum I did my best to find the right one.

Thanks for your time!

If you are going the VM w/passthrough GPU route you’ll need to blacklist the 970 so that the kernel doesn’t load any modules (drivers) for it first. After that, as long as your pcie groupings will allow it, you can pass the 970 through to a windows VM running on KVM/qEMU.

Now just use linux on the iGPU for normal desktop stuff and the only time your 970 will be drawing any significant power will be when gaming on the windows VM.

I’m typing this right now on a windows 10 VM running on a RTX2060ti passed through to it… Works great.

I will keep all of that in mind! What’s your experience of running games natively just in linux without steam?

Edit:
Thanks for the reply btw!

On the linux side I have a RX6950xt and I just use steam which works really well with proton these days for the most part.

How about with multi-GPUs?.. are there issues getting a second GPU running for a game vs. another? I’m wondering if I can skip the VM part… just thinking about options

https://wiki.archlinux.org/title/NVIDIA_Optimus

There seems to be some options available, but you might be better served just letting the 970 be your only GPU tbqh. I’m not sure it works as well in linux as in windows. Worth a try, though. At least the nVidia official option seems easy enough; just add prime-run %command% in your steam game launch options. %command% runs the games. Anything before it runs and uses the game’s launcher as an argument, anything after is an argument passed after/to the game.

Good to know this too… thank you. If that’s the case, might be better just running it in a VM anyways… I really want to get off windows so bad.

So far you have been doing ok through vm.
But running linux mainline is much faster and easier resource wise.
Its a big step jumping ship from the sith realm,
But its a learning one.
Ive been a linux user since 2000, ( occasionally my time spent on windows is repairing the damn systems(( and swearing enough to make the devil cover his ears))

You will learn a heck of a lot about your system through linux than you ever will in the sith domain.
You can do so much more in linux and save some green because more than 99% of linux is free.

I’m starting to understand this more and more the longer I use linux!

Yeah I think I’ll just buy some more ram (currently 32 GB) to bump it up a bit… I’ve been using computers for quite sometime now… the only reason I didn’t bother with Linux is there’s too much command-line stuff. I like that it’s there… but JESUS I just want to look at properties of a network card and if I need to set the DNS it’s not one of 1000 commands I need to remember. I was happy to leave the dos world behind. lol

It’s gonna be a pain in the butt I know… but I just can’t stay on Windows with the path they’re taking it on. I just need to figure out my apps as well… like is there a TRUE task manager like let’s say Process Explorer for windows? Have you even seen what that thing can do?.. It’s pretty amazing.

Much can be accomplished without cli, it is a very powerful tool for you.
And it shines more because memory resourses are not being hogged by a gui.
But you can break a system as easily as you can repair it.

In one of the forensics/ pen testing distros cli terminal is actually named fu(# s#!t up.:rofl:

The average user will rarely ever use cli.( configuring libdvd-pkg)
But it doesnt hurt to have the cli cheatsheat.

Oh for sure… I still use command prompt and power shell on windows for tasks as well. But it’s the small little things. But for a network manager, or a device manager… I’d rather do with the UI… But I do plan on getting a few books on the cli amongst a few other linux topics. Like WTH is up with the folder structure?.. that still blows my mind away, I know there has to be logic to it, but I have zero clue. lol

It is not that bad - I am a CLI junkie and I mostly use like ten tools for sysadmin work, ip, systemctl, journalctl, grep, find, vim and git is like 95% of my history (actually, if excluding basic file handling, that is cat, touch, ls, cd, cp, mv).

Knowing these commands and a basic knowledge of systemd and the Linux file system, and command line becomes pretty nice :slightly_smiling_face: however vim and systemd alone takes months to get used to…

I can only support your decision to switch to Linux. To make your life a little easier, probably just use your iGPU for Linux and use the nVidia GPU for a Windows VM. Unfortunately the state of multi-GPU on Linux(even with just an iGPU and a dedicated GPU) is not that great. While it’s technically possible, unless you want to trouble-shoot for weeks probably stick with a single GPU.
Also keep in mind that when you setup the GPU for pass-through for a VM you can’t use in in Linux without at least a reboot.

On another note, regarding the filesystem(folder structure) you mentioned: It’s actually way more sane that what’s common on Windows.
First thing you need to know, everything is in a folder, including other hard drives, devices, etc.
Second thing to know(coming from Windows) is mount points: In Windows, you have multiple “drive letters” that contain all the data(absolute paths always start with C:\). In Linux, you start with an “root” folder(absolute paths always start with /), and then you can “mount” a filesystem into it: Mounting means making another filesystem available as a “folder”.
So for example, if on Windows you have the drives C:\, D:\, E:\, the equivalent on Linux could be:
/mnt/c_drive, /mnt/d_drive, /mnt/e_drive.
In this case /mnt/ is just a regular folder like any other where by convention other filesystems are mounted to. When /mnt/c_drive is mounted the folder content of /mnt/c_drive/ is your data.
Third thing to know about Linux filesystems is that in Linux files are used for more than data storage:
There are special files and filesystems, for example most device drivers(hdds, serial, gpus, etc.) create special files, typically in the /dev/ folder. For example, writing text to the /dev/ttyS0 file actually writes to the first serial port instead of a file.
The Linux kernel itself also supports special files for controlling(typically in /proc/ for controlling processes, and /sys/ for controlling the kernel).
These filesystems allow you to observe and tune the kernel easily just by writing to a file. For example, /proc/self/ contains all information about the current process, /proc/<pid> contains all information about all processes, /proc/modules lists the currently loaded kernel modules, /proc/mounts lists the currently mounted filesystems and their paths, etc.

Why am I writing all of this? Mostly just to convince you that the way Linux handles filesystems and IO is very flexible and powerful, and once you understand that a file is more than just storage, and a filesystem can be mounted in a folder and can do whatever(including being remote storage or controlling the kernel), it’s not that complicated.

You can read more about the default Linux folder structure, which is based on and mostly the same as the older Unix folder structure

On a side-note to my side-note, learning the CLI is great because once you know it doing it the GUI way is the slower method - If you repeat a task multiple times it is as trivial as typing the commands into a textfile to automate the process(It’s called shell scripting. The beauty of the CLI ecosystem and shells is that everything automatically and easily scriptable - There is really no difference between a shell script and the commands you type on the shell manually).
If you start learning the CLI, the most important command is probably man: You can lookup the manual for most installed programs by simply typing man <program name>.

I can only support your decision to switch to Linux. To make your life a little easier, probably just use your iGPU for Linux and use the nVidia GPU for a Windows VM. Unfortunately the state of multi-GPU on Linux(even with just an iGPU and a dedicated GPU) is not that great. While it’s technically possible, unless you want to trouble-shoot for weeks probably stick with a single GPU.
Also keep in mind that when you setup the GPU for pass-through for a VM you can’t use in in Linux without at least a reboot.

That’s what I was thinking after hearing what people have been saying. It seems it’s also better to run the games in a Windows VM vs. native because it “just works” and don’t need to tweak things to get it running. So the real issue just becomes needing loads of ram for two OSes… not that big of a deal tbh. I’m in the process of moving my everyday files I keep on my main disk on to backup drives. Gonna make the jump. Might try the one year challenge and refuse to even think about windows. (gulp)

On another note, regarding the filesystem(folder structure) you mentioned: It’s actually way more sane that what’s common on Windows.
First thing you need to know, everything is in a folder, including other hard drives, devices, etc.
Second thing to know(coming from Windows) is mount points: In Windows, you have multiple “drive letters” that contain all the data(absolute paths always start with C:\). In Linux, you start with an “root” folder(absolute paths always start with /), and then you can “mount” a filesystem into it: Mounting means making another filesystem available as a “folder”.
So for example, if on Windows you have the drives C:\, D:\, E:\, the equivalent on Linux could be:
/mnt/c_drive, /mnt/d_drive, /mnt/e_drive.
In this case /mnt/ is just a regular folder like any other where by convention other filesystems are mounted to. When /mnt/c_drive is mounted the folder content of /mnt/c_drive/ is your data.
Third thing to know about Linux filesystems is that in Linux files are used for more than data storage:
There are special files and filesystems, for example most device drivers(hdds, serial, gpus, etc.) create special files, typically in the /dev/ folder. For example, writing text to the /dev/ttyS0 file actually writes to the first serial port instead of a file.
The Linux kernel itself also supports special files for controlling(typically in /proc/ for controlling processes, and /sys/ for controlling the kernel).
These filesystems allow you to observe and tune the kernel easily just by writing to a file. For example, /proc/self/ contains all information about the current process, /proc/<pid> contains all information about all processes, /proc/modules lists the currently loaded kernel modules, /proc/mounts lists the currently mounted filesystems and their paths, etc.

yeah I was reading about that too… need to really wrap my head around it. But /usr? (user?) and all of these other folders. I just want to know the where and why. Thanks for that link on the folder structure I’m gonna give that a read! I just hate the feeling of not knowing where something is saved. Like a config. Network settings?.. if I have an issue on Windows, I can fix it right away. That’s the hard part of changing. But… it’s gotta happen sooner rather than later I suppose. =)

Why am I writing all of this? Mostly just to convince you that the way Linux handles filesystems and IO is very flexible and powerful, and once you understand that a file is more than just storage, and a filesystem can be mounted in a folder and can do whatever(including being remote storage or controlling the kernel), it’s not that complicated.

Thanks for your long reply. It’s all helping me make the switch and I shall do it! At least TRY, an honest good try!

On a side-note to my side-note, learning the CLI is great because once you know it doing it the GUI way is the slower method - If you repeat a task multiple times it is as trivial as typing the commands into a textfile to automate the process(It’s called shell scripting. The beauty of the CLI ecosystem and shells is that everything automatically and easily scriptable - There is really no difference between a shell script and the commands you type on the shell manually).
If you start learning the CLI, the most important command is probably man: You can lookup the manual for most installed programs by simply typing man <program name>.

This! I forgot about “man” command! This is good to keep in mind. Maybe within the week I’ll have it installed on hardware and will give it a go! I’m thinking of going to MX Linux. I only have 32 MB of ram atm… but I figure 16 GB for Windows for my games should be enough.

Thanks again for the reply, I’m excited to make the switch and also scared as hell. lol