Asus Zenbook Duo 14 and Fedora Linux

Asus Zenbook Duo 14 and Fedora Linux

I spend most days sitting in front of my desk working, where I have a desktop computer with larger display. It's a great setup that helps me be productive. The past few months I have been thinking of finding a laptop to accompany my main setup, to allow me to work from some other places at times, like at the dinner table, the couch in the living room, or at a local coffee shop.

Introduction

As this would be a secondary machine, I really don't want to have to spend a lot of money on it. It doesn't have to be a beast in terms of performance, it just needs to do enough. Battery life is also important for me, as having to always worry about needing to plug in a charger would severely limit where I would actually be able to do work.  

I also really want to be able to use my operating system of choice. Windows is not meant for me, and while the new M1 Macbooks are absolutely stunning, Linux support for these devices is coming but it's unknown when that might exactly be in a stable enough state to be considered for a work machine.

I genuinely considered the M1 MacBook Air, as on a hardware level it simply can't currently be beat by anything else out there without sacrificing at least one of the big ones (performance, battery life, price). But as I really wanted to stick with Linux, I had to let go of that idea for the time being.

Photo of the box the laptop came in, with the ASUS logo printed on it along with their motto: In search of incredible

A perhaps more unique choice

It's been great to see Asus' willingness to try new things, with the Zenbook Duo line in particular standing out. The second generation of this dual display laptop seems to be really nice, with lots of kinks the initial ones had having been worked out.

It can certainly be considered a niche, but for those who prefer working with multiple displays, the prospect of being able to do this on the go and without having to carry multiple separate devices (and worry about multiple batteries to boot) is pretty great, I'd say.

Asus has basically three categories of laptops with dual displays; The high-end Zephyrus 15" line, the Zenbook Pro Duo 15" line, and the lower-end Zenbook 14" line.

The higher end models come with dedicated GPU options, (much) lower battery life due to their more power hungry nature, and they also weigh quite a bit. They also cost more than I spent on my entire desktop, ultra-wide display included – no joke. So for multiple reasons these wouldn't really fit my specific needs.

The more battery conscious choice

The "lower-end" Zenbook Duo 14" line had my interest from the get-go. There are several variants, each with slightly varying CPU and storage specs. There is also a choice between having a model with both integrated graphics and a (low-end) dedicated Nvidia GPU (MX450), or a with just Intel integrated graphics.

The MX450 is a very low-end graphics card, so while it is a dedicated graphics card, actual day-to-day performance difference as compared to Intel's Integrated Xe graphics will be minimal. I also personally am not very interested in dealing with NVidia hardware under Linux, as that can come with some unfortunate annoyances and limitations. As one of my key requirements is better battery life, along with the aforementioned, I felt the option without a dedicated GPU was the wiser choice.

I decided to take a bit of a leap of faith, and purchase a model that didn't really have much written about online regarding its Linux compatibility. I wasn't sure if I would end up with a subpar or otherwise limited experience, or if basically everything just worked. I am really excited about the prospects of a built-in secondary screen, as having such a display available can be very useful for how I work.

And so, I purchased my first-ever Windows laptop; An Asus Zenbook Duo 14".


An afternoon working from a local cafe or two.

Quick hardware overview

Just to get this out of the way; here are the at-a-glance specs of the model I have chosen (UX482E). As mentioned before, this is the one without a dedicated GPU. Intel Xe is more than enough for my needs, and is fully supported under Linux.

Model Asus Zenbook Duo 14 (UX482E)
CPU Intel Core i7-1165G7 @ 2.8Ghz
RAM 16GB LPDDR4X
Displays 14" 1920x1080 IPS + 12.6" 1920x515 IPS
Graphics Intel Iris Xe
Storage 1TB M.2 NVMe PCIe 3
Connectivity WiFi 6 (802.11ax) + Bluetooth 5 dual-band
Battery 70WHrs 4-cell Li-ion

At the time of purchase, the laptop came with Windows 10 pre-installed and can supposedly be upgraded for free to Windows 11. I haven't tried this though, and this offer might change later on, so if you're interested in this, be sure to check out what the current offer might be at time of your potential purchase.

Image showing the laptop's left-hand side's ports.
Image showing the laptop's right-hand side's ports.

Ports wise the laptop has a nice array of ports. On the left there's a full-size HDMI 1.4 port, and two Thunderbolt 4 display and power compatible USB-C ports. On the right you'll find battery and power light indicator lights, a micro SD card reader, 3.5mm combo headphone and microphone jack, and a USB 3.2 Gen 1 Type A port.

USB ports have become so easy to describe in these modern days, haven't they..

A top-down view of the laptop's secondary display, keyboard, and trackpad.

They keyboard is backlit, and is positioned all the way at the front of the laptop to make room for the secondary screen. The trackpad is placed in the bottom-right hand corner, which at first glance might look odd, but especially if you're used to using a trackpad in a desktop setting as I am, it'll feel natural very quickly. The trackpad is taller, matching the aspect ratio of both displays stacked on top of one another, or that's the idea behind it anyway.

Photo showing the rather unique hinge design that, when opened, lifts the entire laptop off the surface a bit. The secondary display also folds out a bit, making the viewing angle more convenient.

The hinge has a rather unique looking design that lifts the laptop and secondary screen up up for a better viewing angle, and also helps the laptop stay cool. The secondary display is still sitting a bit flatter than you probably like, but pulling it up even more would've required the primary display to be either vertically less tall, or somehow also raised up further. I'm not sure if there would be an elegant way to achieve that, so I understand the compromise here.

Asus also realized this, a they actually include a foldable riser that you can stick to the bottom of your laptop, which actually works quite well. It raises up the laptop more, giving you a nicer angle for both displays, without raising it up so far that the keyboard becomes challenging to use.

The ("Premium") speakers speakers are tucked away under the secondary display, and sound alright. They're tinny and lacking in bass, about what you can expect. It'll suffice for basic usage and watching a YouTube video here and there. For music listening or so I don't think you'd ever really want to rely on a laptop's built-in speakers, for that I personally always use headphones.


Photo showing the Asus Zenbook Duo 14 running Windows 10

First boot

Before I started installing Fedora, I wanted to make sure all the bits and pieces of this laptop worked as they should. So I booted it up into the Windows installation it came with, went through the welcome setup, and was immediately greeted by several of the reasons why I just can't comfortably use Windows; tons of updates that take forever to run, and several bloatware apps – several from Asus, several from Microsoft that come with all Windows 10 installations.

If your laptop needs include having apps like TikTok, Facebook and Instagram pre-installed along with several McAfee tools and some other stuff, then this might be the perfect first launch experience for you. For me, though, not so much. But I digress.

All the hardware bits seemed to work as they should; both touch screens, keyboard backlight, all USB ports, all keyboard keys and even the included touch pen work.

And so it was time to say bye to Windows. We barely knew ye.


Photo showing the Zenbook Duo running Fedora 35, displaying Fedora's "about" screen

Fedora 35

I had been running EndeavourOS as my primary operating system for the past year and a half or so on my main machine, but I was looking for something slightly less rolling (and all that comes with a rolling release OS). At the time of me purchasing this laptop, Fedora 35 had just come out. Having this laptop now seemed like a perfect opportunity to do just that.

Launching into Fedora's live environment from the USB stick was actually quite amazing. Not just because of Fedora's environment, but because pretty much everything this rather unique laptop has just worked, right out of the box.

Both displays work

Both displays show up just fine in Fedora, with both displays working just like any other display would. I did have to adjust the virtual placement of the secondary monitor, after booting the fresh installation for the first time it was placed alongside the primary monitor as supposed to under it. There's no way to know for an OS where you have your monitors in physical space though, so I can't fault it for assuming they're alongside one another.

Both touch screens work

And were correctly calibrated. In older days with XORG you may have had to fiddle with config files and whatnot, but thanks to the more modern Wayland setup Fedora uses out of the box, this just worked. What's more; the included touch pen also worked out of the box. This one really kind of surprised me. Amazing.

Audio works

Both the internal (listed in the official specs as "harman/kardon (Premium)", which gave me a giggle) work perfectly, as does the 3.5mm headphone jack.

Wifi 6 and Bluetooth 5.0 work

At their full speeds from what I can tell. Wifi is nice and snappy. I had no issues connecting a Bluetooth game controller (an 8BitDo Pro 2) as-well as a Bluetooth audio dongle. I don't usually rely on anything Bluetooth if I can help it, but it's nice to have it there for when I do want it.

Built-in webcam works

Again, out of the box. Fantastic stuff this. What isn't fantastic is the absolutely potato quality of this webcam, but I suppose that's to be expected for a laptop webcam. If there's a megapixel somewhere, it isn't in this camera. But for a a quick work meeting it'll do.

Battery status reporting works

The battery indicator works correctly, showing a proper drain status when not plugged in, and it shows the percentages correctly too. Very nice.

Keyboard works, except some Asus-specific special keys

Everything related to the keyboard and trackpad works, with the exception of a few Asus-specific special keys. Special functions like controlling volume works perfectly, and changing display brightness works for the primary display only. More on this in a little bit.


And so, with this very good start, I went ahead and wiped the entire SSD and installed Fedora. A relatively short amount of time later, I rebooted into a fresh installation of Fedora 35. There were a few updates available so I ran those right away, and I customized the BTRFS configuration somewhat post-installation for better snapshot support, something I might cover in a separate post in the future.

With just the basic installation we basically have a pretty much fully working Fedora Linux setup on this pretty awesome Asus laptop. But to be able to control the brightness of the secondary display, we need to install a custom kernel module.

Asus-wmi-screenpad kernel module

There has been a small but passionate community of Linux lovers surrounding these several Asus laptop models for some time now. Fortunately some great minds have worked on a custom kernel module that allows us to control the brightness of the secondary display, the only real missing key feature for an otherwise near-perfect out of the box experience.

This custom kernel module is needed because Asus has unfortunately implemented the secondary display's brightness control seemingly in a non-standard way. Had they simply relied on standardized solutions, this wouldn't have been a problem. Alas.

The setup isn't quite set-and-forget, unfortunately. With every kernel update you'll have to re-run a few steps. Kernel updates don't happen too often, but it would've been nice if you didn't have to worry about this at all. Still, it's a small price to pay in my book, and the result is very much worth it.

To get this set up on your system, the Github repository's README has the steps necessary to get everything installed. There are a few minor points I wanted to highlight here, just in case it's useful for you too.

Consider cloning the project instead of downloading the ZIP

If you're familiar with Git, it might be useful to clone the project rather than downloading the master.zip file. This way whenever there is an update to the project, you can simply git pull origin master (or by using your favorite Git GUI client), which is handy. This isn't required of course, you could also simply download a new zip file of the project when desired.

Easier re-installation after a kernel update

The README tells you to delete everything and basically start over after each kernel update, but I have found that you don't have to do all that for each update. As long as you updated within the same minor kernel version (ie. from 5.15.17 to 5.15.18) you only need to re-run the sudo dkms install -m asus-wmi -v 1.0 command.

If you're updating to a new major version, you'll have to first reboot so your system is running on this new version, then open a terminal window, cd to where you have this project stored, and run the following:

❯ sudo sh prepare-for-current-kernel.sh && sudo dkms build -m asus-wmi -v 1.0 && sudo dkms install -m asus-wmi -v 1.0

Now you should be able to reboot and the module should be working as it did before.

While at the time of writing the project hasn't received updates in a while, it would be wise to always check before updating just to see if there are any updates. If there are, pull them in (or re-download the master.zip file if you went that route) and then after making sure the setup process hasn't changed with this new update, run the above commands.

Project directory

You don't technically need to download the project source files to /usr/src/asus-wmi-1.0, but dkms does expect the files to be there. Creating a symlink will work for this, which might be nice in case you like to keep your (git) projects in a specific projects folder for example.

In my case I like to keep projects in ~/Projects, so my symlink would be created like sudo ln -s /home/{youruser}/Projects /usr/src/asus-wmi-1.0

A note for Ubuntu (and possibly its derivatives)

In case you're running Ubuntu, we have discovered that it includes a kernel module that interferes with the asus-wmi-screenpad module. Fortunately the fix is pretty easy, as you simply have to blacklist that module to get everything working as it should. The above link points to a Github issue thread where detailed ways to achieve this are shared, so please refer to that if you're running Ubuntu or similar and were experiencing trouble getting the asus-wmi-screenpad module to work as expected.


Integrating brightness control & more

With the above kernel module installed you are able to control the secondary screen's brightness through terminal by writing a value to a certain "file," but unless you live in the terminal, that might not be very intuitive. Fortunately another person has created a wonderful GNOME Extension that lets you control the brightness of both displays together using the keyboard's brightness function keys. I actually really like this implementation, as it lets me control both screens with ease and I don't have to worry about remembering multiple keyboard shortcuts or the like.

Installation of this extension is now simpler than ever before, as the extension's creator has gone through the effort of publishing it on the GNOME extensions site. Just head on over there, flick the switch to on, and give the extension permission to install the necessary bits when it asks you to. That's it!

As mentioned before, the laptop has several Asus-specific keys. This extension brings support for several of these, though not all. I don't personally miss the ones it doesn't (yet?) support as I can't really see a use case for them, but your mileage may vary. Here's what works thanks to this extension:

  • ✅ Synchronized rightness control of both displays
  • ✅ Disable/enable the secondary screen with a single button press
  • ✅ Customizable "My Asus" (//]) button action
  • ✅ Customizable screen capture action

Besides these additional buttons, out of the box Fedora fully supports the following keyboard shortcuts/buttons:

  • ✅ Mute, volume down, and up
  • ✅ Brightness up/down
  • ✅ Disable/enable touchpad
  • ✅ Adjust brightness for the backlit keyboard
  • ✅ Toggle display mode (single display, clone, dual display)
  • ✅ Lock your computer ("activate lock screen")

This leaves only these actions to not currently be supported, even with this GNOME extension:

  • ❌ Turn the camera on/off (ie. launch webcam/selfie capture utility)
  • ❌ Swap all windows to the other display

Personally I don't really see any scenario where I'd ever want to use these missing actions. I can maybe see a use-case for being able to easily swap the currently active window/application to the secondary display, but I'd probably still not use that, as I'm used to the keyboard shortcuts I have defined for this action. I use those on my desktop as-well, so just using the keyboard shortcuts I'm already familiar with is much more comfortable.

The creator of the extension has been very open to suggestions and pull requests, so if you have any ideas or would like to contribute, do get in touch with them.


This lap desk thingamajig is quite nice and lets me sit comfortably on the couch with the Zenbook Duo.

Zenbook Duo + Fedora Impressions

With just this kernel module and GNOME extension in place, you now have a basically perfect Zenbook Duo Fedora setup. I've been using the Zenbook Duo like this for a few months now, and I must say, it's been fantastic.

The out of the box experience with Fedora for me was also a night and day experience compared to the Windows installation the laptop came with. I was actually genuinely worried when I unboxed and booted into Windows for the first time, as the laptop felt incredibly sluggish.

I knew it was probably downloading a bunch of updates in the background as that's usually the case with Windows, but even a relatively simple action like playing back a video on YouTube (to test the speakers, mostly) was incredibly choppy, with the 1080p video losing a ton of frames and cutting out numerous times. Yikes.

Fortunately performance is very nice under Fedora. So much so that I can rely on battery saving tactics like disabling turbo boost and still having a nice and snappy experience. Animations are snappy, applications launch fast, it's a great feeling OS on this laptop.

Battery life

Battery life was one of my concerns going into this whole journey, as modern Intel CPUs are not particularly power efficient. This laptop has a genuinely beefy 70Wh battery, and has Intel's EVO label on it. Don't let the latter fool you though, as this label was achieved under decidedly cheeky conditions. They even had the secondary display disabled to get this label, which seems to pretty much defeat the purpose of this particular model if you ask me.

Power consumption over a ~2 hour timespan shows the laptop using around 11watts on average for the entire system (not just CPU), which is not bad.

Regardless, my hope was to get something close to 6 hours of battery life while performing my usual work-related tasks. As my work doesn't usually rely on very CPU intensive tasks —unless I check out and npm install certain projects I work on/maintain, that is, as some have way too many dependencies— I like to adjust CPU power settings to suit my specific needs.

The CPU Power GNOME Extension is a wonderful little helper tool.

For this I am using the wonderful CPU Power GNOME extension, which lets you conveniently do all this and even supports auto-switching based on the power source used. With this tool I can easily disable turbo boost —something I pretty much always do with Intel powered portable devices— and limit the CPU frequency range too. The extension comes with several presets built-in which you can fully customize to your particular needs.

I usually work with the Quiet preset, sometimes switching to the Work preset or temporarily enabling turbo boost when I'm doing running more CPU intensive.

A nice benefit of having turbo boost disabled is that the laptop is basically completely silent at all times. At full load it's not necessarily loud, but I personally don't like it when a laptop is constantly making noise, or feels particularly warm to the touch. If you've ever used a MacBook Pro pre-M1, you'll know what I mean.

So while battery life isn't amazing, it's definitely enough for my particular needs. It charges pretty fast too. As it charges through either one of its USB-C ports I am able to use my other chargers too, as-well as a Hyper Juice 27,000mAh battery bank that I have. Nice.

One of the very portable USB-C chargers I like to use, it's powerful enough to be able to charge the Zenbook Duo, no problem.

Issues

There aren't actually many issues at all, but there are a few small things I wanted to point out that I would say prevent this laptop running Fedora from being absolutely perfect.

Kernel module updates

The most prominent one is one I have already mentioned before, and that is that the kernel update process is less smooth as you need to manually re-build and re-install the kernel module. It would be very nice if this isn't something needed, but I'm not sure if there's a way to mainline these fixes, or perhaps fix the setup so that dmks can actually re-build everything necessary automatically with kernel updates, for example.

According to the module's readme that's actually supposed to happen, but in my experience I've always had to manually at least re-install the module. I'm not entirely sure why that is.

Touch pen battery status alert

While the touch pen is fully supported out of the box, the pen itself has a hardware limitation where it doesn't actually report the correct battery status to the OS. This is the same under Windows, but unlike Windows, Fedora shows a "the battery is almost dead" message the first time you bring the pencil close to either screen, with no way of disabling that notification.

Being able to actually disable such a notification specifically for the pen would be nice. It's not the end of the world (and only happens once per screen per boot, I believe), but not as smooth as the experience should probably be.

No AMD options

It would've been great if Asus had an AMD option for this laptop, too. I personally think their offerings are currently a better bang-for-buck choice. I know this is not the same for everyone though, and having Intel Iris Xe integrated graphics is certainly nice as it's actually quite capable. But if there was a choice, I would've preferred an all AMD option for sure.


Summary

I'm really pleased with this laptop, and Fedora's near-perfect out of the box experience and hardware support for basically everything this laptop has has been fantastic. I've not had to look back or worry about odd behavior or quirks at any point since getting this laptop, it's been running solidly and consistently.

Having the secondary display is great, allowing me to have the Web Inspector open while working on a website, or a terminal window with logs/debug messages with VSCode in full-screen mode on the main display for example. I can even have a YouTube video open on the secondary display, although I'm not particularly good at that kind of multi-tasking, so that's something I only really do when doing something that doesn't require too much attention.

And when I'm doing light tasks like email or browsing or perhaps play a game I can easily toggle off the secondary display using the dedicated key for this, reducing power consumption further – and further extend battery life, of course.

If you've been curious about Asus' dual-display laptops and were curious about Linux compatibility, I hope this overfiew has helped you see that it's working quite well. It's a great hard- and soft-ware combination, one I can quite safely highly recommend.

I hope this helps. Thanks for reading.


Note: This is not a paid or otherwise sponsored product review. I have purchased this laptop with my own money and have not communicated with Asus in any way. I just wanted to share my findings in case it helps someone else who might be looking for something similar.


6+ Months Later Update

March 13th, 2022

I've been using the Zenbook Duo for close to 7 months now, and it's been great. As I have mentioned in my review this is not my primary work machine –that's something my back and neck would not survive I imagine– but it's been very nice to have this available for days where I want to work in a coffee shop and enjoy the beautiful spring weather, or even just sit somewhere else at home.

Fedora 36 has just been released, and I'm happy to report that the upgrade to it was extremely smooth, and everything still works as well as it did before. Both the kernel module as-well as the gnome extension are still working great (the latter after a small update enabling support for GNOME 42, which is already available now).

I'm still happy with my purchase, and the mobility it gives me is very nice indeed. Knowing that the upgrade process remains this smooth even on slightly more peculiar hardware is very nice.