Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
Ditching Windows: 2 Weeks with Ubuntu Linux on the Dell XPS 13 (forbes.com/sites/jasonevangelho)
211 points by neverminder on Oct 25, 2018 | hide | past | favorite | 230 comments


There was an interesting thread on Reddit [1] the other day which did a breakdown of the state of gaming in terms of native games and games that can be run easily via Steam Play (aka 'Proton', Valve's in-built WINE+DXVK layer). The results were quite interesting and, as one of the replies pointed out in another breakdown, Linux now competes with (and in some ways beats) gaming on macOS in terms of size of catalogue.

Granted there is a ways to go to beat Windows in this space, but the progress over the last 6 years generally and the last 6 months specifically is astounding.

[1] https://www.reddit.com/r/linux_gaming/comments/9qopag/5000_l...


As someone who has just released[1] a first access game across Windows, macOS and Linux:

10 years ago developing on linux as a game developer was way worse than windows and MacOS, now there is no real difference at all. I speak as a long time UNIX user, Linux was terrible for C++ devleopment, debugging and asset creation/viewing (compared to the others) making gamedev tougher than it needed to be.

10 years ago linux's OpenGL drivers were behind even MacOS and way behind Windows OpenGL which was behind DirectX by quite some way. Now Linux's drivers are fairly good although it's still a nightmare upgrading radeon drivers and NVidia's drivers seem to be fickle. This leads to a lot of bugs from users and supporting various distro/hw/driver combinations.

Libraries like libSDL(2) were less mature 10 year ago, multi monitor, input and sound support were patchy because the Linux landscape was fragmented and buggy. Now libSDL2 is pretty much spot on. Mutli-monitor is doable (not as good as macOS but as good as windows), input is pretty good and sound is OK (but most people use FMOD which is superb).

Where Linux falls behind is deployment. No I am not going to ship my source for you to compile. itch.io and Steam go a long way to make it easy to deploy and crucially update the game. It's still a PITA to deploy a compiled app on Linux with unclear glibc versions and amazingly it's worse than MS DLL hell of MSVC redistributable shambles.

It's not impossible to overcome but it's a PITA for a small market. Not a good position to be in. I support macOS and Linux as well as Windows because I believe in plurality but I can see why many chose not to. Don't think that using Unity or Unreal make anything easier either. In many ways they are worse than a well written custom engine.

[1] https://executionunit.itch.io/smith-and-winston


> It's still a PITA to deploy a compiled app on Linux with unclear glibc versions and amazingly it's worse than MS DLL hell of MSVC redistributable shambles.

One option is to statically link against musl libc [1].

The kernel ABI is about the only stable thing you can rely on (which is something you _can't_ rely on for macOS or Windows).

[1] https://www.musl-libc.org/


> The kernel ABI is about the only stable thing you can rely on (which is something you _can't_ rely on for macOS or Windows).

In Windows's case, technically accurate but not really relevant, since the interface for working with the base DLLs like kernel32, user32, etc. hasn't changed.


Sorry I wasn't clearer. I just meant that on Windows and macOS, you can rely on certain userland libraries, but not the kernel ABI, while on Linux you can rely on the kernel ABI, but not the libraries.


Note a program compiled with musl can't use shared libraries which were compiled with glibc. I wrote my own tiny x64 C standard library which, unlike musl, is compatible with other glibc libraries: https://github.com/procedural/c_stdlib


Is it not possible to link glibc staticalliy? IIRC musl has readability and code size in mind while glibc optimizes for performance at the cost of readability and codesize.


The problem that I know of is that glibc supports loading DSO modules, eg. for NSS, so it's not going to support pluggable NSS sources like LDAP etc when statically linked. There are workarounds, however:

https://stackoverflow.com/questions/3430400/linux-static-lin...

Can't imagine many Linux gamers are going to need NSS support in their game binaries. It's a bit of a stretch to say glibc doesn't support static linking, perhaps "officially" it doesn't, its just not all the extended features are going to work.

Static linking is generally going to be frowned upon these days however since you're effectively linking security issues into the binary forever.


Not really. musl optimizes for performance and codesize, whilst glibc optimizes for the random user who needs to read error message in farsi and logs on via an external LDAP service, and needs LD and MALLOC hooks to debug weird edge cases.

glibc unicode tables are huge, musl are tiny.

glibc uses assembler optimizations for everything, whilst musl uses compiler auto-vectorization, which mostly beats handwritten assembly, esp. with constant arguments.


Thank you. musl looks very interesting. It's something I didn't consider, I'll add it to my research list :)


If you want an automated tool to generate a deb file for distribution, you might want to try this program I created for that purpose:

https://www.getlazarus.org/apps/makedeb/


Well, you should release the source code, or else a DOS executable file that can run on DOSBOX, or a .NES ROM image file, or whatever, the end user can then provide their own emulator to run it on. Only the end user shall have full control over what runs on their computer, not you.

I currently use Linux and it is much better than Windows (although I didn't like the desktop environment so I uninstalled it, but customizing the system is what I do regardless of what operating system).


> It's still a PITA to deploy a compiled app on Linux with unclear glibc versions

If you don't want to worry about the glibc version on your users' machines, you can just ship your dynamic linker and use it to run your executable in your wrapper script (you do have one, right?). Why's that so hard?


It's not hard, it's just stupid that the platform has such a remarkable lack of consistency that you can't rely on anything but the kernel ABI.


I honestly don't see the problem. It's a different platform so it's got different quirks, that's just life.

Having said that, I strongly prefer Linux's explicit shared object search paths and very user-friendly dynamic linker to Window's implicit search scheme (aka the DLL hell). If that means I need to add my dynamic linker along with a couple lines of wrapper script so my binaries work, so be it.

And, you can even avoid the wrapper script if you can make sure your stuff is always installed to a standard location (eg. /opt/yourcompany) and you pass -Wl,rpath to your linker (at compile time) but I really don't see the point.


> I honestly don't see the problem. It's a different platform so it's got different quirks, that's just life.

If Linux Desktop were one singe different platform there wouldn't be a problem. Instead it is effectively some ridiculously large number of platforms.


The differences between them are getting smaller and smaller with time. With the notable exceptions of some really cool distros like nixOS or Solus most others have almost the same libraries at this point at varying versions.


Heh, speaking on relying on APIs/ABIs, macOS must be a lot of fun with Apple deprecating OpenGL to begin with.


How about AppImage?


What about it? It doesn't solve the problem, it just allows you to conveniently package everything you can't rely on the distro having, which is basically everything.


Which was the complaint.


But the Linux kernel is really the only common thing you can expect across a wide array of distributions.

* If you're a GUI app you can also speak X11 with GLX and its up to the user to have something that understands your messages.

* If you want desktop integration you use one of the many dbus protocols and it's up to the user's DE to understand your requests.

* If you distribute through Steam you may also depend on the Steam runtime, but you have to be careful to only depend on what's provided.

* If you distribute through Flatpak or Snap you can also depend on any of the provided runtimes or build your own for maybe easier maintainability. It's essentially 'bundle everything' as a service.

tl;dr depend on protocols and runtimes, not libraries.

Also, nothing is stopping you from building against Ubuntu:latest. It's more cumbersome but Linux users will typically find a way to make your stuff work on other distros.


> Also, nothing is stopping you from building against Ubuntu:latest. It's more cumbersome but Linux users will typically find a way to make your stuff work on other distros.

This is not the mentality of anyone who cares about the user experience of the product.


"Mutli-monitor is doable (not as good as macOS but as good as windows), "

What's the gap between Linux/Windows and Mac OS ?


MacOS has had perfect crisp multi-monitor support including fractional scaling and mixed DPI with per-windiow/per-monitor application DPI awareness for years.

Windows is finally introducing a diagnostic in the task manager to show which applications have high DPI support. The modern option, per-monitor awareness, isn't even possible on Linux with the X display server - it requires Wayland.


This is the issue in a nutshell for me. I wish I’d bought a FHD 1080 screen instead of 4K on my XPS 13 for this very issue.

Wayland isn’t an option for me yet because I need screensharing under Hangouts, etc.

You can’t mix the HiDPI internal screen with, say, a 1440 external monitor with Gnome on X11. Scaling is applied equally across both.

Also if you drop back to plain text e.g. during boot up the internal screen will show text at 100% scaling and the text is tiny.

I guess that might be something BIOS could take care of but it’s currently a problem.

Sorry, can’t offer comparisons to Windows, I just work with macOS and Linux.


What do you use as a compiler? gcc?


Containers could be a way out for deployment, if the mixing of licenses can be constructed in a tractable way.


or snaps


even with snaps or whatever that thing ubuntu has?


Not everyone is on Ubuntu.

I currently have eight VMs each with different distros. Mostly it's for testing library compatability on install and input weirdness.

That's a lot of testing.


Snaps work on at least 40 different distros last time I looked. They remove a significant chunk of that 'library compatibility' because they ship the necessary dependencies in the package. While Ubuntu dominates the Linux desktop market, by a couple of orders of magnitude, we made snaps with the express intention of them working on all the major leading distros. The goal being to ensure you don't need to test on all those different distros. One snap to rule them all ;)


Snaps work on other Linux distros, not just Ubuntu. There is also Flatpak which may work even better. You should do your research.


He still has a deployment problem. Flatpak needs to be installed and requires users to set up repos, including flathub itself, so he has to have them jump through extra hoops even if he puts his product in the largest most default repo available.

From what I understand about Snap, the only difference is that that the One True Repo is installed by default.

AppImage is another option he could consider, which requires no repos or additional installs, just flipping the execute bit on the AppImage file. Unfortunately even that is spotty because there is no standard set of libraries to rely on like there is on other platforms, so he'd pretty much have to include everything from glibc up to be safe.


i think people mentioned snaps work on non-ubuntu systems. can't you build everything statically that you need, and deploy as snap? is it a ton more difficult than that? not saying thats easy, but seems less of a burden and you can hit at least a large amount of users


Runs 5000 games run on Linux vs runs well on Linux. Unfortunately - Linux still has some way to go. Generally, you get lower FPS on Linux(could matter for competitive gaming). There are graphical glitches and artifacts even on well supported games(I am looking at you Dota2). It is far more likely for game to be entirely broken via an update on Linux than Windows and it can take quite awhile to get the fix.


this is the truth! I've been a linux user since 95' more migrating to windows on the desktop now that I'm getting older. I've tried gaming in linux throughout the years (even very recently). And this is a big issue, first getting games to work is actually most times a PITA, and one slight update can break what you had going.. It's difficult to invest in a game if you never know when it might break on your OS.


Competitive gamers lower graphics, especially on Dota2, and the game runs great on Linux - especially on good drivers like nVidia.


And to be fair, competitive gamers are a miniscule part of the the market to the point of being irrelevant.


Competitive games are not only Dota


Beating macOS at gaming sounds like a punchline, that's just not impressive, macOS has only ever been an afterthought for gaming.


Maybe so, but in some circles Macbooks are the most prevalent computer, and these Linux advances are thus hugely relevant.


Yes, you've got to try very hard to be worse than MacOS that is openly sabotaging OpenGL and Vulkan efforts.


Lack of OpenGL and Vulkan support never mattered on game consoles.

Even with Switch's adoption of Vulkan, most games are actually using middleware that makes use of NVN.

If a platform is relevant to professional games developers, they will target it, regardless of which APIs and OS it requires.


Consoles give very strict contracts that you can rely on to not change for the whole lifetime of the console. In contrary macOS changes stuff every year apparently based on what a fortune teller says for Steve Job's ghost.

That means that early on, yeah it's as bad as Mac, but it gets way better over the lifetime of the console.


All the middleware that matters for professional game studios has supported Metal since for at least one year now.


Yeah, no. There's talks of Blizzard for instance dropping support for Mac. Dice has a blog post that's messaging concern. It looks like a bunch of engines are going to limp on MoltenVK which kind or imposes a weird impedance mismatch and gives weird perf issues soemtimes that you probs wouldn't see with a native Metal backend.

And that's before getting into the release of Metal 2. There's a non zero amount of work to support it, and it's not clear how long Apple is going to support Metal 1.

And all of that is before all sorts of other crazy stuff with Apple changing their app signing requirements, messaging that they're going to require all apps to be signed by Apple in some future macOS release (but won't tell you when that is).


> All the middleware that matters....

Unreal, Unity, CryEngine, ...

I wasn't talking about in-house solutions, rather engines that many AAA studios buy in order to actually focus on the game itself.

As for the rest of your remark, it comes up in places like HN, but not at all when attending local game developer meetups, developer articles on Making Games, Gamasutra, Connection, IGDA, or many other professional publications.


I mean, my day job is supporting an application across Win/Mac/Linux. Even ignoring the graphics, Apple is easily the hardest to support. I don't really care if you haven't read a magazine article on it.

And to pretend like FrostBite doesn't matter is ridiculous.


It doesn't matter for developers that want to support OS X, as it is mostly focused on game consoles and Windows.

Whereas the ones I listed do support those systems, Apple platforms, Android and GNU/Linux.


So wait, the AAA developers not supporting don't count against your argument? Even in the case of Blizzard who has famously been one of the biggest Mac supporters? Isn't "all AAA support Mac... except all the ones that don't support Mac" a tautology?

Also, just noticed that you lumped in Unity with AAA, lolz. What's next libgdx?


Because their focus is clearly PlayStation, Xbox and PC, not even Nintendo hardware.

There are plenty of other AAA studios using Unreal, Unity, CryEngine.

Maybe you should check again the names of some studios using Unity, ever heard of Nintendo and Microsoft?


> Because their focus is clearly PlayStation, Xbox and PC, not even Nintendo hardware.

> There are plenty of other AAA studios using Unreal, Unity, CryEngine.

Blizzard's focus had been on Mac in addition to Windows. With the switch to Metal, they're probably abandoning it. FrostBite means that EA AAA games probably won't either. Ubisoft didn't release Assassin's Creed Odessey on Mac. And even looking at Unreal Engine 4 games, only Fortnite and a twoer defense game have been released for Mac. Looking at CryEngine, no games have ever been released for Mac. So where is all this AAA support for Metal that you're talking about?

To lead you to water, Mac support is a nice to have so that their in house tools work with the artists' platforms they're used to. But they don't care enough to finish out the QA, or put in any work to make the game actually shippable on that platform. The switch to Metal means that you can't justify it with "well we can just support OpenGL and get Mac for free" like they used to.

> Maybe you should check again the names of some studios using Unity, ever heard of Nintendo and Microsoft?

AAA is about the games, not the studios. Name a single AAA game on Unity.


Responding because I can't edit:

It was about three years ago, that through pseudo public channels, that Apple started messaging that OpenGL was on it's way out. Oh, look what Blizzard game came out (Overwatch) which has pretty flagrantly disregarded the idea of Mac support, even entertaining the idea of possible switch support.


Yet OpenGL doesn't make them support Linux any better.

So support or not for Metal is not the real reason why they don't want to focus on the Mac.

As for games, Nascar Heat 3, for example.


> Yet OpenGL doesn't make them support Linux any better.

> So support or not for Metal is not the real reason why they don't want to focus on the Mac.

"But they don't care enough to finish out the QA, or put in any work to make the game actually shippable on that platform.". Mac was a fixed platform, and you used to be able to justify the engineering because the work ultimately helped make your Windows port better ("the end user will have a way out if there's a bunch in their DirectX drivers"), and let your artists do all the work on the tools they were used to. Then if you're running your tooling on Mac, you've been supporting it the whole time and there's very little QA overhead for release since it's a relatively fixed platform. That last part doesn't apply to Linux. This whole time I've been saying it's not just OpenGL->Metal, it's a Nexus of several things all coming together to break the camel's back.

> As for games, Nascar Heat 3, for example.

You know that a game that's less than $50 at release isn't a AAA game, right?


I guess none of the games on computer stores at shopping malls on my city aren't AAA then, zero.


The ones that release on consoles too for less than $50? Yeah, none of those are AAA.


Today I learned that games like Sea of Thieves, Fortnite, Hitman, GTA, Assassins Creed aren't AAA because they are too cheap according to your price table.


Sea of Thieves - $59.99 on console

Fortnite - F2P, so different enough business model that you have to take that into account

Hitman - $59.99 on console

GTA - $59.99 on console

Assassin's Creed - $59.99 on console

Nascar Heat 3 - $49.99 on console

Are you still going to pretend that you don't see the difference here?


So $10 difference according to your table makes a AAA game, while I can get all of them around here between 30 to 40 euros, whatever.


Yes, the initial MSRP is an extremely high SNR signal as to whether it's a AAA game or not.


(not in the game industry, but a graphics programmer)

Are there really no games out there that program their own graphics anymore and don’t rely on “middleware” engines? This seems shocking to me. Then again I was shocked the first time I learned that most games don’t hand-code assembly anymore. Things move so fast.


AAA studios always use middleware, if it isn't bought, it is done in-house.

The actual set of 3D API is a tiny portion of everything that a game engine requires, among scene management, materials handling, graphical editor, plugins, sound, physics,....

So one always ends up with a pluggable rendering layer, where adding a new API is relatively simple.

Now what has been happening is that with production costs skyrocketing, most studios are increasable adopting external middleware that they just adapt to their purposes than writing everything from scratch.

For example, you can get Unreal and get support for NVidia's raytracing features out of the box, or invest the money to develop the same features from scratch in-house.

The culture in the games industry is that what matters is the story, gameplay, taking advantage of hardware features and getting the game out there, tech comes and goes.


macOS can't really be considered a proper gaming competitor to Linux, since it runs on very limited hardware. You can't use it for demanding games, unlike Linux.



That doesn't sound like a gaming targeted computer to me. More like an attempt to make a workstation one. Is it even modular?

And pricing is crazy. You can build a powerful rig for Linux gaming using way less money.


tbh i always thought that it's ahead of MacOS for a long time, since Gaming on OSX was always rather terrible.


Still has more games than Linux, eg Blizzard games, call of Duty, Company of Heroes and a bunch of other AAA titles.

You can get a bunch of games working on either with Wine.


If you don't have specific Windows apps, I'd be tempted to try a Chromebook these days.

Around 2 years ago I got a cheap Chromebook and it was terrible. I think it was $250. Fit and finish and keyboard kind of sucked. I found one of those HP Chromebook 13 g1 boxes, which Woot had refurb for half off at just under $500, and it is much closer to the hardware experience I'm used to with Thinkpads, for 1/6th the price.

Now, I almost always reach for the Chromebook instead of the Thinkpad EXCEPT when I need to connect to both of my work VPNs, the Chromebook will only connect to one at a time. I can ssh into my personal and work machines, run my password manager, program via remove vi sessions (though I could stand to use VSCode, I don't have that set up on my Thinkpad either).

The Chromebook has been a great experience for me.


Chromebooks sound amazing except I don't want to be locked into Google or give them more of my data...


Personally I choose Debian, but if the alternative is getting locked into Microsoft and giving them more of my data, then I choose Google.


Surely Google's privacy-invading footprint is far wider than Microsoft's, including Analytics etc.


For me, I'm thinking about what I would prefer to give to my parents/family, who right now use Ubuntu laptops. Chromebooks might be a bit slicker, but yeah, there's no contest between Ubuntu and Google in the "big brother" department.


Do you trust the hardware?


My chromebook sits on the shelf, unused. None of the apps really work properly. It's been a big disappointment.

I recently dusted it off and had the apps update. They worked worse than last time.

YMMV.


i am curious as to what apps don’t work properly. considering ChromeOS is just an OS that mostly “wraps” web pages, what doesn’t work for you?


The most critical one is lastpass.


Why a Chromebook? Linux still works better on x86 CPUs, and I am sure there’s plenty of laptops, including inexpensive ones, that are perfectly suitable for Linux. (My current personal workhorse is a ZenBook on which I have tried Fedora, Slackware, and Ubuntu - all of which ran without issues.)


I run Linux at the office on my desktop and ~100 physical/virtual machines. But for my personal box, when my 8 year old Thinkpad finally died, I wasn't doing very much with it and wanted something cheap and easy to maintain. And I wanted to see if I could live on a chromebook.

The cheap part it did meet, though that was partly because it was refurb. It's surprisingly close in hardware to my $2500 Thinkpad that work brought me, similar display resolution, similar "feel". The Chromebook was $500 refurb or would have been just under a grand new. I don't have to "maintain" it, which I appreciate since I have 100 Linux boxes I maintain at work.

My work laptop is running Ubuntu 18.10, 18.04 wouldn't install on it because it's too new. It was a fairly simple install, things mostly work on it. I do have some issues but nothing major. One thing I really hoped for was to be able to use the docking station with multiple monitors, but that isn't supported at all in Linux because of the multiplexer in it. But I can't get the chromebook to work with a USB-C to HDMI adapter either, so...


Coincidentally, recently project Crostini has reached Chrome OS stable. To those who don't know what it is - Crostini enables running Linux apps on Chrome OS (https://chromium.googlesource.com/chromiumos/docs/+/master/c...). This makes Chrome OS a lot more appealing than it used to be, especially in combination with top end hardware like Pixelbook or Pixel Slate.


What's the point of even buying a Chromebook if you're just going to run Linux anyway?

What is the advantage of buying a chromebook?


For me, at home, I'm doing very little. 90% of what I'm doing on my personal laptop these days is in a browser. ChromeOS is a dead simple, secure, browser appliance.

Being able to install an Android SSH client and VPN takes that up to more like 99% and lets me do some work things as well.

Being able to install a Linux app or two would probably take me more to like 100%. The only thing I really want to do that I'm not at the moment is have a more self-contained development environment like VSCode to dabble on some python rather than sshing over to a box and editing in vi.


Goodness, two vpns?


If you're careful, each service is behind a separate one.


Glad that Ubuntu works well for the author, but I've used Ubuntu on and off for a good 5+ years, and could fill a book with small things that just don't work quite right, and cumulatively makes it feel like I'm fighting the computer instead of working with it.

As a brief taste:

* No trackpad swipe gestures (plus many more subtle trackpad issues)

* Pre-Wayland the only way to attach a second screen at a different DPI was with xrandr that caused random flickering

* Accidentally bricked it once because I restarted while updates were happening in the background (no indication they were, and no prompt to let me know before restarting)

I could go on for awhile...


On my Dell Precision 6800:

* "Supported" ubuntu was so old that neither Chrome nor Firefox would update

* Latest ubuntu constantly toggled the backlight at 30fps (yes, really).

* They didn't provide a driver package, instead they provided a utility to bake drivers into install media. Naturally, it didn't work, the documentation described a significantly different version.

* All these problems were well-represented in forlorn solutionless forum / stack overflow threads.


Where did you get info on what the "supported" Ubuntu version is? I've installed 18.04 on C2D machines and it looks like your machine has a Haswell CPU. The latest version of any Linux distro you want will work.

Also, did you ever try these utilities to set the backlight PWM? https://wiki.archlinux.org/index.php/backlight#Backlight_PWM...


I think he's referring to the version that Dell ships with the laptop. But that laptop has been out of support from Dell for so long I don't know why this is a problem, it's not like you were going to be able to call them up and get support on it anyway.

In my experience Ubuntu on Dell laptops tends to just work. Even things you might not expect like the volume keys on the keyboard.


Usually Ubuntu takes care of browser updates by itself - you don't (shouldn't) update browsers yourself.


I’d take any notion of ‘supported’ versions of Linux with a grain of salt. It usually just means that those are the only versions that they’ve tested.


my biggest wtf was when after rebooting after an update, the disk decryption didn't like my password anymore. turns out, the keyboard layout was switched and my password contained special characters.


I had something similar happen with a CentOS install. For some reason, the keyboard layout of the installer was in UK English, but rebooting after installation set it to US English, causing my password to not work.


No trackpad swipe gestures (plus many more subtle trackpad issues)

It's amazing how often this gets discussed: https://qht.co/item?id=17547817 without, seemingly being definitely resolved.


The author praises the package manager as a positive, not a negative as I usually see from people used to downloading *.exe installers. He's used other distros, plus a Mac, in the past, but I wonder if phone app stores (plus Windows' own software store) have made this become a more natural method of installing software for the average user?


I've been using Linux for nearly two decades and the package manager is probably one of the most attractive features it has over other operating systems.

Keeping your software up-to-date on Windows is a massive pain and requires tons of manual work.

I guess people are more used to the package manager's way of working today due their exposure to app stores; but I'd be surprised if anyone wasn't impressed by how easy and convenient a package manager is after using them for a small amount of time.


> package manager is probably one of the most attractive features it has over other operating systems.

I agree with this and I'm using Linux only for several months, the update experience + software discovery is really something mindblowing (nope, Chocolatey and brew are not really comparable).

I still don't like the model completely (additional work for package managers that sometimes screw things up, see e.g. Debian Weak Keys) but overall this is a very pleasant experience.


I switched from Windows to Linux before I had a smartphone and appreciate the package manager. I got a Macbook for work and lamented the lack of package manager (homebrew is a weak substitute in several ways).


Macs have the App Store, which works well for GUI programs. On the CLI side I have played with Brew (and Fink a long time ago), but I prefer MacPorts because it feels more solid (at the expense of not having all of the bleeding edge stuff.


Ah, yes, but my package manager covers every piece of software I use. No specialized update services. It seems like a small thing, but it's more pleasant.


And if it doesn't cover software you use, then it sucks to be you. Or if you want to install an application to a different disk. Or if you want to have two different versions of an application installed. Or if you want to use an application that relies on dependencies your package manager has decided are incompatible. The package management paradigm has its own set of limitations and flaws.


I've really not had any issues finding what I need for Arch Linux.

If you want to install to a different disk, you could still install the raw binary, or mount a directory in your applications directory.

Those are just hard situations in general. I'm a big advocate of statically linking anything possible, because I have disk space galore and dependencies can be a pain as for your last point.


They aren't hard problems at all. Even DOS handled them with ease. The problem is that the culture of application development around systems with package managers doesn't consider these use cases at all, forcing you to jump through a bunch of hacky hoops to do deal with them. Case in point: symlinking or mount-based tricks because developers hardcode paths.


Having multiple versions of dependency libraries was a pain on DOS, Windows, ... It just is what it is. For the record, you can have multiple versions on any OS, but it's important they have a version in their name and that the dependent application is aware of that convention.

The specifics of path layout is just how Unix-like systems do things in general. It's not all that different on MacOS.

If you really like the filesystem layout of Windows, just use Windows. If you really like `exe` files, just use Windows. I don't see the problem.


> Having multiple versions of dependency libraries was a pain on DOS

DOS didn't even have the concept of a dependency being separate from the application, so i'm not sure what you're trying to say. MacOS classic also didn't. Windows didn't either, really, until DLLs became a fad and ushered in the era of DLL hell.

> If you really like the filesystem layout of Windows, just use Windows. If you really like `exe` files, just use Windows. I don't see the problem.

I don't particularly like the way Windows works these days because it is becoming more like UNIX, and installers certainly aren't a great idea but I still prefer them to package managers.

There's no problem, I'm Just expressing an opinion about package management, same as you. If the Linux community doesn't agree, and they've made it quite clear that they don't, then that's fine and I'll just continue not to use their OS like most people.


Those are all problems with implementations, not the paradigm.


Show me an implementation that doesn't have these problems, because I've yet to see one. That's not surprising though, since once you've solved these problems you don't need a package manager.


Oh yes! We solved that problem in the early 2000's.


For a long time you did not need a package manager or installers or anything like that on Macs. Just drag the application to your Applications folder and it was installed. I was always skeptical of Mac software that came with an ‘installer’. Like, what on earth is so complicated that the developer thought he needed a separate executable merely to copy the application over??


I freakin' love Linux as a personal workstation OS. I got into it in 1995, back in the days when Linux was punk rawk and you had to dig around on tsx-11 and sunsite to find things to run on it. I still dual-booted Windows there for a few years. Then I noticed something: Windows would, suddenly and without warning, stop working. As in, blue screen on first boot. All the way up through Windows 2000 -- 9x, NT, didn't matter. Windows would find a way to fail and, often as not, take the whole disk partition with it.

So I decided, okay, Microsoft, if that's the way you're gonna be, fuck you. Yeah, yeah, I know. Windows "Just Works" out of the box. Except when it doesn't, in which case you're up shit creek. The extra tweaking I had to do to get Linux fully going was well worth it because once Linux was configured, it would stay that way -- forever if need be.

For that reason I still run the same distro today as I did back then -- Slackware. Where other distros try to win you over with newness and shininess, Slackware is shibui. Shibui is the Japanese aesthetic of crafting simple objects out of natural materials, in such a way that the natural texture of the material shows through and gives the object an understated beauty. Slackware is a simple distro put together in such a way that the "natural texture" of Unix shows through, making it easy to configure to your liking provided you're willing to learn the command line and some basic configuration files. It's very much like a BSD in that regard.

I know I'm not a typical user, but I fit the profile of an ordinary Linux user from another era. I'm glad to see more and more Windows users give Linux a try, but I just hope there'll still be room for people like me in the vast and changing Linux ecosystem.


AFAIK, Slackware doesn't even have a package manager, does it?

The only experience I had with Slackware was just that, I installed it, found out there is no package manager and installed Ubuntu.

I have a hard time understanding why someone would use Slackware when there is distros that is literally better at every aspect.


I used Slackware about a decade before the first release of Ubuntu.

So that's the answer. Because it was the only thing that existed back then.


Like you, I know I'm not the typical Linux user, but I took started out with Linux (Red Hat) in 1996, then got into learning Linux with Slackware. Today I have servers at home and 'in the cloud' all running Linux (mostly Debian), and home systems (old iMac 27", Macbook Air 13") running Linux only (ElementaryOS and Budgie Ubuntu) and couldn't be happier. I use i3 on the desktop and just work so much better/faster than in any other OSs. You get closer to the real power of the hardware too, amazing how much faster everything is w/o the bit OSs of macOS and Windows. At work is a diff story, depending where I am (I'm an IT contractor), but when I have a Windows laptop, I do 95% of my 'real' work on a Linux server I ssh to. I've also gotten into FreeBSD and OpenBSD on servers and they're fantastic there too, but being in a Linux desktop is where I'm happiest.

TL;DR me too ;)


> much like a BSD

Why not try a BSD, then?


Who's to say I haven't? :)

The BSDs have a few drawbacks, mainly lack of hardware support compared to Linux, which is why my NetBSD machines tend to be older or retired from "main computer" service.

On the upside, once NetBSD does support a piece of hardware, it supports it hardcore, with a well-written, well-documented driver and easy to use programmer interface. (wscons(4) is the stuff of dreams.)


The only issue I face with Linux on my Dell XPS 13 is the sub-par touchpad experience.

If I use Ubuntu with XOrg, I don't have features like touch rejection while typing etc.

If I use Ubuntu with Wayland, my cursor is all over the place.


> If I use Ubuntu with XOrg, I don't have features like touch rejection while typing etc.

I'm guessing that when you say "Ubuntu with XOrg" you're referring to a specific window manager?

On Debian with Xorg my touchpad and touch screen are both easily toggleable with a keyboard shortcut, the touchpad automatically disables itself when I'm typing or when a mouse (bluetooth or logitech solaar) is detected.


It's a bit of a pain that it doesn't work well out of the box, but the situation can be fixed with a little tuning of your xorg configuration file.

https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Usin...


For reference, this is what I use on my notebook (Thinkpad E485): https://github.com/majewsky/system-configuration/blob/30dbd7...


At least with KDE/Plasma most of this can actually be done in a UI. I'm an Arch Linux user myself and I haven't hand edited an Xorg configuration file in at least 3 years.


I have similar issues I've found that disabling tap-to-click is the only option. Takes some getting used to actually pressing down the touchpad instead of tapping, but at least typing is now a deterministic experience.


What version of Ubuntu? Libinput, the new touchpad driver, has had major improvements recently, but you only get the new version if you upgrade the system version.


Weird, I find the Dell XPS 13 to have a superior click pad to everything else I've ever used. Including MBP


On reflecting the writer's use-case, and my own use-cases for enjoying both Linux (Ubuntu, but Gnome3 no Unity) and Windows:

I've used Linux for 15 years. It truly was a pain getting things like ADSL modems (wired) connecting. But that was 15 years ago and not the point of this post.

I use Linux at home -

Gnome gives me no task-bar, or a highly customisable one if I want that. I'm focused in the application that I'm in. The UI supports the *NIX philosophy that one app does one app's job well, and if more need to be binded together, that's OK too. I feel peaceful in Linux. Terminal is running and that's an alt-tab away. Mouse to the top-left gives me other apps, though only ones I regularly find useful. Mint might not give the same.

Linux, or my Linux setup, allows me focus.

I use Windows at work -

Windows has a taskbar. Everything is in the Windows menu. The taskbar can be hidden but mouse-over activates it, and the Windows menu can be customised, but it still feels there as a distraction. Office is an outstanding piece of software today; Outlook: I used to receive 400+ email per day, and know people that get 2000+ everyday too - Outlook makes that almost manageable; Excel and Powerpoint are astoundingly good at their scope; Word, I transitioned to pmwiki (need for collaboration and flexibility); Sharepoint and AD integration... obviously this is a corporate environment.

Windows feels distracting. Adding a Linux sub-system doesn't change this UX (for me).

What works for me -

In a working environment I have Linux running on a VM and spend 60% of my time in this. At home I have a Windows VM running 20% when I want the best of Windows (which, for me, is Office). Not a gamer so no input there.

Choose the most comfortable tool for the job. YMMV.


Exactly. I've used all 3 major OSs and when we get into these discussions, you have to look at how each has its own pain points to be fair. Overall, Linux is a clear win for me. But YMMV, indeed.


It's a big problem though that when pain points are brought up the response is often to just point at one of the other OSs's pain points and dismiss the criticism. Unfortunately we can do very little to make Windows or MacOS better other than complain to the deaf ears of the companies that own them, but theoretically Linux Desktop could be better if complaints weren't simply dismissed in this fashion.


Yeah, I agree.

I've really taken the time to look at the pros and cons of each, but even a bundled list like that would likely not be useful to anyone else.

But at least I can fix the flaws I see on Linux (often).


Sure, maybe, if you have the time and expertise to fix those flaws. But if the community doesn't adopt your fixes then you're stuck maintaining them yourself forever.

Over the years I've seen several solutions to my personal gripes with Linux Desktop, and they are routinely ignored or rejected because the culture as a whole just doesn't seem to actually care about those problems, or doesn't even believe they are problems.


I haven't had the same experience. Which distros have you tried? Perhaps another would be a better fit technically or community-wise. I'd recommend Manjaro for a rolling release (no major reinstall every year), a focus on user-friendliness, a friendly community, as well as being based on Arch, which means the platinum-standard Arch Wiki is available as documentation for you.


I've tried many. The problems I have with the Linux Desktop are not solved by any of them, though Nitrux at least tries to deal with one, albeit poorly. This is because the problems I have are pretty much endemic to the thought process of people who use and develop for UNIX systems. Things like hardcoded paths, the weird file hierarchy (please don't try and "explain" it, I know how it works and the reasoning behind it, I just disagree with it), no separation between system and application, overly complex and convoluted abstractions, etc.

>a rolling release (no major reinstall every year)

In my experience, rolling release just break things more often.


I'm using Ubuntu since almost 10 years. I rediscovered windows 10 and i have to admit it's pretty good : more responsive than Ubuntu, more pretty. On the down side, you have to download drivers even for very common devices like for the wifi card of Intel nucs. I miss also the simplicity of installing software and library (sudo apt get...) Vs downloading an installer, the installer download something, clicking ok ok ok ok ok ...


Ubuntu works great for me and has done on every machine I have installed it on over the last decade or so. I find that the support for drivers is much better than with Windows except for when it comes to wi-fi. This means I have a drawer full of external wi-fi dongles and miscellaneous folders full of drivers that don't quite work.

Despite this I find Ubuntu to be a much more productive OS than the alternatives available.

What I do not understand is why people are so willing to give Ubuntu a hard time. On any discussion there are people from Windows or OSX that point out their negative experiences of Linux whilst being blind to the deficiencies of their own paid-for OS. It seems as if it is easy to write 'yeah I tried Linux for a couple of weeks five years ago and I thought the start menu was naff plus I couldn't get x to work' or to moan about the command line aspect.

It is much harder to write constructively so any discussion of Linux comes down to many subjective judgements.


When was the last time `apt dist-upgrade` did delete all your files? Oh... Never ;-)

It's hard to read all these opinions when my own experience with Windows is that I won't touch it with a pole. And God help me if the wireless fails (my wife's corporate issued Windows laptop could connect with the Starbucks across the road, but not with the stock D-Link at home) because there are at least 3 vendor specific control panels in addition to the Windows one, all showing conflicting information (and nothing on what actually failed).

Windows users are so shenanigan-tolerant when it comes to Windows it's a bit surprising they don't like rock-solid distros like Ubuntu or Fedora.


> When was the last time `apt dist-upgrade` did delete all your files? Oh... Never ;-)

On the other hand, I have had it brick the package manager to the point that only reinstalling the OS from scratch would fix it, or break perfectly functional existing applications by replacing their libraries with incompatible versions.

I think if you look around you'll find that Linux Desktop users are also remarkably tolerant of shenanigans. Editing poorly documented text-based config files by hand, having to compile some applications from source to get an updated version because it isn't in the repo, having to containerize applications because of the interdependency mess, setting kernel boot parameters because of strange driver behavior, etc.

Modern OSs just kinda all suck and it's more or less subjective which ones suck more than the others.


I don't remember when was the last time I had to edit a config file on a workstation or compile a program from source or set a kernel boot parameter (other than because I wanted my console to default to green on black). I'm pretty sure the last time was before 2010, possibly before 2005.

We containerize apps for a multitude of reasons, one of which is for ease of integration. Security is also an interesting reason for that. And, once you get the API stable, it's conceivable to replace it with VMs or off-board processors.


> I don't remember when was the last time I had to edit a config file on a workstation or compile a program from source or set a kernel boot parameter (other than because I wanted my console to default to green on black). I'm pretty sure the last time was before 2010, possibly before 2005.

Therefore it doesn't happen, right? I had to hand edit config files just the other day, because the distro I was working with exposed no other mechanism to work with cron. Change the distro and you just change which parts make you dive into the config files.

> Security is also an interesting reason for that.

True, but the prevalence of Docker and its lackluster security reputation suggests that it is not the primary reason. Where else are containers used? Oh, right, Snap and Flatpak, because it's considered a reasonable way to make a single application build work across distros.


Anyone use Linux on the desktop with a document scanner? A big component of my at-home PC use is scanning documents (I'm a self-admitted digital hoarder). I have a Fujitsu ScanSnap S1500, which is "supported" by Linux/SANE. I have tried to use this scanner under Linux, and while it does work, the problem is that the Windows-only Fujitsu software (ScanSnap Manager) does a lot of useful things to the scan data: straightens the document if it was fed in at an angle; converts to PDF; adjusts contrast, white levels, etc so the digital result magically looks like the physical document; and more I'm probably forgetting.

I have Ubuntu on a little NUC PC attached to my TV. The other day, I heard the fan running loudly on this system. Ubuntu's update system, across several processes, was collectively pegging both CPUs at 100%, causing the fan to ramp up. Why does an update system (which was waiting on my input) require so much CPU?

The huge number of distributions is both a blessing and a curse. Ubuntu has clearly put a lot of effort into the ease-of-use aspect. But what I found (years ago, to be fair) was that if you had any non-trivial problem, the forums weren't terribly helpful. On the other hand, a distro like Arch has fantastic documentation, and really knowledgeable forum users, but you need that because you're doing everything by hand. I haven't found the sweet spot that gives an Ubuntu-like experience out of the box, but has a very technical Arch-like community.

The statements the author made early in the article really resonate with me. I consider myself a Linux "pro", as I've been using it as an enthusiast for 20 years, and have been a professional admin for about a decade (server-side, not desktop). So I have fixed or feel I can fix just about any Linux issue. But at this point in my life, after work, I don't have the time or desire to fiddle with things, I want them to "just work".


"I haven't found the sweet spot that gives an Ubuntu-like experience out of the box, but has a very technical Arch-like community."

For me, that sweet spot is Manjaro. I have been using it daily on a laptop (T470) at work for nearly 2 years, with barely any problem at all. Moreover, it gives you many very polished DE options (official and community editions).


I'm writing this from my XPS 13 using the latest Ubuntu and once I've spent a few hours configuring everything, it works almost perfectly. There's still a few bugs, like Ubuntu not remembering the audio settings.


What? So XPS 13 which you can buy with Ubuntu preinstalled still has parts of the hardware not working after "a few hours configuring everything"?

I can't understand how that's acceptable to anyone.

Literally every laptop I've installed Linux on had a litany of driver problems.


> I can't understand how that's acceptable to anyone.

The other day Microsoft had to pull an OS update because it deleted all user files. Without warning.

Even on Windows, hardware support is kind of hit and miss, with manufacturer, supplier and Microsoft bugs piled on top of each other. Everything is "supported" but sometimes things break or stop working, you reboot the computer and continue using Windows.


>Everything is "supported" but sometimes things break or stop working, you reboot the computer and continue using Windows.

That's right, I reboot and continue working.

On Ubuntu it just doesn't work. Period.


> On Ubuntu it just doesn't work. Period.

You are, clearly, doing something very wrong.


I have an xps 13 dual booted with ubuntu and windows without any driver issues. Everything works great besides the lousy keyboard and trackpad, and that's all Dell.

Actually, there are a few problems: windows can't render fonts clearly a lot of the time for some reason, and it keeps losing the current time, and it keeps erasing GRUB after windows updates.

Ubuntu itself runs great


It is probably "losing" time because it assumes the system clock is set to local time while Linux assumes it is UTC. If either use a network time service to reset the clock, the other will look wrong between reboots.

The easiest solution is to use localtime on Linux. Windows can run with the system clock set to UTC but I hear it is rare so it my not be well supported. See more here: https://wiki.archlinux.org/index.php/System_time#Time_standa...


I prefer using UTC for both because I live in a timezone with Daylight Savings and multiple OSes always step on each other's feet and each adjust the time on their own and then you're three hours ahead.


It's not the developer edition but the regular one and I installed Ubuntu myself.

A vanilla install is good enough for regular use, but I've got a multi-display setup, unofficial dock and other tweaks because of my workflow.

The audio bug is Ubuntu's and it basically means that I have to select the output device after every reboot, a 5 second task. I can definitely live with that.

> Literally every laptop I've installed Linux on had a litany of driver problems.

I'd agree with you at one point, but various distros work fine on a whole range of hardware, this isn't the 90s anymore.


You are assuming the XPS is the developer edition.

I am also running Ubuntu on my XPS, but it came with windows orginaly. I also don't have any hardware issues to speak of.


How is your battery life?

I also installed ubuntu on my xps, and I'm only getting about 2 hours max, although I always keep it plugged in, so it's not a real issue for me.

As for hardware issues, I had to download wireless drivers, which was a slight pain since there is no ethernet port.

I was able to get my video card working with optimus, but that wasn't non trivial.

I wound up disabling my track pad and using a mouse since I couldn't type without the cursor doing something, and it seems like one of the trackpads buttons broke after a days use.


My battery life is pretty fantastic. Around 8 hours or so with docker running and doing development. https://i.imgur.com/xYkGRdJ.png

I had zero hardware issues. it all just worked. I would say installing Ubuntu was a little tricky due to UEFI, but other than that no issues.

I have a XPS13 so no dedicated video card. No issues with the track pad other than the dumb middle mouse button past.


Its a bit hard to read the times, but its more than 8 hours with 17% left as I plug in for the charge.

https://imgur.com/a/C7rCKeK


Just got the XPS 13 developer edition here so still brand new. I am getting 10 hours or so with web browsing


When I purchased my XPS 13 from Dell's website (Australia) only choice I was given was Windows There was no option at all to get the version with Ubuntu preinstalled.

For whatever dumb region Dell decided to region lock the choice of Operating System.

It took me about a few hours too to scrub Windows and get my distribution of choice running and fully configured (hooray for sub par Australian internet speeds).


It's possible they don't mean hardware, but rather Ubuntu does not save the settings properly. I have had that issue with the Unity WM


Compared to installing Windows, which often lacks drivers for the network adapters, installing Linux is a breeze.

Good luck getting those Windows drivers without a working internet connection. And good luck explaining your solution to the average, non-technical user.


The situation is pretty similar for both. If your driver isn't part of the install, you have to go find it on the internet. With Windows, this usually isn't too bad because it has stable driver ABIs, but with Linux you may have to compile the driver to get it to work.

That said, it's been a long time since I last saw this situation on either OS.


What? That doesn't make any sense at all. Someone goes through the trouble of developing a network adapter and doesn't provide a Windows driver??? What DO they provide drivers for then??


The issue is (used to be) that they'd develop the Windows drivers, and publish them... on their website. Whereas the Linucies would bundle pretty much all the supported drivers on the install disk.

Precisely because the vendors only write Windows drivers, if it's supported on Linux it's probably in the kernel tree.


I want to downvote you and shout/hope it aint so.. but your right :(


* you're


XPS 15 9560 here. The audio thing seems to be very recent. I've noticed that my (usually muted) audio is always re-enabled on boot now, but only in the past week or so. I've been running Cosmic since the early alpha days. A minor annoyance as everything else works perfectly on this machine - hopefully it'll get fixed soon in an update.


Audio is similarly broken under Windows too on my XPS13.


I'm curious, are you using the 18.04 LTS version which come with the system or the latest 18.10 version ?


18.04 but not native, I installed it myself.


I recently switched to an XPS 15 9570 from my Macbook Air. I'm giving windows a shot for my secondary dev machine (python, docker, php, etc...), while being fully aware of the persistent Windows 10 issues. So far, the hardest part was adjusting my keyboard workflow from Mac to Windows.

For the time being, I'm extremely happy with the hardware and satisfied with Windows. I'll give dual boot a shot in my spare time.


Same here, except I bought a precision 5530, after 12 years on Mac (2 MBP, then a MBA). It’s been a few months and I like it, I don’t regret it. I don’t mind Windows 10 at all, it feels a bit more customizable than MacOS actually. I do find the way it puts all the files that makes an app work all over the place. But a lot of people are experts in this. My Linux need is limited so I run the Ubuntu installed from the Microsoft App Store. Rest of my time is splitted between Firefox, Conda and Office. I am not doing any serious CAD, so I didn’t really need the Quadro or the 4K screen, but I have none of the problems that some are complaining about the XPS and it just looks so great. Onyx case also!


Windows Subsystem for Linux is one of the big reasons why I didn't mind switching.

I tried out a few thinkpads as well, but ultimately went with the XPS


windows for docker & dev box? seems like perfect scenario for Linux here :) Fedora 29 is great tbh - u should give it a try.


There are a few occasions where some images don't work with file syncing between windows shares and docker. MongoDB comes to mind.


To add my own anecdote to everyone else's:

I haven't touched Windows or used anything by Microsoft since 2010, save for trying some games that my friends played. These days, if there's a Windows-exclusive game I like, I try to run it in CrossOver/Wine or Parallels/VMWare, or forget about it. Windows machines are synonymous with games consoles for me now, and between my Nintendo Switch, 3DS, and Mac ports, I feel I'm well-catered for with regards to games.

I also don't use Google for anything except their search and YouTube, and I was already using the latter before Google gobbled it. iCloud serves my email needs just fine. I also try to block as much of Google's cross-site tracking services on my computers as I can, like Analytics.

If you're horrified or disgusted by the idea of someone sticking solely with Apple for so long, consider that you and I only prove the point that it IS certainly possible to avoid one or more of the 3 major computing companies entirely. Once you're used to the alternatives to those, you may never even miss them.


The only thing that is stopping me to jump to a linux laptop is battery life. MacOs is just optimised to a crazy extent. Nothing really comes close to the same battery performance if you don't want to get your hands dirty with tlp.


I recently moved from a MBP2015 to a MateBook X Pro and what I like more is the battery life, I can work a full day without plugging it in (I work from coffee shops). One reason for the long battery life is the 15W CPUs in ultrabooks, as opposed to 45W in bigger laptops. Here are some things I did to boost my battery life (I get 7~10h)

- Undervolted the CPU (-100mV). - Using bumblebeed/bbswitch to switch between GPUs, I never use the discrete GPU but I'm glad it's there just in case. - Show power consumption (watts) on my status bar to keep an eye for power hungry websites - Using Arch so it doesn't have anything I don't need running out of the box. A bit harder to install and configure though. I'm actually not sure if this helps or not - Disabled Xorg compositor, yeah, I don't get window shadows and there's a weird flicker when I switch desktops but it gives me an extra 10~15% battery life.

There's also a utility called "powertop" that gives you stats about power consumption and a bunch of levers to improve it.

It took me a few days to set everything up but now I'm in love with the mobility.


From what I heard, this is not true for the Dell XPS 13 and other new Notebooks that supposedly run well with Linux. I get almost 5 hours out of my decade-old Thinkpad T410 (original battery). My 2018 Macbook Pro 13" with touchbar only gets me through 2/3rds of the workday (older models or 15" work way longer). Apple put in smaller batteries and optimized their own (!) apps to compensate. You're pretty much forced to use Safari if your don't want even worse battery life.


I find its all WiFi. On an xps 13 with ubuntu, I get 10-12 hours on low brightness without wifi, but often 4-6 otherwise with wifi. Its really nice for roadtrips.


I wonder whether that is causation or correlation?

AFAIK the WiFi hardware doesn't use much power itself, although I might guess that background protocol chitchat could cause CPU usage. I think that when I am usually using WiFi I am also usually using a browser that chews power.


Turning off wifi is probably just turning off your ability to do a lot of heavy processing as you interact with the internet, right?


This is my thought. Turn off wifi and you're no longer running the cpu and memory monster that is a web browser.

But this is something Apple does right. My wife noticed that she can get around 50% more battery life out of her Macbook using Safari instead of Firefox. (7-8 hours instead of 4-5).


> "get your hands dirty with tlp"

I always go with the defaults, so my hands get dirty by:

`apt-get install tlp tlp-rdw`

That's it - by default it starts, and is enabled to come up on boot. Works for me, and I far prefer Linux, even on my Macbook Air


I have the same feeling with my MacBooks. They are so perfectly tuned to the software they come with they are nearly unbeatable.

But nothing other than Linux will ever be installed on my other laptops. I moved away from Windows as my main OS in the early 2000's to never look back.


I get 12+ hrs with my Lenovo Carbon X1 (6th gen). There is a necessary BIOS update for better Linux sleep behaviour, however.


I've installed Arch on XPS 13 9350 and was also surprised by the amount of things that worked out of the box: touchpad, HiDPI scaling, different scales for different monitors, no issues with the Thunderbolt dock. Actually Windows had more issues for me on this laptop.

Or course one can still screw something up but with a little effort it's easy to learn how to get out of trouble. Additionally Linux is like Lego - one can create their own setup, e.g. currently I'm using Yubikey's OpenPGP card to unlock full-disk encrypted disk. Bitlocker cannot use smartcards (but can use TPM).


The Linux Mint experience of the author is strange. I was able to install with no problems on three very different machines (Dell Inspiron, HP Laptop (forgot the model, it's my daughter's) and an assembled game PC featuring 4 Monitors). The only qualm I have with it: For fear of data loss I decided against full disk encryption (the installation procedure asks for it) in expectation that one can switch after installation (I think Windows is able to do this). Unfortunately, that is not possible and imposing this later seems to include a lot of low-level work.


The article author was on a Linux podcast about a week ago and clarified that he couldn't reproduce the Mint issue, as it seemed to properly detect it when he retried later. But he had set strict guidelines for the article--basically, that he had to do this from a lifelong Windows user's perspective. So if the distro didn't work the first time, he moved on to the next one.


Yeah, I got that and I am absolutely fine with it. A bit strange though that this happened. Maybe he scrambled something during trying the live image...

As I migrated not only me, but also (non-technical) other users I would have wanted to stick to Mint even at the cost of jumping through hoops as the migration is said to be easier for Windows users (as compared to eg. Ubuntu). We never looked back.


Another anecode here, but I've had the exact same thing happen to me - Mint failed due to a similar issue during install, while Ubuntu installed without issue. I ended up using ubuntu for a while


>once I've spent a few hours configuring everything

This is what stops noobs from using it.


Because noobs can install Windows in 5 minutes?

First you need the drivers, how will you get them if you don't have a CD ROM and ethernet is not working?

Sometimes drivers suck, sometimes Realtek sound drivers mess up the Realtk network cards, will your noobs know what happened?

Then you have to install apps like VLC, good luck ending up on the official site and not some random download site

Other issue I personally have with windows as a disabled person is Windows did not allowed me to set custom keyboard shortcuts for the Magnifier app. In the worst case with an open source app I could edit the code and fix it but KDE allows me to set the shortcuts as I need


The difference is that you bought the laptop with Windows already installed, so the manufacturer went through all of those headaches for you.


It is true not all laptops work with Linux.

But a noob can't reinstall windows and resetup his apps in 15 minutes either. A fair comparison is to give a setup Linux and a setup Windows and have them install the apps they need like browser, video player, printer etc.

If you are a developer(in general not Windows apps only) you have a much better experience installing compilers,servers on Linux.


Noobs don't reinstall windows. They bring it to BestBuy to have the nerd do it for them for $100.


Noobs don't reinstall Linux either, you bring it to your tech friend or any repair shop.


The article author touched on this as well. The single biggest hurdle that comes up when my sphere of influence talk about installing a linux distro is the amount of manual fussing and finicky driver work you "have to do". Whether that is the reality in today's distros compared to people trying distros out in years past (hello XUbuntu 7!) is to the side. Perception is reality, and no amount of my arguing has been able to change people's minds unless they are already a tinkerer or an anti-Microsoftie.

A sibling comment talks about using xorg vs Wayland and the difference it makes in making the mouse work well or not. That is a perfect example of what holds Linux back from it's (hopefully soon) year of the Linux desktop.

If a given Linux distro would target a consistent set of apps that are familiar to users/"noobs" out of the box (the list the author used is pretty representative) as well as some more visible attempts at automatic driver selection based on known hardware IDs, it would dramatically lower that friction and thus help combat the possibly unfair perception Linux currently runs into in the mind of plain users.

I will say, Microsoft has been bungling things so epically with their windows update boondoggles that I'm starting to encounter users who seem more open to that Linux thing, at least if you pitched it with a distro that tried to have Windows-like look and feel, like the ZorrinOs/Lindows/KDEs of the world.


Problem is happening with laptops, I use only desktops and the only driver config I do is as a gamer, I install latest drivers and maybe configure it, similar thing a Windows gamer will do.


Configuring my Mac to my liking also takes a few hours and it doesn't seem to stop noobs from using it.


The difference is that “noobs” can be useful with their Mac without any configuration.

That’s harder with Linux, although as the author of this article points out, this isn’t true anymore, especially with Ubuntu.


Whoever first brings to market a laptop with Linux that "just works" 100% from the moment you press the on button, is poised to make a lot of money.

That day will probably never arrive, but it's fun to think about.


It sounds nice in theory, but let's face it, a Linux laptop will not make money. In fact, because it is targeting such a narrow, "know-it-all" segment of the market, it will be nitpicked to death.

- "Trackpad on Macbook Pro is better"

- "LED 1080p screen. Why not IPS 2k screen?"

- "Wanted one but the base config is awful and I'm not paying $____ for 16GB RAM and 512GB SSD"

- "Why aren't they offering next business day support like Dell/HP/etc?"


I've installed Ubuntu on a variety of semi-mondern Dell and HP laptops and generally there is little to no post-install tweaking required save for some preferences I have that Canonical does not, like always showing the damn menu items. To be fair, there are settings on Windows I always change as well, like always showing the file extensions.

As far as hardware problems are concerned the only thing I run into regularly is touchpad palm rejection not working. This is a pain in the ass but it doesn't affect every machine.


I doubt it. There are a lot more problems with Linux as a desktop than having iffy hardware support for laptops.


The Dell XPS 13 Developer Edition ships with Ubuntu and should "just work" 100%

https://www.dell.com/en-us/work/shop/dell-laptops-and-notebo...


*should

My experience is that it does not.


I don't think there's ever been a computer that meets that specification. Maybe the Apollo flight computer?


So, Chromebooks?


Doesn't System76 do that?


My laptop (~99% work only) setup is ZFS root + Gentoo on XPS15: https://wiki.gentoo.org/wiki/Dell_XPS_15_9560 ... but switched from Mac (vs. Windows) after yet another stupid hardware error and Apple quoting more than the price of the thing to fix it. Haven't used Windows personally in over a decade. Manage to game a bit, but in general don't have time anymore. However, just specced a couple of Ryzen workstations at work, and they will run Windows. More expensive than I expected. I don't built machines that often anymore. Since when did you need 700W of power and a dedicated graphics card because CPU doesn't support built-in graphics chip? This is truly a new world. :)


Try hackintosh. And people tend to recommend way overspecced power supplies.


No time for hackintosh. It's not that people recommend, 450W wouldn't get an image. Had to chuck it out and upgrade. That's hardware today!


Why ZFS instead of btrfs (asking out of curiosity as I'm pondering the issue myself)?


More familiar personally. I think its been stable longer and has more features, but btrfs may have caught up these days.


Thanks for your explanation. If only ZFS was GPL licensed btrfs would probably never exist. I was very much interested in ZFS and invested a lot to learn the internals but the out-of-tree status of it and the fact that btrfs gets better and better with every kernel release probably means that btrfs will get ahead of ZFS some time in the future. (that's just my observation)

FWIW it seems anecdotal evidence [0] shows that btrfs is stable for daily use (just don't use RAID 5/6 [1]).

[0]: https://www.phoronix.com/forums/forum/software/general-linux...

[1]: https://btrfs.wiki.kernel.org/index.php/Status#Overview


For power users I would suggest Kubuntu LTS, try the live image, if your hardware works then install it and for a few years you should be good. KDE is more configurable then GNOME and it does not suffer by the GNOMEs architecture and memory issues(aggravated if you customize it with extensions)


linux and "new" (i'd say new < 3-5 months) is always tricky in terms of support from the major distributions without having to fuzz too much. But i won't have ANYTHING else than linux on my laptop.


I really have tried to use Ubuntu Destop as my daily driver after using the server varient for many years in work. It's not great for any "design" related task where I would normally jump into Adobe CC, no problem I'll just reboot to Windows for that.

Until one day it just stops working... won't boot, logs you out immediately after logging in, random UI components become corrupted etc.

At this point I always end up thinking... Well I've got reboot into Windows now anyway so why bother sifting through Stack Overflow for hours trying to fix Ubuntu.


As a Linux user and advocate, it's really frustrating to see these types of comments being down-voted. Linux still has a ton of issues OOTB, and disregarding negative experiences like this won't make them go away.

I wish that instead of preaching Linux when it clearly isn't ready, we'd spend more time making it ready.


> Well I've got reboot into Windows now anyway so why bother sifting through Stack Overflow for hours trying to fix Ubuntu.

For the rare occasions I wanted to wipe clean my Linux install without inflicting any pain on myself, I keep everything that lives under my home folder on a separate filesystem. This way, I can easily wipe the OS clean and not worry about my data.

A similar setup for dual booting can be handy, provided the other OS can use the filesystem I keep my important data in.

Having said that, the only times I experienced problems like the ones you describe was when I was so bored I decided Debian Sid would be a fine work OS. In other words, I was asking for it. What have you been doing to your machine?


The problem here is steam has a long way to go in terms of a catalog for games, and the games that do run are often buggy ports with little support because developers see less users as less critical for patches.

That said, I can't move to linux purely because the software I need for audio is far superior on Mac or PC


Although I have used Linux on and off for more than 16 years, its main OS status in my household is nearing its anniversary so I think I am in a position to share my experience.

The machines I've installed Manjaro are:

- HP Stream 13 (Celeron 1.6 ghz, 2gb ram 25 gb hdd)

- Clevo W230ST (i7 3.0 ghz, 16 gb ram, 240 gb SSD)

- AMD Ryzen 1600x, Nvidia Geforce 1060, 8gb ram 100 gb SSD

First of all, I hadn't experienced a "Okay that's it I am moving to Linux because of X". It was more of a gradual process. My one limiting factor was gaming and after realizing I was able to play 103 over 137 games waiting in my backlog in Steam I decided to give it a try on my Hp Stream - which I call my Potato.

It needed some tweaking due to HP using rtl8723be and connecting one antennae for some reason. I needed to compile a kernel module to select the right antenna. But apart from that it was smooth sailing.

My turning point to using Linux, or rather KDE, was the muscle memory I gained and the ease of use. For example when you press alt-space kde provides an easily accessible searcher which I configured to run software only - but it also searches for anything you write in your file system as well. Secondly, yakuake is a wonderful tool which provides a terminal just by pressing F12 and thirdly, last but not the least, KDE Connect is a huge game changer for me. See, if you are on the same wifi network with your pc you can:

- see the notifications from your phone and reply back

- share the clipboard with your pc and phone

- find your phone if you lost it in your home by ringing it from your pc

- and it turns off your music player in your pc if you receive a call.

I felt like I was missing those features when I was using Windows in my other PCs so I converted them to Manjaro as well. They didn't need tweaking compared to HP; practically everything was working out of the box. The stuff I did was with Clevo I needed to install Bumblebee (which is VERY easy with Manjaro and for some weird reason I couldn't do it in Ubuntu derivatives and ended up with a black screen) to use switchable graphics on it and with the AMD case I installed Nvidia proprietary drivers for performance and gaming reasons.

Speaking of gaming steam's proton provides a good experience for most of the games I've tried. Lutris is also good, I tried some System Shock 2 and Fallout on my potato (because my gut feeling was if a machine with limited resources run it adequately I wouldn't have any problem with the others and I was right) and they ran quite good. I experienced some sluggishness with SS2 but well... that was expected to be honest. HP's 3d performance isn't something to write home about generally.

As for programming my biggest test was running Microsoft stack. I heard good stuff about .net core so I started with it and saw that even my potato was able to run ASP.Net MVC 5 successfully. For a more native experience I decided to install a server 2016 plus Visual studio in a virtual machine. I used my clevo to do that and was pleasantly surprised that it ran quite well with providing 4 cpus + 4gb of ram to run the container. As a personal note I doubt I'll use it much due to I have exited the IT industry practically and unable to enter it again, not that I want to any more. (people expect a bachelor's degree in Engineering or in Programming here and I am a Humanities graduate with a bachelor in philosophy and a master's in sociology)

Other languages which can be installed on linux natively like python, ruby, java didn't cause any problems so all was fine on that front.

A question might pop up about Manjaro. Why Manjaro? Well because I think it has a lesser resource overhead compared to Ubuntu derivatives. The fans on my clevo never stopped turning with Mint and Kubuntu but Manjaro KDE is a cooler (no pun intended) experience for it. In addition to that I like AUR and the concept of rolling release. Another distro which is famous for its up-to-dateness is OpenSUSE but it borked post install for some weird reason so I can't say I had a good experience with it.

So I hope I helped with my personal experience with "converting to Linux". Thanks for reading!



I remember when I installed Debian on my old Toshiba laptop in 2004 (all 16x CDs of it, which a friend had to download for me coz I had no broadband), I couldn't update it because the ethernet network adapter (no wifi) on my laptop was not supported... nice to see that this curse still occasionally persists! If I remember correctly I fixed it by installing a different distro (Ubuntu or Kubuntu, which surprisingly despite being based on Debian had no issues recognizing my network adapter)


> nice to see that this curse still occasionally persists /s

FTFY

Seriously, though, that's a huge outlier. I haven't touched a machine in the last 10 years where Ethernet and Wifi were not supported out-of-the-box. (Including my new Thinkpad, which I was weary about since it came with an Atheros Wifi module, but it too worked out-of-the-box without any tinkering).

These days, the biggest issues are with Nvidia GPUs from what I've heard.


It still does occur though. A while ago I bought an Asus mini-pc to be used as a media server, only to be stumped by issues with the Realtek drivers. Apparently they're no longer available after kernel version 4.15.

From what you're saying, I guess those devices just aren't that common anymore?


The drivers for gpus are a bit annoying but only if you want to game on Ubuntu.

Nouveau drivers are horrible for performance and the nvidia ones are not always great, if you can find a compatible one.

That being said - I can't compare with AMD as my last system of Linux with an AMD gpu for gaming was back when it was an ATI gpu. :p


I have two systems with AMD GPUs: a desktop with a 2015 R9 Nano and a 2018 Thinkpad with a Ryzen APU. The amdgpu driver works perfectly on both of them. The Ryzen APU has one issue where you need to set `iommu=soft` in the kernel parameters to get it to boot, but that seems to be more related to the CPU than the GPU.


I don't have that parameter set, everything works fine. Ryzen 2400G.


Maybe it's got to do with the chipset? Not sure, I don't have any other Ryzens to compare against. But `iommu=soft` is strictly required on my system, otherwise the screen just stays black after the boot manager.


nVidia's drivers cover a pretty wide swath of cards. I've had decent luck in Ubuntu just going to the proprietary drivers section and clicking on the binary blob. The only downside is that it locks you into one version of the driver until you do a full OS upgrade, and that driver gets pretty out of date by the time the next LTS is ready.


I had issue with intel gigabit Ethernet on an Asus z270e when I first bought it. Ethernet wouldn’t work on Linux or when I booted a Hackintosh just because.

Looking at the Asus spreadsheet for Linux my board supports Fedora and Ubuntu. OpenSuse and RedHat were listed as N/A.


TP-Link still have these issues and they're one of the largest manufacturers of wireless tech. In some sense a similar case to the Nvidia Issues.


I seriously doubt you can find a machine today where Ubuntu does run but you can't use the Ethernet, even WiFi issues are getting rarer.


I did this ten years ago and I've never looked back. When I see what Windows 10 is today I'm so glad I made the jump. Linux is easier to use than ever. It wasn't always this easy. I run Gentoo at home and everything just works and what's more is I understand why it works (well, mostly).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: