My experience with Linux (Nobara Steamdeck Edition) on the Lenovo Legion Go (Very Positive!)

First, a disclaimer - I have been using Linux for many many years and things that most people consider difficult or obtuse are easy for me. So any statements about Linux's ease of use should be taken with a bit of salt. Grin

So I bought my Lenovo Legion Go with the full intent to dual boot with Linux, and I couldn't be happier!

Nobara Steamdeck Edition was really easy to install (relative to other linux distros) and 90% of the device's features are working without doing anything else.

However, I'm a bit picky so I swapped out a bootloader that supported touchscreen selection (rEFind), and found a wonderful guide that brings the functionality almost to parity with Windows (and actually superior in a few ways) - https://github.com/aarron-lee/legion-go-tricks

The end result is something that feels better to use than Windows. Nobara running in "Gaming Mode" (Big Picture) uses only 1.6GB of barely breaks 2.5GB with a third party launcher running. This means that setting the UMA memory allocation (Vram allocation) to 8GB works a lot better! Even launching into "Desktop Mode" provides a better experience than Windows 11 in many places - mainly resource usage and responsiveness. 

Ultimately, I'm considering shrinking my Windows partition to be only used for Firmware and Bios updates going forward. Linux provides that good of an experience for me.

Linux still probably isn't for the non-technical quite yet, but in a year or two, it might be! In the meantime, if you like to tinker, consider this an enthusiastic recommendation to give it a shot!

  • Yes Bazzite has indeed been great for me, although I'm probably going to go with Nobara on my eldest daughter's gaming laptop instead. Her laptop will not be configured dual boot for Linux and Windows. However I admit I'm sort of on the fence between Nobara on Arch Linux myself. Because in hindsight I didn't consider the actuality of the Steam Deck is essentially Arch Linux.

  • Well, it's Arch Linux, but Immutable. So it's actually kind of an oxymoron of a combination. 

    Arch being a rolling release distro, and the immutability essentially defeating the purpose of said rolling release model. 

    So imagine having packages that update every day, as the new versions come out. But then having to "snapshot" it as a single monolithic "image" (like an ISO I suppose) and _that's_ what gets distributed in SteamOS, not the individual packages. At least as far as the base OS is concerned. The "snapshot" can't be overwritten either - you might be able to install something with sudo during your session, but it'll be gone after a reboot. This is hugely advantageous for something that's a "gaming device" since it makes breaking your device really hard. The way around this is that you _do_ get access to your /home folder and that you can write to all you want - so enter flatpaks and appimages which allow you to run your program, storing everything in your home folder instead of modifying the system itself. 

    Oh, also SteamOS tends to rock a different kernel from mainline Arch with their own fixes included in it. Some have rebuilt the kernel for other distros like Nobara and Arch - and I think Chimera/Bazzite might use the same kernel. 

    Arch is definitely a different experience vs SteamOS and it's a lot easier to accidentally break. Nobara is a _bit_ better in that regard and I'd recommend going that route first. Only do full-fat Arch if the user doesn't mind fixing config files from time-to-time. Nobara's Fedora base is far more predictable and stable. 

    I say this as an Arch user on most of my devices... I personally love the tradeoff of having bleeding edge software though!

  • Hi  and  ,

    I was really trying to follow this thread from the beginning until now, but beeing a real Linux beginner couldn't fully (have a lot of Windows experience, but not with Linux at all Sweat smile).

    For a beginner wanting to;

    - Install Linux via usb stick or SD-Card first to just try it out

    - Install possibly a Linux Distro with the best gaming performance

    - Having the best possible driver support (less driver installation fixing)

    - Learning more about Linux, but having an easier to use distro, maybe adapting/changing a few configurations/things now and then, just to get accustomed to Linux.


    ->> Which of the mentioned distros would you recommend?

    Nobara, somehow was mentioned by both of you positively / or would it be Arch Linux, or Bazzite?

    And the Kernel is the main core of the system running in the background? How does it work that you can install a certain Linux distro, but switch the Kernel?
    -> Which Kernel would you be recommending then for my objectives?

  • - Appologies for the late reply.

    The standard recommendation right now is Bazzite. It's a little more difficult to install, but is VERY hard to break. I'd consider it the most "newbie friendly". It's definitely not _perfect_ and has it's own flaws, but for a newbie its a good starting point.



    As for the Kernel - generally speaking these gaming distros use something called an "fsync" kernel. Nobara, Bazzite, and ChimeraOS use it out of the box.


    It's only Arch Linux (or other non-gaming distros) that basically require you to install a different kernel for 100% functionality.


    TL;DR - Bazzite has all you need, no need to worry about kernel.

  • Hi  thanks a lot for your answer! SmileyOk handThumbsup 

    Sincerely I didn't think you guys would answer anymore, but better late then never WinkThumbsup 

    In the meanwhile I had a longer discussion with  and I decided to install a proper Linux for learning to handle it on one USB-Stick, and a gaming one (preliminary chose Nobara, as it's description sounded great) on another.

    Now that you are recommending Bazzite I will have a closer look at it too, and at the other two also, trying to compare their pros and cons before choosing one of them. Maybe if you  know any good resource to compare them, this resource would be very welcome. Otherwise no worries, I will just search for it myself WinkThumbsup.

    Just need to find the time for starting this dive into Linux properly, as I want to properly look into it and learn, and not just only install a game and play directly. What I will definetly also do soon, as I'm just curious, how it performs and how good I can actually get the drivers I need to run and so on.

    -----

    -> I had my first experience with Handheld companion in Windows about 2 to 4 weeks after the Go was realeased (got it at release) and need to say that I didn't like it really, because so many things didn't work yet with the Go, and the performance using it instead of LegionSpace was really way worse...

    -> I heard it was further optimized for the go, but I'm still sceptical... I will try it out anyway, but is there also a good alternative to it on Linux? I used another of those "settings helper software" on Windows, but I don't recall it's name anymore...

  • I decided to install a proper Linux for learning to handle it on one USB-Stick, and a gaming one (preliminary chose Nobara, as it's description sounded great) on another.

    Nice,  !

  •   

    Wow!  I was gonna say, "None.  Linux released in 1993."  But 0.1 released on your date of birth!

    Between the two events, you folks must have really had their hands full, huh? :-)

    I think I may have been breaking up with my last high-school girlfriend, the day you were born.  I was tired of her excuses why she could do some things, but not others.

    Forget Linux.  I hadn't even heard of UNIX, yet.  That happened in 1992.  But, not until October. :-(

    I met 1st college girlfriend, 8 days after your 1st birthday (technically, your 2nd — but, you turned 1 in 1992).  I met her before a midnight show of The Rocky Horror Picture Show (1975).  I know it was the 25th, because I was home from college for Rosh Hashanah-break.  I just Googled "rosh hashanah 1992" → Sun,27–Tue,29-SEP-1992.

    The show was at midnight Friday/Saturday — before the holiday¯\_(ツ)_/¯

    I tend to roll with the cutting edge kernel, which at the time of writing is 6.7.4. However in this case the 6.7 series introduces a frame-capping bug that I find annoying on some games. So I'm instead on the 6.6 LTS release for now and I'm pretty happy with it.

    No need to clarify your linux skills, they are apparent!

    I was just about to install the Liquorix 6.7.4 kernel, on the advice of a Linux-community manager.  Luckily, I (finally) read your reply.  (I don't get notifications about replies.  Only likes, mentions, DM, etc.)

    Also, I just realized — I was supposed to install that kernel yesterday.  So, this seems like providence.

    I think I'm gonna try it anyway.  I don't game on Linux (or PC, really).  When I do, I tend to play "retro-games": Command&Conquer (Tiberian Sun, Red Alert, Generals) or old versions of SimCity and Sid Meier's Civ.

    Months ago, I learned about upcoming fixes for Intel's hybrid (p-core/e-core) processors, which would only become available in kernel 6.7 (or later).  I've got background process utilizing 1–2% of my CPU — alternating between my 2 fastest p-cores (5000 MHz).

    Given the process-types, I would expect them to alternate between 2 e-cores (3700 MHz).

    I know there's a way to reassign those processes to other cpu-threads.  But, I've never tried it before.

    Besides... I'd rather let a kernel-upgrade do the work for me.  Also, module i915 (for Intel's integrated-graphics) may have been updated in the new kernels.  I keep getting warnings about 2 "possible missing firmware" — which used to be 3 "possible missing firmware", before a dkms upgrade.  I found them in git.kernel.org (opens new tab or window), but I'm reluctant to do anything with them.

    I don't know enough about manually installing binaries¹, nor do I know what's in those binaries.

    Perhaps my distro excluded them for a reason?  I haven't gotten a reply, yet.  But, I haven't checked their forums since last weekend.

    ¹ As best I can recall from (Solaris) UNIX, binaries are installed as soon as they are (sudo) copied and (sudo) chmod +x to the correct directory.  I remember "installing" UNIX-software by (sudo) copying them to any sub-directory of /usr/bin/ and then sudo chmod +x [filename].bin.

    For the "missing firmware" → /lib/firmware/i915/ (where there's already 25 MiB of binaries installed, but only the 4 symlinks have execute permissions?  Each "real" binary is read-only for everyone except root, for whom they're read-write no-exec.)

    I should learn more about firmware.

    btw- "usr" is commonly called "user" or "user system resources", but it meant "UNIX System Resources" back then.  And I think it still does.  I've heard some Linux-users say, "I put my scripts in the "usr" directory."  And I think, "Why?  Do your scirpts not run from your home directory?  Or in /etc/... if they're daemon-event scripts, like /etc/NetworkManager/dispatcher.d/70-wifi-wired-exclusive.sh?"

    I know it doesn't (really) matter.  Still, it bothers me.  I assume — while I wasn't looking — a misinterpretation became "legend".  "When the legend becomes fact, print the legend."

  • I think I'm gonna try it anyway.  I don't game on Linux (or PC, really).  When I do, I tend to play "retro-games": Command&Conquer (Tiberian Sun, Red Alert, Generals) or old versions of SimCity and Sid Meier's Civ.

    Does this include Sid Meier's Alpha Centauri? I only ask because I'd love to do a PBEM game some day. I feel like I missed the heyday of that game. lol



    As for the kernel - I'm fairly certain the 6.7 series only has issues with the Legion Go. It works great on my desktop. Something to do with the portrait screen on an AMD Radeon GPU.


    RE: Core pinning, I personally use AMD processors so I don't have deal with this unless I'm looking to run an IOMMU gaming VM on my desktop. These new heterogeneous chips from Intel confuse me.


    RE: Possible missing firmware errors - unless your building a tuned kernel with only the components you need, the BLOBs involved may not be needed. You should be able to verify with `modprobe` to see if any of the mentioned drivers are actively loaded.


    RE: usr directories - I had no idea about that! Honestly I think most users are just adopting the conventions that are used in the big distros like RHEL and Ubuntu where they largely abandoned /bin for /usr/bin or /etc/ for /usr/share.

  •  

    Does this include Sid Meier's Alpha Centauri?

    Nope.  I have only CivIV on PC.  Presently, I don't have it installed on any system.

    Which reminds me... the only copy of SimCity (2000?) I have installed — is on macOS.

    As for the kernel - I'm fairly certain the 6.7 series only has issues with the Legion Go. It works great on my desktop. Something to do with the portrait screen on an AMD Radeon GPU.

    Ooo... no!  I read through forum-post after forum-post on Fedora's, Manjaro's, and Debian's forums — reboot/shutodown issues; suspend/resume issues; (wifi) devices which randomly detach/release until after reboot.

    I'm glad I chose to look up your "frame-capping" issue¹.  If I hadn't, I would have installed that POS.  Instead, I installed the Debian 6.6.11 kernel.

    Among my research, I discovered that my (6.5) kernel reached end-of-life over a month ago!  After years of running (almost) only LTS-kernels², I was surprised at how short the lifespan has gotten for kernels  I remember when they'd get security-patches for 5–6 years.  Now just 2 years???  WTF?

    I understand why they're making that choice.  The majority are upgrading their kernel far more often, now.  But, I was still shocked.

    RE: Core pinning, I personally use AMD processors so I don't have deal with this unless I'm looking to run an IOMMU gaming VM on my desktop. These new heterogeneous chips from Intel confuse me.

    I found and implemented the solution after installing the new kernel!

    taskset -p [bitmask] [pid]

    I still need to write a login-script.  And I'm actually running taskset -ap --cpu-list 16-23 $(pgrep plasmashell) or taskset -ap 0xff0000 $(pgrep plasmashell) — which moves all of the /usr/bin/plasmashell processes to the e-cores (last 8 cpu-threads) — without requiring that I find the pid in htop.

    The bitmask is so confusing.  Look up the examples in man taskset.  No explanation of the logic.  Just infer, from a few examples, all of the hexadecimal math.  But, I (easily) figured out the following:

    1. 0xff == --cpu-list 0-7 == 0x00ff == 0x0000ff
    2. 0xff00 == --cpu-list 8-15 = 0x00ff00
    3. 0xff0000 == --cpu-list 16-23

    Makes me long for good-ol' octal — like in chmod 644. :-)

    So, each "octet" represents some combination of (groups of) 8 cpu-threads.  The 5000 MHz p-cores are represented by 8,9,12,13.  And they are no longer where my animated desktop-wallpaper is running.

    I've noticed a +5% improvement in "time remaining" on battery.  And no noticeable improvement in performance — which is to be expected.  When a process needs 100%-CPU (single-core or multi-core), the plasmashell process is quickly (and quietly) moved to a lower-performance core.

    RE: Possible missing firmware errors - unless your building a tuned kernel with only the components you need, the BLOBs involved may not be needed. You should be able to verify with `modprobe` to see if any of the mentioned drivers are actively loaded.

    I know I probably don't need the missing firmware.  But, I have never gotten those warnings before — on any machine or distro.  So... it's an itch I want to scratch. :-)

    RE: usr directories - I had no idea about that! Honestly I think most users are just adopting the conventions that are used in the big distros like RHEL and Ubuntu where they largely abandoned /bin for /usr/bin or /etc/ for /usr/share.

    Believe me, I know.  On MX Linux 19.x, I made so many ad hoc customizations (without keeping track of them all), I have no easy way to migrate my environment to another distro.  "Where did I make that change again?  In an /etc sub-directory?  Or in a /usr/share/sddm/ sub-directory?" ¯\_(ツ)_/¯

    ¹ The only (accurate) hit I got from searching "kernel 6.7 frame-capping" was #2 in Google's results — "Lenovo forums post by Th3raid0r". lol

    ² For those who don't know, LTS (Long-Term Support) Linux kernels are the "get it and forget it" versions of the kernel.  If one runs well on your hardware, you should probably stick with it.  It won't get feature-updates.  But, keep it patched with security-updates.  One caveat... you need still need to pay attention to the tech-news: e.g. a Bluetooth-vulnerability existed in every version of the kernel, since Bluetooth was introduced.  To remove the vulnerability, required upgrading one's kernel to 5.9 (or greater).