-
-
Notifications
You must be signed in to change notification settings - Fork 25
Zephyrus G14 #3
Comments
Daaaamn, that's a nice looking laptop. Keyboard looks similar, minus the home/end column of keys. I'm guessing the keyboard matrix for LEDs in gone, in place of the LED display on the top there. What doesn't work on it? I doubt I'll be able to support the cover LEDs, but I could have a go at getting part of a lib sorted. See this section of the readme - I'll need as much detail as I can get, but let's start with lsusb, and a |
Ive been looking into this a bit and my initial findings show:
Ill work on collecting the required data soon when i have some free time but a couple of notes: Ive had weird behavior/freezes on anything less than a 5.6 kernel, with the most success on 5.7rc5 Im on endeavorOS (arch) latest, but i have a coworker with the same laptop who wants to use popOS so i can likely dual test Thanks for the cool package, i was going to start on something similar myself before i found this! |
@Eein, is this specifically for the G14? This app attempts to grab the USB device that the keyboard usually sits on, but apparently the G14 has a different setup here. |
Oh darn. Maybe i will have to do alot of work then. At least i have a reference haha. Ill still give it a poke to gather some data and see if theres any similarities
laptop info
|
Nice that someone already have it. I will get my next week, hope w will get some functions in rog-core. I will try help too if I can. |
Parsing those HID descriptors:
So here, the block:
is the one I'm interested in - vendor defined use page, report ID The below blocks look like they should give the basic media controls and maybe sleep etc.
Vendor and product ID are
This matches my experience. These keys are on a custom vendor page (as shown above in first descriptor block If someone can give a full report on which modes work on the keyboard, what model you have paired with if multi or matrix LED, then I can prepare some proper profiles hopefully including the AMD power stuff. Screen backlight control should be handled by Gnome (or other) as the keycodes for that are emitted by the virtual device when those keys are pressed. Looks like I might need to start a Wiki to help detail all this info better. |
Also can someone clarify the model differences for me in regards to the top-cover led matrix, keyboard LEDS, and anything else that might help with toggling fan/power etc? I'm hoping the fan-mode stuff is the same as in the GX501 as it appears to be independent to CPU type. Definitely curious for a list of LED modes that each model supports. |
Definitely most of the G14 models do not have LED matrix on the lid. |
Just got my G14 with 4700HS and 1660Ti. When I try run rog-core I got a SIGABORT:
It is running on Arch Linux, what info can I provide more to testing it and getting it running. |
Full backtrace:
|
Hmm, thought I'd safely caught that. @dragonnn what kernel version are you running? |
|
Kernel patches: tested using arch and gentoo. (use at own risk) |
With this path rog-core does boot up, and can control the keyboard backlight! EDIT Forget to say, they is a problem with i8042, when it is builtin as module it doesn't load on G14 when building it as module because "i8042: PNP: No PS/2 controller found." and then it unloads and then asus_nb_wmi can not find symbol i8042_install_filter. |
The Can anyone please confirm the following? I'm having a hard time finding the clarity I need.
I'm attempting to add a profile for the G14. I've begun some of this work in master. |
As far I know the keyboard is on white backlight, and have 4 levels of light, it works fine with rog-core. |
The i8042 can't be used in "arch" out of thhe box, because it depends on PS/2 detection- so it works if it's builtin, but not as a module. (Tat is fixed by the patch from @dragonnn) My patches enables the detection of the WMI in general. After those tweaks the following workes (for me at least):
The matrixDisplay (on tha back) is single colored (white), as well as the Keybord backlight itself (also pure white). tested under gentoo linux with v0.9.4 and v0.9.6 - as well as master. |
Yeah, I didn't have rog-core running when I was playing around with asus_nb_wmi module. The problem only exists when i8042 is build as a external module, it doesn't to load because they are no PS/2 devices on G14. And for G14 the asus_nb_wmi doesn't need i8042, it is only need for some ASUS Q500A |
Did I understand correctly that with this repo power management on Asus G14 works good? I mean fans but also power draw on idle. |
For power drawn on idle you need enable Nvidia PRIME and set NVreg_DynamicPowerManagement to 0x02. More info here https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/dynamicpowermanagement.html
|
As @dragonnn writes above, you'll need to follow that for Optimus support. If the CPU were Intel, then along with fan modes you could set pstate settings like min/max freq and turbo-yes/no. I don't have a G14 unfortunately, so someone will either need to write the code for AMD control, or provide me with some details. If it's a matter of writing a value to a path in The pstate stuff is ignored if non-intel, so fan-modes should continue to just work. If someone has the lid LED model, doing wireshark captures for that will be time-consuming. And quite likely dependent on if it's controlled via USB (seems highly likely). |
@flukejones I own that device with the aniMatrix (I'll investigate there later and hopefully provide you the needed information) btw. The G14 series has only AMD APU(Vega). [edit]: and of course a nvidia dGPU. And we (@dragonnn and I) can confirm that the fanstates are working correctly. (using thermal-zone) |
@aspann for the animatrix thingy I'm expecting something like this. But since it's a single colour it should be a lot simpler... maybe. I've no idea of the resolution of it. Maybe if we can get the corner LEDs byte sequence it'll give an idea of a pattern. From memory, the packet sent to USB is 64 bytes, and at least 57 of those bytes are used for LED control (on the GX502). If the display is written by bit pattern, then it can control 456 of those pixels per packet - which means it's likely to be multiple packets. The GX502 uses ten packets to control the RGB... There's likely to be an initialization byte sequence, and I suspect it will be part of the keyboard controller, which may make things a little easier. |
@flukejones acording to kernel docs boost on AMD is controled by /sys/devices/system/cpu/cpufreq/boost and I can confrim by looking at the turbostats and fans speed it works fine. |
Behind the way, did you consider add more profiles? I think it would be fine to have a silent profile with turbo enabled and a powersave with is also silent fan mode but with turbo disabled. Is this possible now? |
Wouldn't enabling and disabling turbo require the addition of a new pstate module in rust? |
It will, but that's okay, I don't imagine it will be much different and I should be able to reuse part of the existing.
|
It's definitely possible, but it's not on my list of priorities sorry. I'll look at it some time - it would also be nice to get custom fan curves too, but this requires acpi calls which is a bit out of scope for now. |
Would it be possible to work around missind PgUp/PgDn/Home/End keys by eg mapping them to Fn Left/Right and Shift+Fn Left/Right or so? |
If the Fn+Key combo actually emits anything sure, but it's very unlikely unless this is an actual built in function. Did this work in Windows? |
My initial testing is that most things work except for the following (on GA401IV non-animatrix model): ROG key -> opens up displays settings in Gnome Wayland specific: Everything else seems to work perfectly! Thank you so much for all your hard work so far <3 |
This is intentional. I didn't really know what else to set the key to do. In future I will enable customization of it.
Which kernel do you have? It should cycle the fan mode from <normal,boost,silent>, but there is no visual indicator of this unless you look at the logs or
No idea either, what does it look like? If you can, press the key then look at the logs
From there I can map it to something.
So that's an issue only with Wayland? |
On Xorg brightens control on G14 doesn't also work, it works after suspending and wakening up. Fan Key works. Scissors key I think on windows is used to start the Windows Screenshot Tool |
This seems unrelated to rog-core. Can you adjust brightness using the controls in your DE? Per my previous reply, if you provide the output of that key I can map it to something if suggested. |
They keys works fine ;). It is something with the amdgpu driver |
My kernel patches now containing the fixes for "Renoir" k10temp (EDAC). All (current) kernel patches can be found here: lab.retarded.farm - asus-rog-zephyrus-g14 |
Something like a touchpad feature (right click with a two finger tap) needs a different software solution? |
Yes. This is generally controlled by the touchpad driver or in your DE settings. If you use Gnome you can find it under "Mouse & Touchpad" >> "Tap to click" |
@k-sap if that doesn't work for you, you can adjust an override config for synaptics if you're using Xorg: /etc/X11/xorg.conf.d/99-synaptics-overrides.conf:
This works at least for my G14 very well. ;) |
Are there any outstanding issues for G14 here? |
If possible, it would be nice to get all of this working without kernel patches. Also, if possible supporting charge_control_end_threshold under /sys/class/power_supply/BAT0 which was added in kernel 5.4 would be nice as well. |
That would only be possible if those patches were upstreamed to the kernel proper. There's only so much that can be done in rog-core without the support.
Wasn't aware of that! I'll add that in the next few days. |
Well... that was pretty quick to do. As of v0.12.0 you can set this using You do need to add below line 1 in |
I applied @aspann's asus-wmi kernel patch (which is also needed for this feature) and I can confirm that the battery threshold does work. |
Yep, the threshold for the animatrix brightness level is still a todo. I just got my sensors and will do some measuerment next week. @jdeters |
It seems like most remaining issues here are now out of scope of this issue thread. The AniMe brightness thing is independent to all else here, and all else appears to require patches to kernels and those patches to be upstreamed. Thanks to @everyone here for your help, patience, and testing ❤️ |
Any plans for supporting G14?
The text was updated successfully, but these errors were encountered: