So back to Copilot for research (which frankly led me astray with FydeOS though it still looks good on paper).
https://linuxvox.com/blog/ubuntu-microsoft-surface/
https://waydro.id/
https://windowsforum.com/threads/revive ... ux.365576/
https://github.com/linux-surface/linux-surface
https://www.youtube.com/watch?v=6_EHEmz_j4o
Linux on Surface Laptop gen 1
Re: Linux on Surface Laptop gen 1
Made the persistent USB image with Rufus. That part was easy.
Wayland is nice. Audio quality is thin, though it does go plenty loud. Just doesn't have the right EQ/DSP stuff. I made two videos comparing this which I'll upload to Youtube or something.
However, ultimately it seems like I am not going to be able to install the Surface Linux kernel into the live USB boot system. But Ubuntu did work. Touchpad, keyboard and wifi worked.
I think if I want to go any further, I need to just shrink the Windows partition (after freeing up space) and play that way. I will have to decide if Windows can manage my dual boot or if Grub needs to.
However, ultimately it seems like I am not going to be able to install the Surface Linux kernel into the live USB boot system. But Ubuntu did work. Touchpad, keyboard and wifi worked.
I think if I want to go any further, I need to just shrink the Windows partition (after freeing up space) and play that way. I will have to decide if Windows can manage my dual boot or if Grub needs to.
You do not have the required permissions to view the files attached to this post.
Re: Linux on Surface Laptop gen 1
Interesting way to try different distros via web VNC session: https://distrosea.com/
Re: Linux on Surface Laptop gen 1
Big update. Bought a high end Samsung 128GB USB stick. This laptop has only one USB 3 port so I used a hub to connect both the boot stick and this new stick. I was able to boot and install Ubuntu to the new USB stick as if it was a hard drive. Very cool. Got the Surface Linux kernel installed (which was effort with Copilot) and then also worked around a way for it to automatically boot that kernel (way more effort, with Copilot). Then I fought even LONGER to make hibernate and resume work. Oh, and standby just won't work. Auto screen brightness doesn't work (I think this is documented). Touch works after the Surface Linux kernel.
But everything else seems to. Currently installing Waydroid to check that out.
But everything else seems to. Currently installing Waydroid to check that out.
You do not have the required permissions to view the files attached to this post.
Re: Linux on Surface Laptop gen 1
I think this is quite respectable for a full operating system running on a USB drive.
Two finger scrolling is inconsistent between apps. Feels pretty close to Windows in GNOME at least.
Speaking of GNOME, I was able to connect to some Microsoft services like mail, calendar, contacts and files. Onedrive is mounted in the file system and kinda works. Nothing offline and it's laggy compared to Windows but it works. Typical Linux experience.
Speaking of GNOME, I was able to connect to some Microsoft services like mail, calendar, contacts and files. Onedrive is mounted in the file system and kinda works. Nothing offline and it's laggy compared to Windows but it works. Typical Linux experience.
You do not have the required permissions to view the files attached to this post.
Re: Linux on Surface Laptop gen 1
Just putting this here: https://www.youtube.com/watch?v=IFBxlMqGVPo
My reply just to be lazy:
My reply just to be lazy:
I bought a higher end Samsung USB 3 USB stick and installed Ubuntu to it (had to use a USB hub because this machine only has one USB port but that worked). I wanted to see how my Surface Laptop (1st gen) did with Ubuntu 26.04 and the Surface Linux kernel. Unfortunately, I have hours of terminal window time. Fortunately, Copilot has helped me through it. I don't believe there is a single distro that will give me an out of the box experience. I had to fight just to get hibernate working, the Surface Linux kernel automatically booting and the machine WILL NOT SLEEP (I believe it is unsupported period). The precision touchpad is also pretty crap under Linux compared to Windows; works great in GNOME proper (like the file browser) but a total dice roll everywhere else and mostly not great. Linux is still a solid 10 years behind here. Audio quality is worse and I had to spend significant time installing and tuning an EQ system and it's still not as good. Lost WIndows Hello which I liked. Lost auto backlight brightness. Unfortunately on this hardware there are a lot of downsides to Linux. I did briefly try FydeOS but my keyboard and wifi wouldn't even work in setup and I gave up. Also had problems with the video driver and even after that, Youtube was still serving videos with the av01 codec which my hardware cannot decode in GPU. So I had to install the enhanced version of h264ify just to get it to load vp09. Forget native Onedrive support. Yes, it is "natively supported" in GNOME but it's not even close. Workaround after workaround after workaround.
So in my experience, yeah, if it doesn't work 100% out of the box, you are going to A) spend a LOT of time in the terminal and B) probably still end up with some jank that doesn't work.
But after all of that complaining my Windows based options are not great, either. I could try Windows 11 but I suspect my experience there won't be that great, even though I do embrace the MS account, 365 and Copilot. Just talking about speed and I guess updates with an unsupported install. And staying on Win 10 has its own risks. For now I think all I can do is what I am doing: dual boot Ubuntu off USB and keep Windows 10 on the SSD if I need it. Not having sleep support might be my current #1 gripe with my Linux experience so far and if someone knows a way to make this work, I am all ears.
Re: Linux on Surface Laptop gen 1
Turns out this laptop actually doesn't support s3 sleep. It was early days for playing around with connected standby and they just deleted that support from the ACPI tables. Neat. So I settled on s2idle for lid close and Copilot guided me through turning stuff off that might drain the battery. I might want to make sure I did everything. Then I COULD NOT map the power button to hibernate because the system thinks the system cannot hibernate. I tried literally like 3 or 4 workarounds at the terminal and nothing I did could make a hibernate button appear in the power menu. Even tried a utility for that. Ended up creating a simple keyboard shortcut: winkey+power button. It will hibernate.
In other news I realized my EQ software uses substantial CPU so I'll keep that in mind I guess. It needs a lot more work to sound like it did in Windows anyway.
You do not have the required permissions to view the files attached to this post.
Re: Linux on Surface Laptop gen 1
I got excited when I saw hibernate as one of the options in the regular people menu for power settings.
I tried it. Pressed power. The result? It hibernated improperly as it did when I was trying to do the hybrid sleep. It sort of locks up and never fully shuts off. Then I have to hard power it off. When I turn it back on, it DOES resume properly, but this is no good. So what I settled on is this:
- Lid close: sleep (s2idle which is not s3)
- Power button: sleep
- winkey (super)+power: hibernate
This might work ok.
- Lid close: sleep (s2idle which is not s3)
- Power button: sleep
- winkey (super)+power: hibernate
This might work ok.
You do not have the required permissions to view the files attached to this post.
Re: Linux on Surface Laptop gen 1
Based on some Copilot recommendations I turned off some of the more CPU-intensive sound plug-ins. Currently on EQ and limiter, I think. Maybe one other one that I forgot? But last night I used my handy calibrated USB C mic with my phone and the Audio Tools app. Played some pink noise on my Surface Laptop speakers and just went to work manually with the 32 band EasyEffects EQ in Linux. It was VERY peaky in the mid-range so I dropped that down and then tweaked the bass/treble to be more flat. Oh, I also did a quick response check and added a high pass filter around 105 Hz just to avoid wasting audio power/driver power on bass that it can't reproduce. Probably needs more adjusting but the result is pretty pleasing and honestly probably better than Windows was. I could compare. With the reduced plug-in usage, I am down to approx 10% CPU overhead for all audio playback. I'd also have to compare to Windows but I am hopeful this is "free" since I am on Linux in the first place.kevm14 wrote: Wed Jun 17, 2026 4:12 am In other news I realized my EQ software uses substantial CPU so I'll keep that in mind I guess. It needs a lot more work to sound like it did in Windows anyway.
Before: After: Yeah, needs a little more work. I also need to see if I can get the limiter to protect at max output so I have the gain headroom without clipping. As it is, I had to use the master EQ gain to ensure I didn't drive anything to clipping and that was just on sort of a random music source. In theory the limiter is the sophisticated way to handle this.
I'm not too mad at Linux here for not magically implementing some Windows driver EQ stuff. This is pretty fun and satisfying. If I go much further I probably want to switch from Youtube pink noise sources to official sources that I trust. I don't want to dial in the EQ to a crappy pink noise source. The 32 bands are also adjustable as to what their center frequency is (plus the Q) so I can really go pretty wild here if I have the patience.
You do not have the required permissions to view the files attached to this post.