Coder Social home page Coder Social logo

ramonium / asus-g14-fedora Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marcolaux/asus-g14-fedora

0.0 0.0 0.0 81.93 MB

Make things work with the ASUS Zephyrus G14 on Fedora 34 including GPU Switching and automatic power management. Such wow!

Shell 100.00%

asus-g14-fedora's Introduction

Fedora 34 Setup with an ASUS Zephyrus G14 2020 model


This Git repo describes how I setup the ASUS Zephyrus G14 (GA401IV) with Fedora 34 including a GNOME Shell extension to switch between GPUs and ROG profiles.

This is my personal config, no official guide.
If you want support from the asus-linux community please have a look at the official install guide here: https://asus-linux.org/wiki/fedora-guide/

Installation process

1. Install Fedora 34

2. Boot to your installation, add Lukes Copr and update everything

dnf copr enable lukenukem/asus-linux
dnf update --refresh
dnf install asusctl

this also will fix the touchpad issues with all the G14 models that don't initialize correctly sometimes

asusctl helps with managing ROG power profiles and switching between graphics modes

3. Reboot

reboot

4. copy all the files to the appropriate directories

git clone https://github.com/hyphone/asus-g14-fedora.git
cd asus-g14-fedora
cp -R etc/* /etc/
cp -R usr/* /usr/
systemd-hwdb update
udevadm trigger
systemctl enable asus_hibernate.service

we clone this repo

we go to the repo directory

we copy everything in this repo of etc to /etc/

we copy everything in this repo of usr to /usr/

mod the keyboard that page up / down is mapped to fn+up/down while home (pos1) / end is mapped to fn+left/right

you can use brightnessctl -d asus::kbd_backlight s +1 and brightnessctl -d asus::kbd_backlight s 1- and map this to a key of your choice in your desktop environment

asus_hibernate.service restarts asusd after hibernation to re-apply the power profile.

5. install some packages

dnf install --refresh kernel-devel akmod-nvidia xorg-x11-drv-nvidia-cuda akmod-acpi_call brightnessctl

akmod-nvidia and xorg-x11-drv-nvidia-cuda installs the Nvidia driver

kernel-devel is necesarry for the dynamic kernel modules to compile

acpi_call modules from the tlp repo is needed to make the custom fan control working

brightnessctl is used for controlling the keyboard backlight before and after suspend as there is a bug that the keyboard backlight sometimes does not switch completely off while suspending. I also use it to control the brightness with the keyboard as I'm overriding the default keys with page up / down.

6. Reboot

reboot

7. You can switch your prefered graphics mode via the GNOME Shell extension "asusctl-gex" or with "asusctl graphics -m (graphics mode)"


GUIs for controlling asusctl

  • asusctl-gex (GNOME Shell extension)
  • asusctltray (Systray app)

What's in here...

asusctl config with custom fan curves

There is an example in etc/asusd/asusd_example.conf for how a custom fan curve should look like. I haven't named it asusd.conf so it does not override the defaults from asusctl and asusd.

Custom fan curves have a problem at least on the 2020 models that sometimes the fans start to pulsate and one has to suspend one or two times to bring them back to a normal state.

I also currently don't use custom fan curves because of this.

asusctl

asusctl by Luke Jones (and his Kernel modules) are the key to this all. Without the efford of the community we wouldn't have such handy tools to control this machine. asusctl is used here to do most of the things, like graphics switching via the GNOME Shell extension or setting the ROG profiles.


etc/asusd/asusd_example.conf

These are my custom fan curves for the asusd service from asus-linux.org. When on AC I usually use "normal" because of turbo is enabled with the default silent fan profile of the laptop. On "silent" I disabled turbo and I usually use this while on battery. This has a custom fan curve to make it silent.

etc/modules-load.d/...
  • acpi_call.conf makes sure the acpi_call module is loaded (when installed) to get custom fan control working

asus-g14-fedora's People

Contributors

marcolaux avatar tashi-iu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.