Hacker News new | ask | show | jobs
by doxavore 2703 days ago
Is there a pleasant way to run a Linux laptop today with decent drawing/touchscreen support, HiDPI, and working dock/undock multi-monitor support?

I have used various distros on and off over the years, but today I can run Windows 10 on a Surface Book 2, and the non-development portions of my experience are spectacular, for the low, low price of selling my soul: lazy file syncing with OneDrive, pen support combined with OneNote is spectacular. Unfortunately, WSL only gets me so far when I want to use more than vim. For better or worse, I don't get to spend all of my time coding, so I'd like Linux with a real, modern notebook experience that can let me get my work done without praying to the gods that my external monitors come back on when I plug in.

5 comments

I have a Dell XPS 15 running KDE (on Arch Linux, but that shouldn't matter). I use the Thunderbolt dock (1 cable to charge, connect USBs and Ethernet, and connect up to a few 4k displays). It works great, with one minor issue related to hidpi switching.

I don't have a touchscreen so can't comment on that, but pretty sure KDE has support for that stuff - their art/drawing/painting app Krita works with pens/tablets, and there do seem to be some touch gesture related options in the settings app.

Docking just works. Monitors automatically remember your config and switch when you dock/undock. Also it's very easy to make scripts to swap monitor layouts using xrandr (of course, you can do this with the settings GUI, but with scripts you have all the layouts you use just a few keystrokes away if you want to switch to a special layout).

I use 1.5x DPI scaling with my 4k external monitor. The laptop screen is 1080p, so no dpi scaling. It works well, with the one issue that you need to log out and log back in to switch the scale factor - this seems to be the same as on Windows, but not as good as macOS. One option I just started using a few days ago is font scaling. I set the font DPI to 144 (the settings GUI lets you do this), so all text appears at a normal size. Some icons are still tiny - mainly things like the checkmark in an OK button. But it's good enough that I don't notice any egregious issues and don't mind using it. The advantage of this is that you only need to restart a program for it to use a new font DPI. So instead of logging out/in, I just set the font DPI and restart any programs if I need to.

There are a few minor graphical glitches left if you use fractional (not 2x or 3x) DPI scaling, mainly related to 1 px lines sometimes appearing between lines of text in the KDE terminal and text editor. But they'll hopefully be fixed soon, and I haven't noticed any other issues.

KDE has had a bad reputation in the past, but these days it is a very polished, fast, and feature-rich environment that just works and lets you get your work done. They have KDE Neon, which is the 'official' (I think) Ubuntu-based KDE distro, if you want to try it out.

My strategy has for a long time been to run Windows 10 for all of my browsers and games and paint programs and then run a virtual machine of linux with VirtualBox. I just use terminal Vim, so I run the virtual machine headless and ssh into it with a cygwin terminal.

It's a bit janky but no more janky than actually running Linux on a laptop. No worries about my HDMI projector connection working, no fighting with wifi, games on Steam work, and I get a full Linux for development.

The magic comes from proxying my development servers (like Django's) through the guest machine into Windows. I've got it set up so that if I type `localhost:8000` into any Windows browser, it hits my virtual machine's localhost.

So yeah, complicated, but from what I can see it gives me the best setup I know of with the least amount of fighting with the operating system.

I love this. Thanks for sharing. I wonder if there is a way to make a true dual system on Windows, with full graphical support (even if it is the Linux console), where you can flip between Windows desktop, Linux Desktop (if desired), and Linux console with a "switch desktop" hotkey.

I think I will try this on one of my windows computers. I can't switch from Mac to Linux because I use too much non Linux software, but most of it is on Windows. Adobe suite, Ableton, Native Instruments, etc.

Does anyone know a way to virtualize Linux like the thought above please?

You can certainly install a windowing environment into the virtual machine. I've done this a few times when I actually needed a windowing environment inside of Linux for complicated servers or doing things across multiple ports. It works just fine, and VirtualBox even has a "seamless" mode where it sort of feels like you have windows from both environments.

If you can set up Linux, you can set this up too.

I've looked into touchscreen support on Linux and it was very disappointing. You can fiddle most things to a workable level eventually, but no matter which implementation, there does seem to be a lack of integration for the virtual keyboard, i.e. it doesn't pop up when I touch an input field or won't go away when the input field loses focus. Overall it was pretty awful. Since I wanted to use the device in tablet mode (without hardware keyboard), I have to run Windows for now :(
Did you try the latest versions of GNOME? Touchscreen support seem to be improving quickly there, and I'm quite sure that the ongoing work on GNOME-Mobile will improve things even further down the road.
I just have a separate script to configure my monitors for each of the environments that I work in. So I plug in at work and run work.sh, and everything is set up. Sounds like extra work, but it’s muscle memory at this point, and it’s very reliable. Plus there’s a graphical display configuration tool called arandr that lets you save the current config into a script, so they are easy to make.
Got a Dell Latitude at work, installed Ubuntu onto it. Worked without any setup. Connect it up to the Dell Thunderbolt dock and I have a pair of monitors hooked up to it, providing three screens.

Works without any issues for me.