Oh interesting, this is the M3800 which is Dell's beefy 15" Linux laptop. Glad to see it getting some light.
If you're looking for something more portable, the New XPS 13 is in development and is supposed to launch soon. I follow the project lead's blog here: http://bartongeorge.net/
My hats off to the Dell team; they're very open about what they're doing, making better drivers etc. before launching the product.
For now I'm trying out a 2015 Chromebook Pixel with Debian GNU/Linux install..ing. Still working on it. It has a lot of the same problems mentioned here:
- Suuuper glossy screen (basically a mirror with a dark background)
- Limited keyboard: no pageup/pagedown.. even more limited than the Dell, it doesn't have a DEL key, just Power in its place... much key remapping will be required to make this usable.
- No physical trackpad buttons, and that's a huuuge problem, because even Google's touchpad driver fails some basic tests of operation as compared to a Mac (e.g. cursor stutters its motion if you click while moving the cursor). The lack of touchpad buttons across most laptops now is shocking.
- Keys are a bit shallow
I have yet to use a touchpad that works as well as a macbook's... which is pretty sad at this point.. I understand they reduced the travel of the keys and touchpad in the late 2014 releases though... That and the display are the two main reasons I got an rMBP (right before the new models last year)... but may well go with something else in a couple years.
Agree. The funny part is that Apple's touchpad driver is open-source (under a scary Apple Open Source license, but still). You can read it. Or at least, you could circa 2006.
I've been meaning to hack on the Linux driver since back then, but honestly always expected someone more competent to try a touchpad-driver-rewrite instead. Maybe they have, but we still seem far behind, and I'm pretty sure it's a software issue.
That being said, physical buttons are superior. Clicking one means you know a click registered, so even if the software is doing something stupid, you're assured of your interactions. I don't understand why the buttons have gone away.
I like Apple's physical click-anywhere... it's still a physical click... just contextually sensitive. I don't like tap to click, and I don't like region clicking. My Logitech touchpad on my ubuntu htpc keyboard does this, and pisses me off when it right-clicks because I'm in the bottom-right quarter of the pad (not sure if it can be changed in windows, no option in ubuntu).
I agree tap-click is awful. MacOS does a fantastic job at supporting both modes.
Other laptops... not so much. They seem to expect tap-click, because they get so confused when there are two fingers on the pad. I want to move with one finger and click with another. This requires some real software intelligence, to know that the click-finger should not affect the move-finger's motion, and detect when you're doing a multi-touch gesture vs.just clicking.
I'll be getting a new laptop soon and am interested in the XPS 13.
1. Is the only difference in the Developer edition that Ubuntu is install by default, and drivers are made to work with it? Otherwise the build is exactly the same? (The New XPS has a matte screen which I would like.)
2. I don't particularly trust an operating system that ships with a computer. I assume if I wipe it and install Ubuntu from scratch it'll still work the same as intended?
3. Will the price be lower due to no Windows license?
4. Do you have a ballpark figure of when it'll be out?
Afaict it's not yet known if there will be any hardware differences between the Windows and Ubuntu models.
Yes, of course you can wipe the OS in either case. Dell's Linux extensions are open-source as far as I know, e.g. their touchpad improvements that they're working on. But you might have to build your own kernel in order to compile those drivers yourself, or perhaps wait a long time before they're mainlined.
This is conjecture based on my understanding. I'd look around the Dell-Linux forums/blogs, the dev team is pretty open about discussing this stuff.
I run various distros on my first-gen X1 Carbon and it's awesome. Everything just works. You don't even have to go driver hunting as you do with Windows. The most I had to do was add a kernel parameter to the bootloader to get the brightness keys to work with more granularity. I would highly recommend going native if your workflow allows it.
Been trying to do this with ubuntu on a desktop, but couldn't get a juniper VPN with remote desktop working. I couldn't get the cert installed to log in through the web interface.
I have a 2nd gen. X1, (the one without the dedicated function keys) and run Arch on it. It's my Dev and play machine, no problems whatsoever and the 2560x1440 screen is addicting. Can't imagine going back to something with less DPI.
Yep! Just got an m4800 and I love it. Linux isn't the easiest to use, though... and it looks like I currently have to run the nv binary driver to use my graphics card. :( So I definitely wouldn't classify it as a Linux laptop - even unofficially.
I received mine a couple of weeks ago and have been pretty happy so far. Everything worked out of the box in ubuntu (camera, multimedia keys, trackpad, touchscreen, bluetooth, wifi, etc).
My only complaints are:
- The Glossy monitor is incredibly reflective. I wish there was a matte option.
- I got the UHD screen option but there are still too many scaling issues in linux. Ubuntu looks fine with some minor tweaks but a lot of programs look horrible (ie. chrome). I ended up just lowering the resolution for now.
- The power cable sticks out really far when it is plugged in. It also makes me worried I'll break it if I forget I'm attached because the input seems a little wobbly.
- I like the keyboard for the most part but a few of the keys squeak occasionally.
- The trackpad also is pretty good, but it feels overly sensitive and jumpy compared to my macbook air.
- WIFI seems a little spotty. It might be that my wireless router isn't very good but my signal is much weaker than it is on my macbook. I need to play around with setting a little more before coming to a conclusion.
- If you open it up on your lap you might pinch your legs!
*edit:
I used a 20% coupon I found online somewhere. Not sure how long it was good for: MXPX2T1N9HGH12
I've been using a Dell XPS 15 with the UHD touchscreen display since November and I love it! I also reduced to 1080p resolution, for the same annoying reasons (applications are just too hit/miss).
For the touchpad, I tweaked the initial settings a bit using the following articles:
I had a 2014 Retina Macbook Pro prior to this, and the touchpad, after these tweaks, is on par with that experience (although it is a bit more clicky but ¯\_(ツ)_/¯)
> The Glossy monitor is incredibly reflective. I wish there was a matte option.
What the hell. This is a subject I have a strong opinion on. A "developer"-oriented laptop must have a matte finish. I want no specular reflections distracting me from my low-contrast text. This simple issue makes it a dealbreaker for me.
That said, maybe it can be mitigated. Quick googling tells me there exist anti-glare screen covers, maybe some exist that fit the M3800.
I actually tried getting a screen cover but I totally failed trying to put it on. Still though, I was able to tell it didn't really help the glare at all. I just threw it in the trash :(
I have another HiDPI laptop with the same wireless card (Intel 7260). I don't think your router is the problem, I'm experiencing the same issues. When I'm not in the same room as the router signal used to drop 50% of the time. Few driver updates later things are much better, but it still freezes sometimes. Consider disabling the power saving options - it does help. It seems Intel totally botched it with this card as the Internet is littered with people complaining about it, including Windows users. It seems the Windows drivers have it covered now, but the Linux ones are still catching up.
Regarding the HiDPI - Chrome is the only thing that doesn't play, but since I'm a Firefox user, that's not a problem. Gnome 3 handles it quite well. Yes, some apps (i.e. Skype) get their font rendering a bit wrong, but otherwise it's fine.
But the crisp fonts are something I'm not giving up.
That's exactly what I was seeing. If I take the laptop out of the room with the router I start instantly having trouble. Just being one room away, sometimes I can't connect at all.
Even sitting right next to the router, my bars aren't full which is really strange.
I'll try fiddling with the power saving options. Thanks for the advice.
For posterity's sake... I kept having bad issues with the wifi. The problem seemed to get worse after the computer went to sleep. It would take websites a long time to load and drop out completely sometimes. I ended up getting a new router since I saw on a couple of forums that it helped. Specifically I got a Linksys WRT AC1900. The problems so far seem to have been resolved. Websites load quickly and no cut-outs so far.
I use those keys incessantly, browsing the web and coding both.
I bought a very large Asus gaming laptop primarily for this reason, and I'm very fond of the placement, as well (above the numpad, can be easily found without looking).
Other things that are important to me is a gap to be able to feel F5 without looking, and same for the arrow keys. So many keyboards put the arrow keys--which require a hand movement--inline with other keys without making them distinct. At the very least put a nub on the up key or something.
The kind where they want the keyboard to be centered on the machine. I hate number pads on laptops because then the keyboard is off center. I can't really think of anything that would actually make it a feature worth the shift.
I have an older xps 13, which has the same keyboard layout as the m3800. I actually really like stacking page up/down, home, and end on the arrow keys. I use keyboard shortcuts as much as possible and can hit these very quickly. The function key right next to the left control key in conjunction with these works very well for me. It took a few days to get used to, but I love it now. Certainly much better than some of the other more funky positioning of dedicated keys on some keyboards.
I've spent plenty of time on keyboards without them (largely macs) and I still hate it. My old Toshiba laptop (z830 -- a 14" laptop, no less) just has them in a straight line along the right edge of the keyboard and that works just fine and doesn't require me to use two hands to do something that should be one finger. Again, it's not like there's some lack of space on this and other 15" laptops.
"It's not that hard to..." arguments are basically admitting defeat before the debate begins. I could probably get used to a 5 key chording keyboard if I tried, but I don't think it would enrich my life.
And I don't care for the independent keys on the top row. It's a stretch with how often I use them. My argument isn't "It's not that hard to...", it's "I prefer this." Different (key)strokes.
As for "different (key)strokes", I wouldn't have an issue if the choice to have these as independent keys were still around, but right now if you want that you have very limited choice. Hence my distaste for the trend.
I find that part to be the most annoying part of touch pads on non-Mac laptops these days. I get that Apple has the reputation for having the best pads (which makes them an ideal source for copying ideas), but I've always hated the clicking mechanism on my Macbook Pro, especially when it came to right clicks.
My Lenovo Y50 at least doesn't require a second finger to right click, but I would rather have had two discrete, tactile buttons for the pad.
I'm admittedly clumsy and imprecise with touch pads, so neither option works well for me.
On my Mac, I had it set to the default, which was two fingers. On my Lenovo, it's set to click in the bottom right half. I keep missing (because I don't look down) and click the bottom left half by mistake.
Great. Now not only do I have to use two keys in everything to do it, it's a different pair of keys in everything! Man, what I've been missing all these years having separate keys for this.
(Yes, I know fn+arrow does them the same in more or less everything as well)
Dell has achieved feature parity with the Retina MacBook Pro, and has made huge improvements on their last 'MBP competitor', the XPS 15.
However, looking at it objectively, the article pretty much sums it up:
Thunderbolt port doesn't really work in Ubuntu
Application-level 4k scaling issues are pretty much all over the place
If all you're after is Linux on a laptop, you can do it for cheaper than the M3800's starting price
I kind of hoped the Dell logo on the back would light up, but sadly it doesn't
Battery life with the Nvidia GPU enabled is far too short for a day's worth of working
Not quite a MacBook, but if you absolutely must have Linux instead of OS X, and don't want to fiddle with installing and tweaking it, it's very serviceable. But if you don't need the NVIDIA GPU there are cheaper options.
I wish all manufacturers would just allow buying computers without an OS.
I recently tried to check if Lenovo offers Windows refund for those who reject the EULA. No dice. They still claim Windows tax is mandatory even if you don't need Windows.
What I never understood though is how can they legally do it. Doesn't it violate product tying laws?
When I bought my Thinkpad, they gave me a significant ($150) discount when I said I didn't want Windows. It still came with Windows, apparently doing the actual refund process is more difficult than just giving a discount code...
Strait from Lenovo in Canada. You need to speak with a rep though. I didn't ask for the discount, just mentioned I didn't want Windows and asked about Linux options.
Just spoke with the rep on the phone. She is claiming Lenovo isn't offering a refund for Windows and one has to contact legal department for any further questions.
Interesting. I wonder if Canada has some better laws about it. I can try ordering there if it's so. The rep I spoke to was in Lenovo chat though, it wasn't through the phone.
I know in France there was a major victory in court against Lenovo and Windows bundling. So may be there the situation is better now and Lenovo can't get away with forcing the Windows tax anymore.
I can't quite remember, unfortunately. What I know for sure is it's possible to buy a Thinkpad with MS-DOS (which is cheaper) and then install Linux or whatever OS you want.
If I'm not mistaken, the user I was referring to said something about contacting Lenovo and providing them with the Thinkpad build that you wish but asking not to include an OS. I can ask for you if they do something like that. I still have the email of the person that I spoke to three or four years ago when I had some problems when customizing my Thinkpad, and she was extremely nice.
Hello! Hopefully you have not forgotten about this. I sent an email yesterday and got answered today. This is what the rep told me:
> Unfortunately we no longer offer our laptops without an OS. We do get the operating systems at a discounted price so I can see what I could do as far as pricing on a new system for him. If there is a specific configuration you had in mind that would be perfect! That way I can see what the pricing would be with me.
Let me know if you are interested on more info or what me to forward you to her.
Really disappointing that it only gets 5.5 hours of Wi-Fi browsing with a 91 watt-hour battery (on integrated graphics). The rMBP pushes 9-10 hours under those conditions.
How do these ones hold up over time? I haven't had a Dell PC of any kind, laptop or desktop, last longer than two years (and thanks to switching jobs a few times and being the family PC tech support, I've seen quite a few Dells). I had given up on the brand completely, but this is a very tempting piece of hardware.
I hate how hard it is to find the specs I want in a laptop computer. Some sites will let you filter by specs, but sometimes I'd be willing to compromise on some specs if other specs hit certain thresholds. And then, it seems like some products get selected by the filter that should be, and others get filtered out that do match the specs, so I'm just back to reading pretty much every product page until I find what I want.
http://notebookcheck.net is pretty good for this, they have a solid breakdown for laptops and a search function that allows you to filter on a more granular level than just price.
Sadly, the Sputnik version of the XPS 13, the one I was more interested in, still has issues/hasn't come out yet. This 3rd-party article/thread seems to be a good place for tracking those developments: https://major.io/2015/02/03/linux-support-dell-xps-13-9343-2...
Issues w/ the XPS 13 include keyboard repeat issues (fixed w/ BIOS A01 update), trackpad issues (kernel patches, switching from I2C to PS2 mode), sound (switching from I2S to HDA, requires ACPI jigger-pokery including another kernel patch since the BIOS breaks sound init when ACPI is sent properly https://lkml.org/lkml/2015/3/12/149). Also the XPS 13 uses a somewhat flakey Broadcom wireless card as well. And people have reported some S3 sleep issues.
My main goal was to replace my MBA11 w/ something about the same size w/ better battery-life (my Yosemite battery-life is pathetic, about 4hrs even just web browsing). The FHD XPS13 claims 15 hours, but I couldn't wait anymore and ended up going w/ the new Lenovo X250 - slightly less sexy but more or less equivalent and only a tiny bit larger, largely works OOTB w/ Linux, and has 20 hours claimed battery life w/ the 6-cell battery option.
I have had the previous m3800, with 3.5K screen, and a 512GB SSD. I'm running dual-boot windows 8, but with Ubuntu 14.10 as my primary OS. The touchscreen and scaling of windows is great. On Ubuntu they are non-existant. I can't use my finger to scroll, but can launch apps with my finger. Using my fingers is something i'm really getting to like. Things like getting a putty connection to my server in 2 seconds works now with three quick touches.
The big problem has been that suspened doesn't work now - both on windows and ubuntu. I "upgraded" to 15.04, still no joy. I assume it's a motherboard problem, but I don't time to leave it back. Killer for my productivity, though. Pity, as it ruins an otherwise nice laptop.
Also, suspend works perfectly on XPS 15 with Ubuntu 14.04 and 14.10, although I had to add a couple of statements to rc.local to prevent it from waking in my backpack:
If you open Google Chrome -with your finger- on Ubuntu 14.04 (and 14.10) it will allow you to use touch for scrolling. If you open it with the mouse...it won't. Weird.
I previously had this issue, however it has since gone away. But it's possible I just switched back the the (shitty for games) nouveau driver, it's been a while and I can't remember now.
I'm pretty content to just play 100% of games in windows, given that it's about 15 second reboot time with an SSD & windows 8--but I'll be very happy if we ever get full linux support on all games.
Unfortunately, that's really the result of the API/ABI choices that the Linux kernel developers have made. There are no stable interfaces for kernel modules, and they frequently break existing interfaces.
This means that any third-party driver that is not included in the mainline kernel source is effectively broken either via API or ABI almost every kernel update.
So it's not specifically a proprietary driver issue since even third-party open source drivers that are not in the mainline kernel break too.
Yes, nVidia could choose to open up their driver and contribute it in a way that it was included in the mainline kernel and therefore breakages would happen far less often. But ultimately, the real problem is the API/ABI instability on Linux.
With the above said, as others have mentioned, it shouldn't generally break every update if you have dkms, etc. setup properly.
ABI stability is not a feature, it's a bug. It means you can't fix the kernel and every driver in it, and you have to keep legacy interfaces around. This isn't just about keeping old function entry points around; the kernel regularly redesigns and rearchitects core subsystems in ways that cannot support the previous function entry points, and that's completely OK because the developers making those changes go fix all the drivers.
So no, the kernel will never have a stale^Wstable ABI for drivers (as opposed to userspace). Out of tree modules are a bug; pick hardware that doesn't need them. Graphics are one of the last areas where some of the widely used hardware still doesn't have FOSS drivers; just about everything else works with in-tree drivers.
And the stability issues aren't just with keeping the drivers up to date. Users who run the nVidia proprietary driver regularly report crashes and stability issues.
ABI stability is not a feature, it's a bug. It means you
can't fix the kernel and every driver in it, and you have
to keep legacy interfaces around.
Sorry, but I strongly disagree and that's a factually, anecdotally, and objectively incorrect statement. OS X, Windows, AIX, and Solaris all manage to provide stable interfaces for drivers while still evolving the underlying implementation significantly. So clearly, it can be done.
A properly designed API/ABI allows evolution of the implementation while retaining compatibility through interface.
Out of tree modules are a bug; pick hardware that
doesn't need them.
The idea that the Linux kernel should or can contain all support for all hardware ever is an ideological pursuit at best.
And the stability issues aren't just with keeping the
drivers up to date. Users who run the nVidia proprietary
driver regularly report crashes and stability issues.
And people still report stability and crash issues with mainline kernel drivers too, just perhaps less frequently, so that's really an orthogonal concern. Quality of implementation is not an argument I would want to use against good architectural software practices such as having a stable API/ABI. I'm also quite familiar with the argument that "if the source is open, people can fix it and make it better!" -- I think the recent OpenSSL problems have proven that just because the source is open doesn't mean anyone is fixing problems there.
Regardless, the real losers here are the users; I don't frankly care about the proprietary vs. not arguments and holding up some ideological standard as the ultimate goal seems like it's missing the point -- computers are just tools, and we should spending more time on improving the usability of them for users not fighting ideological wars.
> and that's a factually, anecdotally, and objectively incorrect statement.
No, your anecdotes do not constitute facts or objectivity. More importantly, I'm not the person you would have to convince, and the people who would need to be convinced consider this argument over and done with long ago.
> OS X, Windows, AIX, and Solaris all manage to provide stable interfaces for drivers while still evolving the underlying implementation significantly. So clearly, it can be done.
By accumulating a massive amount of cruft that they can never remove. Yes, it's possible; it's also possible to run the old kernel in an emulation layer to run older drivers, but that doesn't make it a good idea. (Though that'd probably still be a better idea than attempting to support the old in-kernel APIs in a newer kernel.)
And incidentally, if you need kernel ABI stability, you can also go run RHEL, which backports changes from newer kernels while maintaining in-kernel ABI stability for out-of-tree drivers, within a given major release. So for the support lifetime of that RHEL release, you can count on ABI stability.
> The idea that the Linux kernel should or can contain all support for all hardware ever is an ideological pursuit at best.
And, in practice, a shockingly successful one. There's very little mainstream hardware left that the kernel doesn't have in-tree support for. (No, that's not an invitation to enumerate the remaining exceptions.) And even for a fair bit of nVidia hardware there's the reverse-engineered nouveau driver, which is good enough for desktop environments and light gaming on the hardware it supports.
However, for a production-quality Linux system, it makes more sense to select hardware with in-tree drivers.
> And people still report stability and crash issues with mainline kernel drivers too, just perhaps less frequently, so that's really an orthogonal concern.
I never suggested it was related; I'm arguing that there are good reasons to not use the nVidia drivers other than that they're out-of-tree and proprietary, namely that they're notoriously crashy.
No, your anecdotes do not constitute facts or
objectivity. More importantly, I'm not the person you
would have to convince, and the people who would need
to be convinced consider this argument over and done
with long ago.
Then why are you still arguing it? Why are your anecdotes somehow superior to mine (if you want to call an entire mainstream market "anecdotal" evidence)?
By accumulating a massive amount of cruft that they can never remove.
Yes, it's possible; it's also possible to run the old kernel in an
emulation layer to run older drivers, but that doesn't make it a good
idea. (Though that'd probably still be a better idea than attempting to
support the old in-kernel APIs in a newer kernel.)
No, and no. As a kernel developer (my day job) I can assure you that is not the case. And note I never said that you have to maintain ABI/API compatibility forever. Even operating systems with stable API/ABIs do change them from major release to major release.
The point is, the Linux kernel could successfully adopt a stable ABI/API without accumulating all of the "massive cruft" you claim is impossible to avoid and make lives better for their users. At the very least, providing an ABI/API they guarantee to be stable for some period of time instead of breaking things almost every point release.
And incidentally, if you need kernel ABI stability, you can also go run
RHEL, which backports changes from newer kernels while maintaining in
kernel ABI stability for out-of-tree drivers, within a given major
release. So for the support lifetime of that RHEL release, you can
count on ABI stability.
So in other words, there's a genuine need for a stable API/ABI and RedHat supports it, but you still think it's stupid and useless to have and there's clearly no need for Linux to do it, except RedHat has proven there is a market for it. Hmmm....
And, in practice, a shockingly successful one. There's very little
mainstream hardware left that the kernel doesn't have in-tree support
for. (No, that's not an invitation to enumerate the remaining
exceptions.) And even for a fair bit of nVidia hardware there's the
reverse-engineered nouveau driver, which is good enough for desktop
environments and light gaming on the hardware it supports
"Pay no attention to the exceptions; it's a complete success!" The exceptions are proof that it's not a complete success and yes, quite frankly, some hardware that is not widespread enough or is special to a given organisation doesn't belong in the Linux mainstream kernel. What would be the point of "accumulating all that cruft" after all...
However, for a production-quality Linux system, it makes more sense to
select hardware with in-tree drivers.
Right, because all of those Linux systems at DreamWorks and other places with nVidia cards in them aren't "production-quality"; oh wait...
And how many of those various crashes and other problems reported with nVidia systems are due to the rapid changes in the Linux kernel instead of the driver itself? You could argue it's hard to say without source to the nVidia driver, but that seems like a tautology at best.
It's fine that we disagree, but your assertions thus far are easily contradicted by the entire mainstream market (nevermind your own RedHat example) so sound kind of silly.
> Then why are you still arguing it? Why are your anecdotes somehow superior to mine (if you want to call an entire mainstream market "anecdotal" evidence)?
I'm giving the stated reasons for why Linux intentionally has no stable in-kernel ABI, and what some of the downsides of having one are. That's not an anecdote, that's a description of the stated design philosophy (see also https://www.kernel.org/doc/Documentation/stable_api_nonsense... ). You gave exclusively upsides to having a stable ABI, as though it was an obvious design failing of the Linux kernel, rather than a tradeoff.
To be clear: I absolutely agree that it's possible to provide driver interfaces that don't change; as you said, systems like Windows provide evidence of that. But that doesn't come without a cost.
But I'd be happy to be proven wrong; just point to the source code of one of the kernels you mentioned where they implement a stable kernel ABI without any accumulated cruft...oh, wait. ;)
> And note I never said that you have to maintain ABI/API compatibility forever. Even operating systems with stable API/ABIs do change them from major release to major release.
You gave no indication that you ever considered it acceptable to break ABI. I'm certainly in agreement that ABI shouldn't be broken gratuitously for its own sake; however, it shouldn't be necessary when making a change to the kernel to think about whether out-of-tree drivers (that nobody can see the code of) depend on the behavior of a particular function call, or the layout of a data structure, or the context a given function can be called in.
> So in other words, there's a genuine need for a stable API/ABI and RedHat supports it
For RedHat paying customers who intentionally want to run the same software for 5+ years at a time and avoid any changes, sure. It makes no sense for the upstream Linux kernel to give those same guarantees while doing active development. 5 years ago was roughly 2.6.36. That's 5 years and ~24 kernel releases where not a single field can be added or removed from a data structure, no argument can be added or removed for an existing function, and semantics like "what lock do you need to hold to call this function" cannot change. (There's a lot more to ABI than just function calls and data structures, particularly when you're talking about a C ABI between privileged code running in the same address space.) Maintaining compatibility like that would completely hamstring day-to-day development.
If you have that kind of compatibility requirement for a kernel, and that kernel remains under active development (rather than being declared done and untouchable, which is another option used for some embedded systems or microkernels), you'd need to heavily rework your architecture and development processes to insulate the actively-developed kernel from the drivers, generally by introducing something like a HAL, so that the kernel can change as long as it exposes a compatible HAL. Then you get into issues like HAL versioning, including potentially supporting multiple versions at once, interactions between drivers and interfaces provided by one driver to another, and so on. All for the sake of offering better support for drivers that refuse to submit their code to the upstream Linux kernel.
So yeah, it's possible to build a kernel that provides interfaces that drivers can rely on across many versions. Not without a cost, though.
So yeah, it's possible to build a kernel that provides
interfaces that drivers can rely on across many versions.
Not without a cost, though.
Software engineering is all about tradeoffs and making the right ones, I feel the Linux kernel community has made the wrong one by forcing those costs onto users instead of helping absorb some of that themselves.
I never said it was free or that there wasn't a cost; I just said that usability is important and have implied the Linux kernel developers should care more than they do now.
There are significant benefits that Linux has derived from its lack of a stable driver ABI.
For one example, adopting the AMD64 architecture proceeded significantly faster on Linux systems because nobody had to wait for binary drivers to become available, thus enabling end users to use their shiny new hardware to the fullest extent.
For another, do you believe that the effort to add real-time capabilities to Linux would have any chance at all at succeeding while being constrained by stable internal ABIs?
Basically only GPU drivers are sufficiently complex that the vendors are actually concerned about protecting their IP investment there and release only binary drivers; though AMD has even figured out recently that they can open source the kernel part of their GPU driver since all the interesting stuff is happening in user-space.
Are driver ABIs of other kernels actually stable across major versions, in all cases? Another comment of yours says this is not the case.
One major difference here is that there's a new release of Linux with substantial new features every 3 months, whereas new releases of NT come out every 3-6 years, and the gap is even larger for Solaris.
Another major difference is that the upstream Linux kernel doesn't have paying customers; products like RHEL and SLES do, and maybe that is the level at which things like driver ABI guarantees should be provided, if there is actual demand for it.
Only people running long-term-stable distributions care, and those distributions provide the level of ABI stability their users want. I'm simply saying that it makes more sense for downstream distributions to handle rather than the upstream Linux kernel.
On the flip side, users running up-to-the-minute distributions don't necessarily care, and in fact care more about some of the properties that a stable upstream kernel ABI would trade away.
More importantly, if a stable ABI does not exist upstream, a downstream distro can add it. But if a stable ABI exists upstream, a downstream distro can't get the traded-away benefits back.
Distributions whose users want an unchanging ABI get one. Distributions whose users don't care (e.g. those where either the users don't care about proprietary/out-of-tree drivers or the users use the packaged versions of those drivers in the distribution that get rebuilt when the kernel changes) don't bother.
Your arguments assume that everyone obviously wants an unchanging driver ABI. I'd love to see statistics for how many users actually build and run out-of-tree drivers themselves, but I'd bet on it being a small fraction, most of which is the nVidia or ATI proprietary graphics drivers. And again, personally, I don't consider it a feature to cater to proprietary driver vendors.
Beyond that, I've seen several reports regarding some of what binary driver vendors do that goes well beyond the exported driver interface (e.g. searching for core kernel data structures in memory and grubbing around in them), so it's not necessarily obvious that an unchanging driver ABI would actually stop binary drivers from breaking.
In any case, I'm not interested in arguing further about the development practices I've already mentioned and pointed to that depend on the ability to evolve an interface along with all of its users.
Apple announced the 2880x1800 Retina display in June of 2012. It has been almost 3 years and only 2 of the 4 desktop operating systems have an interface that works reliably at pixel doubling resolutions: Apple OSX and Google Chrome OS.
That's all great, but I have a bundle of cold hard cash here waiting for the XPS 13 developer edition. All this time I see lovely things to spend it on but still I wait...
I have an XPS 13 from 2012 that I run Fedora on. I sometimes wish for a larger/newer/faster laptop (even though I do most of my serious work at a desktop with 2x27" 1440p monitors).. I wish to be more comfortable when working in various places. I'm seriously eyeballing this one, because I love the feel of these contraptions. Aluminum upper, carbon fiber lower, shark dick interior..
I'll be interested to see how these work out. There were two issues that scared me away from the predecessor: Reported wifi issues and coil whine. If they can avoid significant issues, then it's a nice laptop, although the battery life could be better.
If you're looking for something more portable, the New XPS 13 is in development and is supposed to launch soon. I follow the project lead's blog here: http://bartongeorge.net/
My hats off to the Dell team; they're very open about what they're doing, making better drivers etc. before launching the product.
For now I'm trying out a 2015 Chromebook Pixel with Debian GNU/Linux install..ing. Still working on it. It has a lot of the same problems mentioned here: - Suuuper glossy screen (basically a mirror with a dark background) - Limited keyboard: no pageup/pagedown.. even more limited than the Dell, it doesn't have a DEL key, just Power in its place... much key remapping will be required to make this usable. - No physical trackpad buttons, and that's a huuuge problem, because even Google's touchpad driver fails some basic tests of operation as compared to a Mac (e.g. cursor stutters its motion if you click while moving the cursor). The lack of touchpad buttons across most laptops now is shocking. - Keys are a bit shallow