Even though our dev environment at work is Ubuntu, I greatly prefer running Windows on my ThinkPad X1 Extreme, because of the superior hardware support for the devices I use. Specifically:
• I spend a fair amount of time on Zoom calls (who doesn't?), and I like to use my Apple AirPods so I can move around while we talk. I was never was able to get these or any other Bluetooth headset to work on Ubuntu. They pair only as headphones with no microphone. On Windows they work "out of the box".
• I use a triple-monitor configuration with three 4K displays: the ThinkPad's internal 15" display and two 24" externals. In Ubuntu I can only get two displays to work. (BTW one external display is in landscape mode above the ThinkPad, and the other is to the left in portrait mode. I highly recommend this configuration - the portrait mode display is great for reading docs and especially PDF files.)
• I run the external displays at 200% scaling and the internal at 300% to match the differing pixel density. I didn't see any way to support this configuration in Ubuntu, much less be able to move an app window between displays and have it automatically update its scaling factor to match the display. This works "out of the box" in Windows.
So I run Windows on the hardware and Ubuntu with my dev tools like PyCharm and SmartGit in a VMware VM. (VMware works a lot better for this than VirtualBox - the display response is much snappier.)
Of course these are my own needs, and I have no quarrel with anyone who has different preferences. But I welcome anything Microsoft can do to make this an even smoother experience than it already is.
Bluetooth headsets (I have Bose) and automatic input switching works with pipewire, fractional scaling with different settings for each monitor works with Wayland.
I am using it on Archlinux without any problems whatsoever.
The problem with Ubuntu is - when it releases their latest version, it is already shipping a couple years old software versions.
And for pipewire, wayland, mesa and other desktop related things you want to run the latest version at all times. This is one of the major reasons why Valve chose Archlinux as a base for their new SteamOS version for Steam Deck.
> The problem with Ubuntu is - when it releases their latest version, it is already shipping a couple years old software versions.
That is quite a dramatic take and simply not true.
It maybe fits somewhat for Debian Stable (that has a freeze of 4 to 6 months), but Ubuntu bases off Debian Unstable (sid) and sid is very close to the Arch experience - I know because I use both a lot.
Granted, Ubuntu adds a bit of a delay due to QA and all that release fuzz a rolling release like Arch does not has to care for, but if an upstream software release happened one or two months before an Ubuntu release it's really likely to be included in that release.
> And for pipewire, wayland, mesa and other desktop related things you want to run the latest version at all times.
Meh, in general I agree with the sentiment, but there are also regressions that hurt running into, and if you have HW that was released over a year ago it may not matter that much.
> This is one of the major reasons why Valve chose Archlinux as a base for their new SteamOS version for Steam Deck.
Not directly, they could have used Debian sid for that, and the fact that SteamOS 2.0 is still on Debian 8 (newest is 11) also shows that they did not try to go for the latest releases until now. I'm working on a Debian derivative and we just backport things ourself if really required, it is a bit of work but not that much (we're definitively orders of magnitudes smaller than Valve) - especially as the Debian unstable/sid repo is quite up-to-date and thus we often can just take it from there and base on that anyway.
But actually Debian and Arch Linux are really close anyway, I do packaging for both (but neither a DM nor Arch trusted user) and if the software is not awful to package in general it's quite the bliss to do for both, there are also lots of parallels, even if often slightly hidden. So I won't care much; may even try out setting up Debian Sid once I get my Steam Deck :)
Debian used to be my main desktop distro 10 years ago, but I switched to Archlinux because for me personally Debian reqired too much work after packages got broken (I was on testing or unstable, don’t remember anymore), and it happened too frequently. And also Archlinux AUR was very powerful with no good alternatives on Debian at that time.
I still have some servers running Debian but I have migrated most to Ubuntu because of much simpler upgrade procedures between stable versions (basically I have enabled automatic upgrades with auto reboot on all of them).
I am an enthusiast but I like to have things running smoothly and even with Arch being rolling release, it has been working smoother for me than in my time prior with Debian.
Maybe it is because of the excellent documentation on Arch wiki, maybe it comes with experience. All of this is subjective anyway.
I'm using Fedora. Scaling works, but not for all apps. Gnome apps work just fine. But Chrome, Intellij Idea and some other apps do not scale when moved to other display. AFAIU Wayland-native apps work, but those which use Xlib do not re-scale properly.
> • I run the external displays at 200% scaling and the internal at 300% to match the differing pixel density. I didn't see any way to support this configuration in Ubuntu, much less be able to move an app window between displays and have it automatically update its scaling factor to match the display. This works "out of the box" in Windows.
This works if you use Wayland rather than X11. I'm using a similar configuration today.
I've been running {KDE, Gnome} on Wayland + KMS on a box with a GTX1080 for a few months, and
- it is really laggy (sometimes the mouse cursor is choppy)
- fractional scaling is practically unusable due to all kinds of important apps (e.g. Chrome) not supporting it and just blurring the screen instead of properly scaling
Overall I can't recommend it to non-enthusiasts, unfortunately.
"It works for me on very specific, ancient hardware, and also don't use <software you use>" isn't a great selling point for people who just want their machine to work and aren't bought into Linux On The Desktop as a philosophical ideal. That's why people use WSL2! Popular software works, popular hardware works, you can run Linux programs from the command line without installing and managing a separate VM yourself (yes, yes, it's virtualized under the hood by the OS, but you don't need to manage the VM yourself), and now you'll be able to run Linux GUI apps too.
If you want a great Linux desktop experience, don’t buy Nvidia GPU’s.
Intel and AMD has very good open source drivers, while Nvidia has only the proprietary ones and they are known to have all kinds of issues. There is a good reason Linus Torvalds said the famous words “fuck you Nvidia”.
And major problem that still persists with WSL is the NFTS mounts in Linux. At work we can’t have decent compile times on Windows because of the file system.
To be honest, with the amount of video meetings I have, I invested in a far better audio setup than Bluetooth headset microphone.
The amount of meetings I've had where the audio from the other end sounds like the BART announcements is too high...
That being said, I know what you mean. However, I'm actually rather annoyed at the headset microphone functionality on windows, because if anything starts using the microphone, it switches modes and the audio quality goes way, way down. Fine for a zoom call maybe, but having horrible audio in a video game is not fun. I constantly have to go to control panel to turns off hands-free telephony.
Audio quality matters to me too, and of course the AirPods are quite a compromise. The speakers in them sound good enough, but I know the microphones are not great. Mind sharing some details of your audio setup?
I do like having wireless headphones of one sort or another, so I can walk around while staying in the conversation.
Also, over-the-ear or in-the-ear (the kind that go into your ear canal) headphones don't work for me. The only kind I'm really comfortable with are the kind that sit lightly in my outer ear, e.g. AirPods and not AirPods Pro.
But in any case, I'm eager to hear about your setup. And I'm probably not the only one who would welcome better quality audio. Thanks!
As far as a microphone goes, I use a Blue Yeti on a shock mount suspended next to my desk along with a pop filter (about ~$200 USD all together). To be honest, I've had it for awhile because I've played games or talked with friends on Discord regularly for years. We all started with the inline microphones on our headsets and collectively decided to move past what we loving described as "BART station audio" since it became an almost daily activity.
As far as work goes, a few of my coworkers use RTX Voice to remove background noise since they use their gaming computers for work. For headphones, I personally like over-ear headphones and use wireless noise-cancelling headphones.
> if anything starts using the microphone, it switches modes and the audio quality goes way, way down.
Funny, I don't see this on windows, which will leave the headphones at high quality (except for when I'm speaking, at which point I don't care that much about audio) - but on Linux I have to set the audio profile for the headset to low quality in order to enable the microphone at all - so all audio out is crap as long as I'm on a call/have the microphone enabled (even muted).
Still waiting for this to improve - but looks like it'll require new hw (new Bluetooth receiver and sender).
Ubuntu by default pairs Bluetooth headsets as A2DP, which has higher quality for music but no mic-support. You have to go in to Ubuntu bluetooth sound settings and change the output device to headset mode every god damn time you turn on the headset. And then toggle it back to A2DP if you want to listen to music again. I don't know how Windows or iOS deals with this but there both modes seem to work seamlessly.
Pipewire can switch to headset mode automatically whenever a microphone input is needed. And it switches it back to headphone mode afterwards.
It works on Linux exactly like on a phone or macOS.
Pipewire is backwards compatible with Pulseaudio so there is no reason to not migrate.
I've not heard of pipewire. Need to check this out because I'd love for my truly wireless earphones to be able to seamlessly switch modes on Ubuntu. I use a wired headset for work calls I need to be on quickly because it's pretty flawless, but the tether is more than a little annoying.
EDIT: It took me 5 minutes after reading the comment above to replace pulseaudio with pipewire on Ubuntu 20.04, now I have access to my earphones' high quality codecs too right from the Ubuntu sound control panel!
EDIT2: Switching to/from my earphones and from 1 bud to 2 buds appears flawless so far, even for the Spotify desktop for Linux app which usually requires a `pulseaudio -k` to send the audio out of the right device usually, even if it's correctly selected in sound settings.
EDIT3: Don't forget to mask pulseaudio (yellow box, second link) or pulseaudio will load on reboot and break things, no amount of systemctl disable will stop it without masking.
EDIT4: Linked site has different theme on mobile so yellow box in EDIT3 isn't yellow.
oooh... Thanks! Thanks!... This was a breeze and I had to pinch myself to make sure that it was really working...
PS: In the past, I've wrestled with PulseAudio & BT dongles and my JBL headsets on Ubuntu. Banging my head on a brick wall would have been more pleasurable than that.
PPS: and today we have Pipewire on the front page!
Glad you got it working. I deserve no credit though, I just followed some instructions and linked it here.
It was even easier to setup on my desktop (now running Manjaro rather than Ubuntu because of SteamPlay/Proton et al) and simply `sudo pacman -Sy manjaro-pipewire` followed by a reboot. If it complains about pulseaudio related conflicts, just `pacman -R` the packages it mentions then try manjaro-pipewire again, and then reboot and you're done.
I sort of had heard of pipewire - but only to the extent that it was the next audio/video stack.. No idea about how far along it was. Also no idea that it had the BT headset thingy all sorted out.
Your comment made me go "huh! that's easy enough to finish off in 10 now" and provided the impetus I needed
Does Macos doesn't deal with this? IME, MBluetooth Audio from Mac sounds like a fart in a pringles can unless you update some plist somewhere. But once you do that It JuSt WoRks.
> I spend a fair amount of time on Zoom calls (who doesn't?), and I like to use my Apple AirPods so I can move around while we talk. I was never was able to get these or any other Bluetooth headset to work on Ubuntu.
I do not want to be the cliché Linux user and recommend some config change and assert that would have been simple and helped 110%, but out of interest, did you also try something like
> Set ControllerMode = bredr or ControllerMode = dual by editing
> /etc/bluetooth/main.conf file
> systemctl restart bluetooth
On linux mint, zoom works fine, with bluetooth headphones, attached speakers, bluetooth speakers, etc. Has for years (well, I started using it (bluetooth headsets with linux) in 2008 or so, and it worked then as well).
On windows, brand new Dell laptop for work, with an insanely locked down version of windows 10, zoom often crashes, especially when sharing my screen. This in turn takes down many other applications. Generally making the whole windows experience far from optimal.
My Sager Laptop a few years ago, and now my HP Omni (personal) laptop, I regularly drive 2 screens and the laptop display. Works. Out of the box. Work windows 10 laptop, its a crap shoot at best. And I can't use the NVidia card very much in windows 10, simply because the system is so locked down. Thus I'm stuck with an expensive and useless feature. One that works flawlessly in my locked down linux box.
On different scalings for different monitors, its built in to mint.
I'm guessing you are either running a very old version of Ubuntu (literally all the complaints you made are many years out of date, having been solved long ago), or you copy-pastaed from somewhere else. My priors on this are 60% the latter 40% the former.
On my linux laptop, I run windows the way it should be run (if you really need to run it). In a kvm instance. Never touching real hardware. And whats funny about this, is that the virtualized Win10 is faster than the far more expensive windows 10 work laptop right next to it.
Go figure.
FWIW, I've been using Linux on my desktop for 23 years, and as my primary OS on my desktop/laptop for 20 of those years. So ... YMMV.
This seems mostly anecdotal, but I've been using Bluetooth headsets and headphones on Linux since around 2008, and most have worked out of the box with no issues.
I do remember at the time, windows didn't really work with those Bluetooth headphones, and I actually started bringing my own Linux laptop to work just so I could use my headphones.
When it comes to Zoom, I'd say the problem is having to use that crap and not the fact that they barely support Linux. MS Teams also won't work on Linux, but it's hard to claim it's an issue on Linux's side. I'd suggest looking at something like Jitsi, which is also encrypted and takes security into consideration.
Ubuntu is a pretty bad example for anything though: they're usually trying to reinvent the wheel and it's very common for things not to work there and work anywhere else. I personally have mixed feeling because they both make Lonux more popular and build good tools, but also give Linux a bad rep at the same time. Maybe give Fedora a shot?
Finally, per-display scaling works fine on Wayland, but won't work on Xorg. I believe Ubuntu still uses the latter.
It is not true that Ms Teams does not work on Linux. We do have several devs working on Linux (don't know which specific distros though) and it works just fine. There are some annoying pop ups saying "Teams is ready" anytime they get a message and one of them has to switch something about his graphics from time to time to be able share his screen (which has never been a problem problem for anyone else), but I wouldn't say that it doesn't work at all.
> When it comes to Zoom, I'd say the problem is having to use that crap and not the fact that they barely support Linux. MS Teams also won't work on Linux, but it's hard to claim it's an issue on Linux's side. I'd suggest looking at something like Jitsi, which is also encrypted and takes security into consideration.
Jitsi is not as good as Zoom. Zoom seamlessly integrates with multiple monitors, and it provides a variety of tooling to rearrange your view of people and shared desktops. Just as an example last week I was helping two coworkers troubleshoot something, and I was able to have both of them share their desktops simultaneously. I had one on one monitor and one on the other. It was painless and instant. Maybe Jitsi supports such a thing somehow but it would have taken a minute or two to find the right buttons to press.
Also Zoom is encrypted. It has always been encrypted. Zoom lied about having E2E encryption and also weirdly had a lower-grade AES. Zoom is weird because while I 100% mistrust their motives in using weaker encryption, there are some legitimate tradeoffs between reliability and encryption - and it's actually pretty unlikely that they could implement E2E encryption without compromising video quality.
And ultimately especially with the pandemic and only being able to see people via video, even the smallest problems are potentially quite massive. I've used Jitsi a bit, and I don't think it's an exaggeration to say that it would mean that I would have spent at least an extra hour a week during the pandemic troubleshooting video when I was trying to have a nice visit with friends or family. I'm not going to be an ideologue when I lose that kind of time.
About the headphones, are you sure you've selected the right thing in the app? Not pulseaudio, but zoom. I had this problem that zoom would ignore whatever I set with pulse. Once I figured this out my problems went away.
For games, proton has come a long way. I don't find myself needing to boot out of Linux very often anymore.
Thanks for asking. In fact that is one of my pet peeves with Zoom, that it has its own audio selection independent of the host OS. This is a problem on Windows as well - and I assume on macOS too.
I have a friend who uses Zoom a lot on her Windows laptop, and this "feature" of Zoom has messed her meetings up so many times!
I didn't install any Apple drivers, just paired and connected them in the Windows settings. I also tried a couple of cheaper Bluetooth headsets and they worked equally well. None of them would connect as headsets in Ubuntu 20.04.
Indeed. We take for granted this kind of robust hardware support on macOS and Windows.
macOS by itself wouldn't work for me, though. I would still need to run a Linux VM because of our very fussy build system. And besides, where would my beloved TrackPoint be? :-)
Nice setup. I prefer one large monitor over dual displays and a desktop over a laptop. I just don't have any use for the small laptop screen and keep it closed most of the time.
In truth, I don't spend that much time on Zoom calls, and of the few that I have, many are no video, just substitutes for a phone call with better audio quality and the ability to share screens if needed.
• I spend a fair amount of time on Zoom calls (who doesn't?), and I like to use my Apple AirPods so I can move around while we talk. I was never was able to get these or any other Bluetooth headset to work on Ubuntu. They pair only as headphones with no microphone. On Windows they work "out of the box".
• I use a triple-monitor configuration with three 4K displays: the ThinkPad's internal 15" display and two 24" externals. In Ubuntu I can only get two displays to work. (BTW one external display is in landscape mode above the ThinkPad, and the other is to the left in portrait mode. I highly recommend this configuration - the portrait mode display is great for reading docs and especially PDF files.)
• I run the external displays at 200% scaling and the internal at 300% to match the differing pixel density. I didn't see any way to support this configuration in Ubuntu, much less be able to move an app window between displays and have it automatically update its scaling factor to match the display. This works "out of the box" in Windows.
So I run Windows on the hardware and Ubuntu with my dev tools like PyCharm and SmartGit in a VMware VM. (VMware works a lot better for this than VirtualBox - the display response is much snappier.)
Of course these are my own needs, and I have no quarrel with anyone who has different preferences. But I welcome anything Microsoft can do to make this an even smoother experience than it already is.