It is now old news that I purchased a new laptop. While it proved its mettle as a gaming laptop for what ever casual gaming that I do, its primary purpose is for work. And work I cannot do in Windows. I had to install Linux. Some of you might know that installing Linux is not quite as straight forward, especially on new hardware. There is a saying that you should buy hardware that is 6 months old for Linux to have all the drivers working and quirks ironed out. The reason is that many companies (read Intel, AMD, Nvidia etc), write drivers for Windows first and then they may write one for Linux. For when there are no drivers, some one from the open source community will have to reverse engineer and build drivers. This has been the state of affairs but Linux is now catching up. Anyway, in this post I will cover all the things I had to do to get Linux working on Acer Aspire 7 with Nvidia GTX 1650.
Preparing the disk
The first thing we need is space on the hard disk to install Linux alongside Windows. Before I partitioned the disk, I uninstalled as much trash as I could from Windows 10. Acer installed a bunch of apps that I don’t use. Next I proceeded to shrink the Windows partition. You can find several articles explaining this, so I won’t go into too much detail. Just search for “Disk Management” in Windows 10 search box on the taskbar. Then find the partition with Windows 10 which is usually the largest partition of them all. Right-click and select shrink volume. I shrank the partition to 250 GB. Remember, I have the 500 GB SSD. So I was left with 222 GB for my Linux partition. The rest is used up by UEFI and Windows restore partition.
Download your favorite Linux distro
Everybody likes their own flavor of Linux. For me it is Manjaro. Previously I used to love Gentoo, but later I wanted something a bit simpler than editing every single configuration file to make things work. So I switched to Manjaro i3 for the longest time before I decided to give Manjaro Sway a try recently. I downloaded it and flashed on to a USB stick using Etcher.
To install Linux, you will have to disable Secure Boot in BIOS. I am not sure if there is a way to install Manjaro Linux with Secure Boot. Even in my previous laptop, I had to disable Secure Boot. To disable Secure Boot you need to get into the BIOS and on Acer you have to keep pressing F2 key soon after turning on the laptop.
Disable Secure Boot
To disable Secure Boot, you will first need to setup a supervisor password. So head on over to Security section and setup a password that you can remember in Set Supervisor Password. Next, navigate to Boot section. Disable the Secure Boot option. More details on disabling Secure Boot can be found on Acer’s website.
Enable Boot Menu
The next thing we need is a way to make the laptop boot from the USB stick we created earlier. For this we need to enable F12 Boot Menu option. In the BIOS navigate to Main and enable F12 Boot Menu option.
Change function keys behavior
While I was here, I also switched the “function key” behavior in the BIOS. By default, pressing the function keys on the laptop actually trigger the media functions like brightness control (F3, F4), volume control (F9, F10, F11). But I did not like that behavior. I want the functions to work normally and for media functions, I’d like to hold Fn key and press the function keys.
At this point you can disable password if you like. Finally save and exit BIOS.
Shutdown the laptop and insert your USB stick into one of the USB port. Then turn on the laptop and start pressing F12 until it drops you into the boot menu. From here select your USB stick. Then follow the instructions to install your distro. In my case I had to select “proprietary drivers” install process, otherwise the installer would keep hanging on me.
After the installation was completed, my laptop would boot into Manjaro but gets stuck in the UI. So I had to drop into a TTY using Ctrl-Alt-F2 and login from there. Then the first thing to do is blacklist nouveau module. This was causing a lot of trouble in Manjaro Linux. Since the laptop has integrated graphics (AMD) and Nvidia GPU, disabling nouveau will simply disable the discrete graphics card. The UI will still work with the integrated GPU. To blacklist, all I had to do was create a file
/etc/modprobe.d/blacklist.conf with the following contents and reboot.
I don’t need the discrete GPU in Linux because I don’t do any GPU intensive work. Every once in a while I need to transcode some videos which is the only one that would benefit from a GPU. In the past I used Steam on Linux to play games, but I remember the performance to be very poor compared to what I would get in Windows. That would have been one more application for the GPU. But as far as I can tell I don’t need the heavy weight GPU in Linux for most of my work. So disabling the driver was not an issue for me.
If you need the discrete GPU, you are better off using Manjaro i3 or some other flavor of Linux that does not use Sway. Because Sway and Nvidia are bitter enemies as of now. One thing I can tell you is that open source driver nouveau is not handling Nvidia GTX 1650 properly at least in my laptop.
Everything was working perfectly fine in Linux just like in my previous HP Envy 15t laptop except that the battery life was very poor. I had a hunch that it may be related to the discrete GPU. In unplugged state
upower is reporting a power draw of around 20 watts when the laptop was completely idle with no keyboard backlight and screen brightness at the lowest. The estimated time to empty was around 2-3 hours. That did not sit well at all with me.
I dug around and found that I could use bbswitch to disable discrete GPU. but that did not work. Eventually I found
acpi_call (see method 1) to work. I also installed TLP and tweaked the configuration a bit with TLP UI. After that power usage on battery in idle conditions dropped down to 5 watts! Under light load (5W - 10W) I can easily manage 6-7 hours. That is a huge improvement from the 2-3 hours it was reporting earlier. This battery life is similar to my previous laptop and I am satisfied with it.
WebRTC screen sharing
Since I am using Wayland, there is no easy way to share screen. Hence I had to install PipeWire to get Google Meet to share my screen.
That is all I had to do in Linux to get everything working the way I like. So far I did not have any issues at all. Android Studio, Visual Studio Code, Chrome and all my development tool chains are working as expected. Hope this post helps someone who is trying to install Linux on Acer Aspire 7.