Hacker News new | past | comments | ask | show | jobs | submit login
Suspend for the X1 Carbon 2018 on Linux (github.com/fiji-flo)
189 points by fiji-flo on July 17, 2018 | hide | past | favorite | 123 comments



This is short on details. So here are some more: since S0 ( active suspend) became more popular with windows 10, most manufacturers have decided to REMOVE THE CODE from the bios that allows S3 (suspend to ram).

Worst case is they left the stubs pretending S3 is supported, so the computer goes to sleep - but never wakes up! Dell, I'm looking at you!!

Workarounds come from redoing the S3 code, mostly in ACPI tables with triggers - for all peripherals.

It is a shame, as in S3 most laptops eat less that 1% of the battery per hour, while in S0 such good results require heavy configuration to prevent the "active" part of active sleep, and make sure the laptop never wakes up until you actually press on the power button. But I guess it is the road to progress, as S0 is more flexible.


It's worrying how obscure and poor standards compliance modern hardware is starting to display. And we're talking about PCs. Let's not even discuss mobiles.

In 2012 I bought a MacBook Air to run Linux. It's a great silent machine with all Intel hardware, except the pretty poor quality Broadcom wireless card. It boots with any vanilla kernel, and everything just works. Except for poor wireless range. What machine can I buy these days that?

i) Just works on Linux (which in practice means everything has to be Intel, including the wireless card)

ii) Is reasonably silent

The only machine I've found worth considering is a Xiaomi Air 12 with a m3 (fanless) CPU. Some Thinkpads are OK, but they tend to be on the noisy side of things due to excessively small fans and too much power I don't need. This, despite aggressively tweaking powertop settings.

I'm also looking for external USB high-gain wireless antennas. But even classic Alfa ones with Atheros 9271 chipsets are a hit and miss.

It's a bit hopeless. If someone has good suggestions, I'd be glad to consider them.


> It's worrying how obscure and poor standards compliance modern hardware is starting to display.

The standards are too complex. I've spent thousands of dollars on ISO standards documents over the past several years.[1] The complexity of these documents is absurd. And I've never seen an implementation that came close to adhering to the entirety of the standard--everybody always takes shortcuts because it's not cost-effective otherwise. The problem is, everybody takes different shortcuts, so you end up with endless interoperability problems.

The exceptions are often when everybody sources hardware or software implementations from a single vendor. That's when things go more smoothly because everybody is using the same half-baked driver or firmware.

[1] The last document I purchased was 138CHF (coincidentally $138USD at today's exchange rate). They've always been at least that much in recent memory, and often standards are broken up into separate documents or incorporated by reference so you're paying 4x or 5x to get the entire standard. There's alot of free documentation online that open source developers often use, but personally I find it difficult to wrap my head around these things unless I have an idea of the overall design. (I want to see the overall picture so my initial API and architecture isn't a pile of technical debt from day 1.) I have the means so I bite the bullet. But it's a real loss to the entire community--and industry--that these standards aren't freely available. Quality of implementations would be so much better if standards were always open, and sunlight might help minimize the complexity of these things by exposing the flexibility demanded by proprietary vendors on the committees as useless barriers to entry.


Taking one example... UEFI is supposed to replace BIOS, but that spec is a mess, and nobody gets it right. I don't have a solution to this problem to propose, other than to say, if you're in the position to influence specs that effect the design of hardware, or are the result of hardware design, please push for the simplest solution to the problem every chance you get. That said, huge amounts of complexity are added to things in the name of backwards compatibility, which is something we generally want.

In the case of the S3 sleep state, this is just sloppy decision making. Sure give us a new fancy, half sleep-like mode, but don't touch the suspend to ram, it's a feature that has value.


I can't disagree with you. But regarding backwards compatibility, the simpler the standard, the easer it is to write an implementation, the more practical it is to simply start fresh every iteration. Considering how cheap and disposable hardware is becoming these days, the more obvious is the false economy of flexibility in the design.

I don't do much traditional driver development (mostly USB related, at least when it comes to hardware). I know enough that dealing with the ARM ecosystem can be much more of a headache than in the PC world, for two reasons: diversity and more opaque specs. (Even if the PC stuff is proprietary, there's enough publicly leaked info to at least get started.) But ARM features are also often much simpler and straight-forward. If the documentation were always and completely freely available[1], then I think many developers would prefer dealing with ARM platforms than with PCs. You may be writing more drivers, but development would be more efficient and reliable and you could move on without having as much of a maintenance and bug-fix burden. It can be a worthwhile trade-off, and fits better with the open source model.

[1] I spent months trying to sign an NDA and gain access to NXP's iMX53 Security Reference Manual. After repeated back-and-forth with two NXP resellers, Mouser and Digi-Key, I just gave up.[2] I've heard of lone developers getting access to the manual, but they must be more familiar with the process than I am. Now I'm pivoting and have decided to use seL4 on PC hardware rather than bother with the TrustZone and the iMX53 crypto hardware, even though the ARM route would have been easier but for the documentation issue.

[2] I think it's NXP that kept dropping the ball, but I'm really not sure.


> UEFI is supposed to replace BIOS, but that spec is a mess, and nobody gets it right.

The culprit isn't UEFI, it's ACPI. That mess predates UEFI. Most operating systems don't really try to use UEFI features beyond the ability to manipulate the bootloader settings, and that feature is almost always correctly implemented. But it's impossible to find a consumer system with bug-free ACPI tables.


Is it a mess? The UEFI spec is big, but most of it is not necessary to boot.

The UEFI implementation in U-Boot is tiny, and yet is enough to boot (both from local storage and network) and have a text console.

Most non-embedded board vendors do not reimplement UEFI. There's not much to get right or wrong. They just take AMI or whoever's private fork of TianoCore, tweak some settings and customize the GUI. (It is possible to screw up the GUI though: https://youtu.be/F-ndTMeRT3s)

As mentioned in other comments, it's ACPI that's really bad.

Though at least it's a standard! On ARM, you typically have to have a driver for every. damn. power. controller. Thankfully, ACPI is now appearing on higher end ARM stuff (servers like ThunderX, workstations like Overdrive, hopefully the new Microsoft always-connected laptops?)


> Thankfully, ACPI is now appearing on higher end ARM stuff (servers like ThunderX, workstations like Overdrive, hopefully the new Microsoft always-connected laptops?)

I can't believe anyone would be thankful about ACPI. Is there a machine with ACPI that isn't broken in some way? My brand new Lenovo, which multiple sites have crowned the "best" PC laptop, ships with a LTE card that can't properly power down, and causes PCI-E ASPM to be disabled. Even Microsoft has f--ked up power management repeatedly in the Surface line.

Power management on PCs is such a disaster that it calls into question the very idea of doing power management for computers built out of mix-and-match components through standards like ACPI.


I dunno. I've worked with a bunch of different ARM chips and each one's workflow is "build a kernel, build an initrd, then use this magic tool to get our boot ROM to load it" and that's always been gross & dumb.

I'm not necessarily cheery about ACPI in practice, but ACPI & UEFI in theory provide some kind of substrate to manage the platform, that's not just whatever the engineers are some shop cooked up this time.


Thanks to Flattened Device Trees, you don't have to build special per device kernels, you can just have a generic kernel that includes drivers for all the SoCs.

But having individual drivers per SoC in the kernel for things like power management still sucks.


It would be easier if the specs were developed without the "help" of organizations that stand to gain nothing from complete interoperability and who are perfectly content with "works with Windows".


Dell XPS 13. Comes with Linux and the new model is very quiet (fans don't even spin with most tasks).


Seconded. I have a 9360 and I've had everything work out of the box with Ubuntu 17.04, 17.10,and 18.04. As well as Linux Mint 18.3.

Only downsides are Linux's generally patchy support for hidpi, some programs scale and others don't (opt for 1080p version or set resolution to 1080p). And also the placement of the webcam is a bit strange.

Battery life is good in Ubuntu, between 6 and 10 hours depending on use case.


This is third degree price discrimination by Dell. I should have been more precise in my first comment.

To be crystal clear: the 9360 has a bios featuring the proper ACPI tables, which are omitted on purpose from other cheaper models, breaking S3 on purpose.

This is why injecting proper tables as proposed in this link restores normal functionality. It is not rocket science, just hard enough to do without proper documentation to be a waste of time.

The initial submission title said it was a shame, and I agree it is shameful to intentionally break features to charge higher price (and no, I won't buy that S0 works perfectly now, or that adding a simple if/else is "too complicated"


With cheaper models you mean non-XPS-13 models?


non developper models


Thinkpads might not be as bad as you think. I have an X230 at home, which runs many flavors of linux extremely well and is dead silent, and a T440s at work which is also an excellent choice albeit slightly more expensive. You can pick up refurbished t440s'es for around 500-700 euros in the Netherlands, where X230's go for 200 at the very lowest price point (still with an ssd!).

Unless I'm playing Counter Strike on the X230, which runs great all things considered, I never ever hear the fan. Wireless and thankfully wired connections are spotless too, though the X230 doesn't have 802.11ac as far as I know.


The T440 is no longer being manufactured (the current model is T480). I have a refurb T460 at home[aside] which works great out of the box with any Linux distro and has a keyboard that is a pleasure to use when contrasted with most laptops out there. And the repairability also means that you can buy a cheaper model and only once you need it extend the sdd/ram when you need it.

[aside]: it has a top IO panel that every now an then decides to stop working, including the power button mouse and keyboard, although usb ports continue to work. The only option at that point is to hard reset (I carry a paper clip in my keychain :-/). Haven't found an explanation for the problem. If anyone here has any ideas, please reply. I've googled all around. I have found no correlation with anything so far.


X1 Carbon 5th gen had some kinks at first but has been serving me well w/ Ubuntu for a year now. Managing the HiDPI display has been the only real headache -- if I could go back in time I'd have gotten the 1080p screen instead of the high res one.

Besides that when I say it works, I mean it really works. Even the 4g card I added worked out of box on Ubuntu!


Yeah, that's why I got the 1080p screen :) Learned my lesson with the 2nd gen - that was a piece of crap.


I own Xiaomi laptop you mention for almost a year now (2016 model). It is overall a pretty fantastical laptop, especially for the price. But be aware, that some models (mine as well) have coil whine issue (1), so it may not be completely silent. Also, BIOS is very limited, you can disable security boot, choose boot device and that's pretty much it. However, Linux runs perfectly without jumping through any hoops.

(1) https://techtablets.com/forum/topic/xiaomi-air-12-5-inch-mod...


Thanks for those comments about the Xiaomi 12.

What do you find lacking in the BIOS? Don't you use EFI instead?


Yes, by BIOS I mean the hardware setup utility you invoke before booting OS. It is very barebones compared to what ASUS offers in their laptops. There are no advanced settings such as configuring CPU features, timings, etc. It doesn't really bother me, since I don't tend to tinker with those settings. But I dislike the trend of locking down hardware.


> tend to be on the noisy side of things due to excessively small fans and too much power I don't need

Huh. My X240 is so much quieter than my 2010 MacBook Air was.

The Air was... (I just realized this) very aptly named, as the volume of air its fans push is ridiculous.


HP Spectre x360. I run Arch Linux on it and everything has been fantastic.


Dell XPS runs linux flawlessly. Dunno about wireless range though


Dell XPS uses almost the same wifi as the macbook stuff AFAIK - the fullmac broadcom chips.


Two years ago, I bought a ASUS ZENBOOK UX305FA and it is fanless and works well under Linux. Maybe there is some newer similar model.


I have everything working on my Lenovo T480 with Fedora Linux.


It sounds like this isn't just some arbitrary decision, but Windows actually requires S3 to be removed in order to use the new suspend mode. From the thread: "When ACPI table was changed to support S3, Windows Modern Standby doesn't work. Modern Standby and Suspend/Resume functions are working exclusively."


Because someone was too lazy to bother with a if/else, because first implementations of S0 were so bad.


Make it a BOIS setting then.


No need: the bios can present different acpi tables depending on the OS who is asking for them. all it takes is a switch (case when..statement.

So there was no reason whatsoever to remove the code.


Because so many BIOSes provide completely broken ACPI tables to non-Windows OSes, I think Linux reports itself as being Windows to the ACPI code these days. So no, it probably can't.


I don't think this is even S0 suspend. At least a few year ago thinkpads have already moved to something called IRST, Intel's "suspend to SSD after sleeping for several hours" at firmware level. See https://mjg59.dreamwidth.org/26022.html for details. I actually got it working with the latest kernel at that time but didn't feel comfortable using it because of all the horror stories with firmware level shenanigans.


this is something else. IRST was Intel custom implementation, back when S0 did not exist. It required a custom partition.

IIRC, suspend to disk when battery runs out is now one of the standard S0 features.

At the OS level (windows 10) there is a telemetry to check the depletion rate, and initiate suspend to disk when the rate is too high or battery is too low.

Check the logs made by microsoft powercfg, they are very informative and will help you reach power savings close to what S3 allowed.

But I need that to work in Linux too, and last time I checked it wasn't as good.


> At the OS level (windows 10) there is a telemetry

Nitpick: "Telemetry" means "measurement far away". Does this get sent to microsoft ("tele") or is it just a measurement ("metric")?


Is that what is happening with the XPS line? My XPS 13 9333 goes to "sleep" but the backlight and the fan stay on, and the only way to revive it is to do a hard reset. And that's on latest windows 10.


Yes. You must either cook and inject your own ACPI table (taking inspiration from a similar model to save you time), or go with S0 only using a kernel patch.

I have done some bios and acpi code before on coreboot. It is tough, lots of work and no guaranteed results if you don't have access to the specs (NDA)

Anyway I really don't recommend you do that unless you have experience, documentation and time.


Maybe pedantic but according to https://docs.microsoft.com/en-us/windows/desktop/power/syste... S0 is the working state. Active suspend could be what they call Modern Standby or S0 low power.


Didn't Lenovo used to get Thinkpads certified by Ubuntu and RH ? Did they give up on it ? That only leaves Dell as the other main vendor (not counting smaller niche players) that still gives a shit.

Edit: Looks like they still do, just that certification doesn't mean shit. This is more RH and Canonical's fault than Lenovo's. What's the point of certifying something if you can add a note (as Canonical did) that suspend/resume doesn't work.

https://access.redhat.com/ecosystem/hardware/3398131

https://certification.ubuntu.com/hardware/201712-26045/


When I worked for Canonical, all the cool kids had Thinkpads.


> Slow Resume from Suspend

> This system does not not meet our performance criteria for resuming from suspend, but suspend/resume is functional and other functionality is not affected.

Ah, so it does meet their performance criteria after all. The elusive double negative.


Upon further reading, there are further issues with this laptop with thermal throttling (only on linux, not windows). And no support for wwan or fingerprint reader. The certification is beyond useless.


It's probably because Lenovo's suspend feature relies on an unsigned binary blob from China sideloaded during system boot over an unsecure HTTP connection.

Why anyone still trusts Lenovo enough for this sort of thing to come up as an issue is beyond me.


Citation on that? Never heard that before, and I own two ThinkPads (including a four-month-old T480).


https://www.makeuseof.com/tag/security-failings-demonstrate-...

Or who could forget Lenovo's surveillance malware that performed man-in-the-middle attacks on SSL traffic? Seriously, these machines should be banned for sale in the U.S. on national security grounds.


that link says nothing about

> Lenovo's suspend feature relies on an unsigned binary blob from China sideloaded during system boot over an unsecure HTTP connection

it talks about Lenovo Service Engine, Superfish, Lenovo Solution Center, and Lenovo Customer Feedback.

if you blow away the default install of windows, including the UEFI partition, and install (windows or linux or whatever) from scratch, how could any of those things affect you?


Lenovo Service Engine was BIOS-level bloatware loading garbage into clean installs of Windows over HTTP. Lenovo's drivers were so bad that they couldn't get Microsoft WHQL certification, so their BIOS was sideloading them in a very unsecure manner.


Note that this is an official Windows feature and it is the OS that executes the firmware-provided crapware in the first place. It should provide an option to turn it off.

Of course, malicious firmware doesn't really depend on the OS's cooperation. It would just be harder to implement and the result a lot more flaky.


There is persistable malware that installs itself on your fresh windows [0] I only use old thinkpads like the t420 (my x61 needs fixing) and w520. Coreboot on the t420 and soon on the w520. Dell Laptops for work. [0] https://www.theregister.co.uk/2015/08/12/lenovo_firmware_nas...


Funny coincidence! I added w520 support to coreboot as a weekend project several years ago!

It should still work great on your w520, except there were several power management issues related to the optimus GPU I just couldn't fix.

Oh and careful with the RAM if you use 32G as some brands will not work well, because of raminit issue (I haven't followed, maybe they are fixed now)


Dell has done similar things in the past, too.

Intel has its ME, which is much worse than any of these.

AMD has its own ME-equivalent.


Intel Management Engine is worse than secretly installing an SSL MitM and sending browsing data to an adware company run by former Israeli spies? Give me a break.

Intel ME is worrisome. Lenovo's behavior was actually malicious. There's kind of a difference.


Lenovo Superfish was incompetently malicious. The ME allows Intel to competently pull off far more nefarious activities than blindly forwarding all browsing data and easily evade detection.

Superfish was removable. The ME is far from it.

There are alternatives to using Lenovo software or hardware, thus Superfish is even completely avoidable. The ME and its AMD equivalent are not.

Both are worrisome. Backdoor-in-hardware is far more worrisome.


ME is removable. Coreboot devs will often remove it for you if you meet them in real life and ask nicely. I've since got a setup for doing that myself so if you are ever around me in real life ask nicely and I'll remove it from your machine


> ME is removable.

With proper hardware tooling and care, perhaps. (Side question: even for latest gen chips?)

For the vast majority of people, ME is not removable. For the AMD users, AMD's ME equivalent is not removable.


Yes, even for latest gen chips. See http://blog.ptsecurity.com/2017/08/disabling-intel-me.html for details. me_cleaner supports this method.


I don't know why the OP posted such a terrible link. I found an alternate one:

https://www.pcworld.com/article/2969365/security/lenovos-ser...

It says the Thinkpad lines were never affected by this


I'm assuming they're speculating/exaggerating.


That's how I read it as well. Kind of rephrasing "I don't know why anyone trusts them after all their high-profile security problems, I wouldn't be surprised if their BIOS was unsigned code loaded over an unsecured HTTP connection."


There just aren't enough (better) alternatives in the market.


The fact that the script is open source is great, but I'd be extremely hesitant to download something that patches my laptop's boot sequence without a little more info and/or some comments in the code about exactly what it's doing. Yes, I can see the sed commands, but I have zero idea what it's actually replacing or with what.


You're editing your ACPI tables, compiling the result, and telling the kernel to use it instead of what it gets from the hardware.


I planned to buy this laptop some time this year. Has lenovo stopped supporting linux as well as they used to? I've owned two lenovo laptops and loved them and planned to buy another. I'm also looking at dell laptops since their linux support is reportedly excellent.


My current laptop, the T450s, has full support for linux. My coworker uses a X270, which also seems to run Arch fine. I think it's just the X1 series with these issues.


Get a T or a W, they are fine, old-school corporate machines.

Carbon is the new, fashionable, Macbook-like device with soldered-on RAM, etc; likely from a different design culture. Its biggest upside is likely the hi-res screen.


I second going with the T line and would go as far to say that the T480 has a very modern feel to it. It is only slightly thicker than my old MBP 2013 retina 15 inch. (the thickness of the screen) I was expecting it to be much thicker and the fact that you can get 32 GB of RAM makes it feel like a very fast/responsive machine even with many applications running. Far more important in my opinion for a developer machine than having the screen of the Carbon.


There are high-res models in the T-series. I.e., available in both 1080p and 1440p, the latter just at the point where you can use it without High-DPI tech if you have normal 20/20 vision, if you have worse, you want less resolution (as you can't use the higher resolution anyway).


My vision is far from 20/20, and I have trouble discerning road signs at a distance, but I can see how pixels are square on most 24" FHD displays.

For development, a lot depends on the quality of font antialiasing and hinting, though; Linux used to provide superb font rendering in this regard.


I too don't have too good vision, but the 1080p 15" and the 2160p 39.5" at slighly higher distance are just at the point where I don't need High-DPI technology. Seeing pixels at 24" is not that hard. There are screens with significantly higher linear resolution.


I just switched from an MBP 2013 to a ThinkPad T480 running Ubuntu 18.04. I'm loving it. Linux support has been really great and I didn't have to install a lot of special drivers. (e.g. trackpad support with multi-touch scrolling worked from the start) A lot of Dell's have that terrible bottom placement of the webcam.

Things to love about the T480:

- Fairly portable at around 3.5 lbs with a 14inch screen. It avoids the dedicated numeric keypad that some larger 15inch models have, while still having good screen real estate.

- Great keyboard as all Thinkpads have. (media keys are working great under linux)

- Very durable having undergone mil-spec testing.

- Camera placement at top with a mechanical shutter if you get the FHD screen.

- 32 GB of ram if you want/need it

- Hot-swappable batteries. No need to turn off the laptop. just flip it over and replace. (You can buy the extended 72Wh battery for extra battery time)

Bonus if you find one on eBay slightly used. You could save over a $1000 for a comparably specced machine.


I have to second how awesome Hot-swap batteries are. While I do need to find a socket for this, having 'just' a T540p (can recommend, nice device), being able to swap the battery in seconds instead of charging >30 min (depending on how large your charger is) is awesome. So if you can hot swap, get another non-protuding battery instead of one that sticks out from the laptop, as that makes it hard to hold it on your palm (works like a charm, and the robustness makes you worry less). In that sense it is easier to use on-the-go than a tablet, due to the ease of holding (just wrap your fingers around the battery, and it will take a couple weeks to get the strength in your arm to do it comfortably if you are not used to such loads).


I just made a similar swap from a 2013 MBP to the X1 and so far I love it. One great thing about the T480 over the X1 is you can push the CPU harder in the T480 due to better cooling. I like the size of the X1 so went with the smaller labtop, but so far its been great


I have both the X1 carbon 6th (2018) and 5th. The 5th supports the S3 sleep mode and everything works just fine. If you don't need the newer model, the 5th gen is a great Linux machine.


I was confused about the title because I have an X1 Carbon that I bought in 2018. Turns out it's 5th gen. And yes, it's one of the most blissful computing experiences I've ever had. Everything works out of the box with Debian stable. Not a hitch.


Any problems with the 6th despite the sleep mode? Do you have the higher resolution version?


I do (unfortunately) have the HiDPI model. I personally don't care at all about more pixels on this machine, but I understand why people want this.

HiDPI is kinda a mess in general on Linux, from my limited use cases. I run X11 with i3wm on Arch, and the application support is all over the place. `xrandr` seems unhappy with multiple monitors at different resolutions (as is my case at work, with external displays), it's a mess.

All that being said, with a combination of `xrandr --dpi` and ctrl-+/- in Firefox and my terminal, things can be made to look OKish.

TLDR: If you can get a computer without HiDPI, I personally recommend it.


I have zero issues with HiDPI on Ubuntu + xmonad set-ups. In particular, setting xrdb's Xft.dpi to a good value (e.g. 144, an "even" multiple of 96 for X1 Carbon) seems to work well. However, I mostly use my laptop for Chrome, emacs, and terminal, so YMMV. HiDPI screen is definitely worth it for your eyes.


Do you use external monitors that have different resolutions?


No. Unfortunately, I can't say good things about differing-display support in Linux. For example, even if DPI is matched but one of the monitors is rotated (my old setup), freetype anti-aliasing settings are still global and can't account for rotation :( This matters less with HiDPI, though.

Fortunately, Dell U2718Q's are relatively cheap and well-worth the upgrade :)


I completely agree. I went from an x1c 1080p to a t480s 1440p. It’s great stand alone. But I’m frequently hooking it up to external lodpi screens, and the amount of zooming and unzooming I have to do is making me slowly go crazy. A shame the dpi situation is such a mess.

It wouldn’t be so bad if Wayland was widely supported, as it can handle mixed DPI pretty well. Unfortunately I can’t swap to wayland until browsers and Java apps (aka IntelliJ) support it.


Sad. :/ I’m about to get an X1 Carbon or T480s and trying to decide if 1440p... On the one hand, really digging the idea of hidpi fonts in terminals and web; on the other hand this Linux support madness...

I think the main thing to ponder is whether I’ll be hooking it up to external displays a lot. Is the situation basically “no issues” if not using external displays?

Also when hooking up to external is it possible to make X switch to lodpi everywhere and “pretend” that the 1440p screen is 1080p (like tell applications it’s 1080p)?


Yeah it is only an issue if using mixed DPI. I set the font scaling in Gnome 3 to 1.5, and everything handles it fine - even IntelliJ scales its fonts accordingly.

If you can match your external DPI to the laptop that would also work (but it's sort of an awkward DPI).

The hiDPI is nice for your fonts, but for working day-to-day I don't really notice it much.


Same boat here. I'm running a T450s 1440p model with Arch and i3wm. Mostly it's docked at a 27" 1440p monitor at work, so I set the DPI such that it looks nice in this use case. When I undock it, things get smaaall.

I got used to it by now, as I don't normally work on the internal monitor for longer times. Nevertheless this really bugs me out.


Have you tried setting `layout.css.devPixelsPerPx` to some multiplier like 1.5?


I find it's better to just zoom, FF seems to remember zoom levels by domain.


That's exactly the problem; I don't want to re-zoom every domain. I'd like consistent sizing everywhere, and devPixelsPerPx does that.


I recently got an HP Envy 17t. It’s working perfectly for me, on Arch Linux + KDE/Plasma. I configured it for $20 more to have an Inte wireless card. The Intel wireless is working excellent on Linux. Sleep and wake-up works perfectly fine too. Secondary things like screen/LCD backlight control, keyboard backlight control, etc — all worked 100% out of the box with KDE/Plasma on Arch. I’d recommend it.

It’s an excellent machine. The Intel wireless chip in it is “Intel 7265” — it uses the open-source “iwlwifi” driver. The machine I got also had the i7-8550U, an 8th gen Intel chip with has four hyper-threaded cores that has a TDP of a mere 15 W. It also had a 512 GiB PCIe SSD from an obscure brand called “SK Hynix”, 16 GB DDR4 RAM, and an NVIDIA MX150 GPU (with 4 GB of graphics memory) in addition to the integrated Intel UHD graphics that comes with the i7-8550U.


I'd just get a Dell delevoper edition.


I have a full guide to install arch on a lenovo x1 carbon gen 6 (with notes on the patch this post is about), right here if you would like to get it done.

https://github.com/ejmg/an-idiots-guide-to-installing-arch-o...

The hardware is all supported from the get go, no tweaking or hacks to get it working (well, besides the bios + s3 hack). Besides the patch provided by the OP, everything else works without issue on Linux. It's kind of why this is so upsetting, in a way... the ability to make a linux machine doesn't require specialty companies, it just requires vendors not do dumb crap like completely dropping support for something without warning, etc.


Tell that to apple... grrr


I'm considering a Fujitsu lifebook U937 to replace my thinkpad.


Trackpad also doesn’t work under Linux with the NFC model. Hardware wise the webcam and sound are beyond horrible. The fan curves are obnoxious and it still gets uncomfortably hot. It’s such a shame, I had high hopes for this laptop but it’s collecting dust in a drawer. Between the sleep states, track pad, thermal issues and throttling, poor audio visuals and battery life … the thing really should never have had that price point.


I have this labtop and have had none of these problems. I am on ubuntu linux with a patched initrd. The trackpad works like a champ, the screen is magnificant and the webcam works great. It does got hot, but only when I am under heavy load. So far this has been a great step up from my 2013 macbook


I've got that laptop and it's fine in Windows. Maybe the problem is Linux, not the laptop?


I run linux, have the latest BIOS, but it is not the NFC model, with the "HDR" screen and i7-8650U. I idle around 43C and my fan is completely off under 50ish, at which point it (very silently) ramps up. I get 8-10 hours of battery life, and the screen is fantastic (and very very bright). However the speakers are worst than a 200$ smartphones. No issue with the trackpad as it is a non-NFC model.

I suggest OP revises his configuration...


It’s running Windows now and sleep just works. But the trackpad still randomly stops working after sleep, needing a reboot. I get 2,5 hours of battery with normal usage. And it runs uncomfortably hot and loud but CPU utilization is at 2%. I guess it’s just not my thing or I got a dud, but my experience with Lenovo customer service has been horrible.


It's interesting that this is now necessary on PC laptops to get basic things like suspend/sleep to work. I remember having to apply DSDT patches to make suspend, as well as other basic functionality, work on Hackintosh machines (PCs running macOS.)


Missing S3 standby support is also causing problems with Windows. Leading to battery draining during standby: https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/X1-Ca...


I bought the X1 6th gen, but ended up returning it for a refund due to poor Linux support.

There is no excuse for breaking S3 suspend.


Did you find anything besides S3 that didn't work? I have the 6th gen X1 and once I patched in ACPI my ubuntu install has worked perfectly.


Touchpad was broken... Needed manual tweaking of configs. And even then it seemed I can have different speed for trackpad and touchpad.. I'm not impressed..

Also there is reports the CPU is underclocked on Linux..

And is the patch even a solution that is stable past the next kernel update?

Oh, each the mobile broadband didn't work either...

Obviously, fingerprint did work as usual... And I couldn't figure out if NFC works.


Can you please tell me what the battery life is on Ubuntu (with ACPI patch) vs Windows (with or without ACPI patch)?


I didn't have windows on long enough to get solid battery numbers, but on ubuntu I get 8 hours of work use.


I have a X270 that's modernish and I'm wondering if this could suffer from the same issue... I can't get it to suspend at all. I'm hoping the sensor is gone, but I'm not sure how to verify that... Thinksupport have changed the mainboard but that didn't fix it.

How to check?


This looks like serious witchcraft. Is it safe?

I have some suspend working on X1 2018, not sure which one! Switching from Mac is... hard. My true-wireless bluetooth earbuds don't work too well either. I guess it's gonna take few weeks of tweaking configs to get to a decent situation.


I have a 2018 X1 Carbon with Ubuntu that has perfectly supported suspend. It's never been a problem


Ubuntu only supports S0i3 (modern standby) not the normal S3 sleep. S0i3 has some problems like peripheral not working after resume and higher battery drain during "sleep".


Can it detect the state of the lid and automatically enter suspend & wake up based on it?


Once you have patched it it will. I have the X1 running ubuntu with the patched initrd and the lid works perfectly.


I have ubuntu on a 5th gen X1 carbon and this works perfectly for me.


Unnecessary headline editorializing. Could we have it changed to the original?


If you know why S3 does not work on some brands, the editorializing is not unwarranted.

There was an active decision to remove working parts of the code. That is shameful.


Your other comment is the most upvoted right now because it brings useful technical information to the discussion on S0/S3 states. Anything else is just rehashing old arguments. Readers can take their own conclusions without being manipulated by incendiary editorializing.


There is nothing wrong with throwing away obsolete code.


It's not "obsolete"... S3 sleep mode uses much less power.


On a properly designed system, the S0iX sleep modes should totally subsume S3.


Yes, we've reverted the title from “ThinkPad X1 Carbon 2018: S3 Suspend Workaround for Linux (shame on Lenovo)”. The guidelines are clear about this, so submitters should please follow them.

https://news.ycombinator.com/newsguidelines.html


Sorry for this. I let my emotions get the better of me.


Shame for this is very warranted.

Shame, shame, shame.


Why? Do they even claim that their laptops support linux?





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

Search: