Switching from Windows to Linux: Sharing My Experience and Lessons Learned

How is your RAID formatted?

If you take a look in /dev/disk/by-id and /dev/disk/by-uuid you should be able to see the disks and any partitions. Find the UUID for the RAID partition and use that in fstab to mount it.

That's how it works for the most part but it can vary for different filesystems.
I formatted the RAID volume as ext4 so I could put my VM, steam library, and Timeshift on it. I will try it on Gigolo when I get things working.

It does not matter now as I cannot stop the disks from failing after a suspend event.

I have tried disabling PCIe sleep states in BIOS and in GRUB but it does not make any difference. Tried hibernate instead but it takes just as long to boot up as it does from a cold start and the disks still reported as all failed.

One of the things I wanted with the move to Linux was to have the PC suspend after inactivity. My Windows 11 install could never do, it as it would lock up, unless I initiated it manually via the power button.

I will have to forget about this for now until I get the LSI card in a couple of weeks which hopefully will work better if not I will have 20+ x 500GB SSD's for sale lol.

The good thing to take away from this is the suspend function works in Linux just fine, and the problem is the Highpoint card, its driver, and probably me. :-)
 
Ok understood.

I have a large volume for videos in my PC that used to be on a RAID controller. I have since binned it and use a single BTRFS volume across all the single disks. There is no parity so not resilient but I have the same set up in my server so it's all backed up there. It's far simpler than RAID and has served me well for a number of years without issue. The real beauty of it is that all you have to do in fstab is mount any one of the disks and the rest of the volume across the other disks is picked up automatically.
 
Set up my Windows 11 Pro VM with VirtualBox without much issue.

TPM, EFI, and Secure Boot all present in the virtual machine system configuration, so it installed without having to do any hacks.

Interestingly, MS had saved my old Windows settings and Apps, and gave me the option to apply it to my new install. It was a nice Idea but the only apps that could be restored where ones downloaded from the MS apps store. The rest of the apps just gave a prompt to search the internet for an installer when trying to open them, so is of limited use. I also don't remember ever giving MS permission to back up my configuration.

Using VirtualBox is a breeze, with the only issue I had was on the sharing of USB devices. In order to share devices you need to add your user name to a group called vboxusers.

To do this you need to run the command "sudo usermod -a -G vboxusers $USER" where "$USER" is replaced with your user name. Then a quick reboot and the device sharing options are now available. To connect a USB device to the VM all you have to do is tick a box in the drop down devices menu.
 
Another success! I was able to get my Stream Deck mini working in Linux. There are 2 versions of controller software in the wild "Stream Deck-UI" and "Stream Controller". While I was able to install Stream Deck-UI, I could not configure the buttons for some reason. Stream Controller comes via a package manager called flatpak which installed with a couple of clicks. Stream Controller worked straight away and very configurable.
 
I have revisited the Nvidia repository driver update problem.

Assuming you have downloaded the driver from nvidia.com to your Downloads folder and you are running the Gnome desktop environment.

I ran the commands "sudo apt remove nvidia-driver" and "sudo apt purge nvidia-*" to remove all the repository Nvidia driver files.

I then re-created the .conf file with "sudo nano /etc/modprobe.d/blacklist-nouveau.conf" as it was deleted when purging the Nvidia driver. The contents of this file need to be is

blacklist nouveau
options nouveau modeset=0


After creating the .conf file run "sudo update-initramfs -u" otherwise it won't work. (I think I missed this step when trying to install on my 4090 earlier)

Next step was to shutdown the gnome desktop with the command "sudo systemctl stop gdm3" the screen should go blank.

Start a tty command line by pressing ctrl+alt+F3. to get a command prompt.

Log on when prompted, go to your Downloads folder "cd Downloads" and run the nvidia driver package with "sudo sh <Package name>.run"

once the driver is installed reboot by typing "sudo reboot"

That should be it. I managed to get the 550.78 driver to installed this time. Its worth noting that any system settings that require the nouveau browser will no longer work, so its best to configure those settings before updating the driver.
 
Honestly the only issues I've had were when I wanted to do something weird and wonderful like use Windows VSTs at low latency or set up extra email encryption (Protonmail Bridge) or when I've done something stupid like delete a bunch of KDE dependencies. EndevourOS has worked out of the box for what I would consider a standard use case; as will a bunch of distros.
 
Last edited:
Well its been a week and I am happy everything is working as I like, to the point that I don’t even think about the Operating System. The only thing I need to set up is my ZFS volume when my HBA card arrives.

Steam Proton is an amazing piece of software. I have no issues playing Eve Online and Skyrim all this week. I would have liked to have test 3D Mark to bench, but it fails to get hardware details and exits before running.

As has been mentioned in this thread I could have made things easier on myself by choosing a distribution that already supports modern Nvidia hardware out of the box, but I feel I have learned a lot about how Linux works and that was my aim.
 
Nice.

Your point about not thinking about the OS is the absolute point of it all IMO. After a while if you go back to Windows you will see just how horrible and intrusive it is. With your new setup, updates won't just happen when you don't want them to, they won't take minutes to download and install and then require a reboot. You won't get nagged about using edge or other Microsoft products and it's free, so no licensing or activation to worry about. Anything you customise won't get reset following an update either.

You're absolutely right about Proton too. I'm sure a lot of people just aren't aware of how good gaming on Linux is these days, largely thanks to Proton.
 
Well my LSI 9300 i16 HBA card arrived and it works straight of the box so no need to update the firmware.

Setting up ZFS was a piece of cake using a bit of software called Cockpit. It has a great GUI for setting up a zpool and it even mounts the volume automatically. The only bit of fiddling I had to do was transfer ownership of the Mount point to my username recursively.

After that I was able to move my steam folder and VM image of my old windows install.

The only thing that does not happen is that there is no automatic check that the zpool is healthy so I found this script to do just that

#!/bin/bash

# Set the ZFS pool name
POOL="Tank"

# Set the path to the zpool command
ZPOOL="/sbin/zpool"

# Check the health of the ZFS pool
if [ "$($ZPOOL status $POOL -x)" != "pool '$POOL' is healthy" ]; then
# Display a pop-up message if there is an error
zenity --error --text="ZFS pool $POOL is not healthy" --title="ZFS Health Check"
fi


It is setup to only produce an output if there is an error.

Then set up a cron job by adding the line to sudo cron -e
*/15 * * * * /usr/bin/zpool_status.sh
This runs my script every 15 minutes

All I have to do now it find a script to automatically run a scrub task once a week and I think I am golden :-)
 
Last edited:
Found a script that will run the scrub task

#!/bin/bash

POOL="Tank" # Replace with your pool name

zpool scrub $POOL


added the line to sudo cron -e

@weekly /usr/bin/zfs-scrub.sh

To run the scrub job weekly
Don't forget that the scripts need to be sudo chmod +x <your.sh> to make them executable.
 
I am having an issue once a day approximately where the computer gets stuck when waking up with a text screen that says
“usb 2-5: device not accepting address 2, error -62” and I have to reboot as the keyboard stops responding. I have searched all over but cannot find out what device is causing the problem. Looking at the logs I get this :

kernel
usb 2-5: device not accepting address 2, error -62
PRIORITY 3
SYSLOG_FACILITY 0
SYSLOG_IDENTIFIER kernel
_BOOT_ID 933f7fd50055494c9900fb676df5efaa
_HOSTNAME Debian-PC3
_KERNEL_DEVICE c189:129
_KERNEL_SUBSYSTEM usb
_MACHINE_ID 962407b5e2c440fd8d51e8f79f3596ce
_RUNTIME_SCOPE system
_SOURCE_MONOTONIC_TIMESTAMP 7665134203
_TRANSPORT kernel
_UDEV_DEVNODE /dev/bus/usb/002/002
_UDEV_SYSNAME 2-5
__CURSOR s=60a1afb0b8fb4f8e8b46a6d6ee2215e5;i=813c5;b=933f7fd50055494c9900fb676df5efaa;m=1c911895a;t=629a1ddf69237;x=35dfbe823c1b1b9
__MONOTONIC_TIMESTAMP 7668336986
__REALTIME_TIMESTAMP 1734625050661431



********@Debian-PC3:~$ sudo lsusb --tree
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 480M
|__ Port 1: Dev 3, If 1, Class=Printer, Driver=usbfs, 480M
|__ Port 1: Dev 3, If 2, Class=Printer, Driver=usbfs, 480M
|__ Port 4: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbfs, 480M
|__ Port 4: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
|__ Port 5: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M <---- I think its something to do with this!
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
|__ Port 4: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 4: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 5: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 10: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 10: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 12: Dev 5, If 3, Class=Vendor Specific Class, Driver=, 12M
|__ Port 12: Dev 5, If 1, Class=Vendor Specific Class, Driver=, 12M
|__ Port 12: Dev 5, If 2, Class=Vendor Specific Class, Driver=, 12M
|__ Port 12: Dev 5, If 0, Class=Vendor Specific Class, Driver=xpad, 12M
|__ Port 14: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M

********@Debian-PC3:~$ sudo lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 006: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 005 Device 005: ID 0fd9:0063 Elgato Systems GmbH Stream Deck Mini
Bus 005 Device 004: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 005 Device 003: ID 04a9:1912 Canon, Inc. LiDE 400
Bus 005 Device 002: ID 2109:2822 VIA Labs, Inc. USB2.0 Hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 05e3:0626 Genesys Logic, Inc. Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 046d:c332 Logitech, Inc. G502 Proteus Spectrum Optical Mouse
Bus 001 Device 006: ID 0b05:1867 ASUSTek Computer, Inc. AURA Custom Human interface
Bus 001 Device 005: ID 045e:028e Microsoft Corp. Xbox360 Controller
Bus 001 Device 004: ID 1b1c:1b20 Corsair STRAFE RGB Gaming Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Can anyone tell me why this is happening? I understand it might be just a coincidence that I am getting the error at the same time as the system locks up. The same error pops up in the logs quite a few times ( two or three times an hour) without causing any apparent issue.
 
Anyone using SteamOS? GN briefly covered it in a recent news update Steve's getting pretty tired of windows too "sick of microsoft's BS" was the phrase I think he used, anyhoo they're thinking of doing a dive into linux gaming with benchmarks etc they don't think its quite there yet but its close
 
Last edited:
From what I understand, the latest version (v3) of SteamOS is restricted to the Steam Deck so until Valve change that you're a bit stuck for other devices. Not tried it myself though.

I game almost daily on Arch so it's definitely there as far as I am concerned but it will obviously depend on what games you like to play.
 
I seem to have found the culprit, it was not a device connected to my 4 port USB 3.0 HUB, but the HUB itself. I have not had any problems since disconnecting it. I moved all my extra USB devices to a 11 port USB 3.1 HUB connected to a USB 3.1 port on my computer and all seems well.

Another quality of life problem with the HBA is that grub scans all 17 of my SSD’s looking for other operating systems causing my boot times to be in minutes not seconds.

Turns out there is a simple fix

sudo nano /etc/default/grub

edit the line
GRUB_DISABLE_OS_PROBER=false
to
GRUB_DISABLE_OS_PROBER=true
then

sudo update-grub

Edit: this did not work :-( it would seem that the long loading times is due to a BIOS thing. Further investigation required.
 
Last edited:
I think there is a load of people waiting for Steam OS general release unnecessarily. I doubt it will have any advantages over just installing the Steam application on the Linux distribution of your choice. Words like proton might scare people away, but it all configures itself in the background and launching a game is the same as Windows. It wouldn't surprise me if Valve never release Steam OS generally since its not necessary.
 
I think there is a load of people waiting for Steam OS general release unnecessarily. I doubt it will have any advantages over just installing the Steam application on the Linux distribution of your choice. Words like proton might scare people away, but it all configures itself in the background and launching a game is the same as Windows. It wouldn't surprise me if Valve never release Steam OS generally since its not necessary.

I think it's a reaction to the fragmented nature of Linux (which is becoming less and less fragmented). People want to have the "guaranteed compatibility" of something official from Valve without having to worry about if a distro does something different or having to worry about figuring out a million and one "just do this simple thing" to get get things working. SteamOS would provide a "default" for game devs to provide compatibility for and that's valuable to someone who doesn't really care about Linux other than it not being Windows.
 
I don't know if Valve would want to become responsible for maintaining and configuring Steam OS for every device out there when they can just maintain the App which works the same on any distribution. I think the fragmentation or diversity of distributions is what has kept Linux going as long as it has and will never become default even if Valve does release Steam OS. Its true that some people will never have the patients to install a Linux Distro and the Steam app, but I think there is a growing number of Windows Users that have become sick of Microsoft, like me, and they just need a little push, Its free after all. For the rest there is always Sony or Nintendo.
 
Back
Top Bottom