For many years I had used the same 1366x768 laptop with no external monitor and Linux was a dream came true. I used Arch at the time, first with dwm then with i3, and had been doing that for around a decade. Then, a couple of years ago, I had to buy new hardware and I said to myself “let’s spend some money, buy something nice, install Ubuntu (which in my mind was epitome of “just works” at the time) and stay LTS for the rest of my life”. How wrong I was, I entered the nightmare of hi-dpi, multi-dpi, fractional scaling, all things that one can fairly say that are unsupported by Linux desktop until Wayland becomes mature enough (including migration of Chromium and most of the Electron universe). Lack of good fractional scaling support is particularly problematic since most laptop FHD screens are naturally 1.5x these days and so are external UHD screens. I know there is the xrandr oversampling workaround, that Ubuntu provides a nice frontend for it, etc. But it’s rather broken for Intel (mouse flickering, screen tearing, there is the 0.9999999 hack but still…) and totally broken for NVIDIA (, , ). With amdgpu I’ve had a good experience instead, but then my AMD laptop only implements “modern standby” so suspend is essentially non-functional until kernel 5.11 (let’s hope!)  although you can work around that by mapping suspend to hibernate as described below. So, I have to sadly say that the last two years, having used a Huawei Matebook Pro first and a HP Envy x360 later, have been my worst Linux experience ever, to the point of having turned to an MBP for some months in order to be able to finish my work without hassle. This for the first time in my life (I’ve used Linux without interruption for more than 20 years now, except for that episode).
Of course, this has nothing to do with Ubuntu itself, but everything to do with the fact that we live in a world of quickly changing hardware (specially screens, screens are the new soundcards, Wayland the new Pulseaudio) that Linux can only hope to support reactively. I came to the conclusion that the concept of LTS in the desktop is for people that somehow managed to get their hardware working at some point in the past and are lucky that it hasn’t broken apart yet and it’s still able to run the apps they need for work. The day they’re faced with the need to change hardware is the day the LTS fantasy dispels. Even buying hardware that ships with Linux preinstalled isn’t a full warranty that sh*t like that won’t happen and these models are often as expensive as (or even more than) a MBA M1. If you want to use hardware last-year-new and half-apple-priced you probably will have to deal with workarounds and 6-month point releases (or even rolling releases) for a time, then maybe you can go LTS for some years. The bigoted mentality one can found in some forums, specially in posts from some Debian desktop users that have successfully stayed for years in a mostly frozen setup (or that they say) and mock everyone else for wanting the shiny new thing, is almost offensive for people like me that just want to buy a new reasonably priced laptop to do their work because their old laptop has broken or is not powerful enough for their workload.
And so I feel like buying new hardware that supports Linux is still either a risky gamble or a slightly less risky but expensive proposition (I mean, expensive not only in the Jamie Zawinski way, but $$$-expensive). Sadly there is no 2-years-old-but-unused laptop market that I know of, otherwise it would be a no brainer for me. Therefore, if moderators don’t oppose, I would like to open a thread so those lucky you that have found a modern hardware setup that works well with Ubuntu desktop share your experience, detailed specs and necessary workarounds in order to spare the unlucky us some bucks and headaches. I would prefer that people that have an extremely constrained workflow that is 100% supported by Wayland refrain from mechanically posting “works for me”, “never has been a problem for me”, etc. Good screen-sharing and running popular non-Wayland-ready apps like VSCode is a prerequisite.
I will start with my Envy x360 13 w/ external 28’’ UHD screen experience, that has been rather good in GG (Ubuntu 20.10). In particular, amdgpu plays well with xrandr so I get decent fractional scaling and the iGPU is noticeable faster than the typical 620 that comes with average Intel chipsets. I’m also able to drive my external 4K monitor at 60hz through the USB-C port that supports DP 1.4 (you will need an adapter for this though, but they are cheap, I’m using one from Satechi). I find a 125% scaling factor for my laptop screen is ideal, while I set my external screen at 175% because both its area is larger and it’s further from my eyes. All this is done from the control panel, no hacky scripting was required. GNOME animations stutter a lot when using both screens at the same time but they are pretty smooth using one monitor at a time. Touchscreen is very responsive, the keyboard is quite good, the touchpad is decent, the screen is a neat FHD one (you get around 170dpi, not Retina but ok). I also use a cheap Wacom One tablet for giving classes and the experience has been great, even better than using Windows Ink, which somewhat interferes with the Wacom driver mouse mode (BTW, I use Xournal++ for my classes and PDF annotations, it’s wonderful).
As I mentioned above, there is a downside in that it only implements “modern standby” which is expected to be supported by kernel 5.11. I’m not too worried about this because I easily mapped suspend to hibernate as described in . Of course, it’s a bit slower to resume but it also saves your battery 100%, in a future of “modern standby” only devices, I might even prefer my current hibernate by default solution. So far I haven’t seen any problems while resuming from hibernation, but I will report here if anything goes wrong.
 https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1870736 (affects ~150 people, high importance)
 https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1873403 (affects ~50 people, high importance)