Archlinux galago ultra pro Hardware Linux system76

System76 – Galago UltraPro | Archlinux

So i have recently purchased the Galago UltraPro and as promised i have installed Archlinux on the Galago.

I started out with a plain ArchLinux installation following the guide in the Arch Wiki.  I must admit that I started the installation late at night and that caused me to do some things wrong. So I had to redo some of the steps. If i had followed the guide then the installation of Arch and i3 would only have taken around 15 minutes(if not even less). The only real problem I ran into was with the touchpad. It just did want to work in the standard configuration. It turned out that i needed to install the psmouse-elantech package. After the installation it registered fine and i could start configuring it. The touchpad is actually a clickpad and supports multitouch. I have setup mine to do palm detection and emulate middleclick (so i can paste in my terminals).


Since i am not running any DE i did  not have the gnome/kde session to take care of multimedia keys for eg play pause volume or changing the brightness of the laptop screen.  The solution for this was simple:

bindsym XF86MonBrightnessDown exec xbacklight -dec 10
bindsym XF86MonBrightnessUp exec xbacklight -inc 10

in my  ~/.i3/config did the job.

I am using the “super” key (on the Galago it has a ubuntu log on all other keyboards a windows logo) as a modifier for most functions in i3. So if i want to open up a new terminal i would use super+enter.  On my work computer i have pre set a lot of key combinations to make my life easier. However on the Galago keyboard there is no right super key so i used xmodmap to rewrite the menu key, that i never use anyway:

keycode 135 = Super_R

I must say that I am really happy with my current setup. There is not one thing in the hardware or on my wishlist that did not get to work. Even the HDMI output just worked.

Just a screenshot
Just a screenshot

13 replies on “System76 – Galago UltraPro | Archlinux”

How much battery life are you getting with arch? I am planning to buy too but backlight and battery life are my major concerns.

That depends a bit on what I am doing. I was in a meeting the other day not using the laptop much (just reading mails and opening a few websites) and I used 20% over 2 hours. However having the screen brightness up on max and on a train with a spotty 3g connection trying to get some browsing done is a different story.

I haven’t done any tests yet with laptopmode and powertop but I think you can defiantly get more juice out of the battery.

Hi. I also have the Ultrapro, have installed Arch, and am running xfce. I’ve spent the afternoon researching keycodes, keysyms, and backlighting.

I am impressed that you came to grips with adjusting backlighting so easily. I can’t understand how you figured out that Fn+F8 would generate the XF86MonBrightnessUp keysym (other than an educated guess by looking at the label on the key).

By testing with xev, I discovered the Fn+F-keys are special keys that xev (and xorg, I guess) will NOT “catch.” To put it another way, running xev in an xorg terminal and pressing Fn+F8 yielded no output.

I can get the scancode of Fn+F8 from a virtual console, and if I understand correctly, the scancode is the same in console and xorg. I can also get the keycode of Fn+F8 in virtual console, but if I have it correct, the keycode of Fn+F8 is different in console vs xorg.

Same goes for the keysym. I can get a list of console keysyms via “dumpkeys -l”, but that has nothing to do with an xorg environment or its keysyms.

So my focal question: how to find keycodes/keysyms for keypresses NOT registered by xev and xorg?? I can get a list/map of keycodes-to-keysyms with xmodmap -pke, and discover that “keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp” but that does not tell me WHICH KEYBOARD KEY is generating this keycode/keysym.

In xfce, I can answer my central question experimentally by using the “keyboard shortcuts” in the Settings GUI and discover that Fn+F8 produces XF86MonBrightnessUp. But where does xfce get this from? I sense that you know the answer, because you mapped the Menu Key and somehow knew that it was keycode 135…again, in xev, pressing the menu key, for me, yields no output.

Thanks for the great blog and sharing your linux knowledge.

In xev I could find both the menu key code and the brightness keys. But xfce might do some magic and actually catch the brightness key before you have a chance to read it in xev.

An other way to find the keycode is to google for the key and xmodmap(or keycode) I tend to do that when I can’t find it using xev.

Feel free to ask if you need any other keycodes. (the fn keys pretty much respond with what you would expect from the symbol)

You’re exactly right, xfce was hijacking/grabbing the keypresses for my function keys. When using xev in my recovery usb stick, which loads lxde/openbox, xev caught the function keys with no issues. In further reading, I read a post that suggested running xev from a vanilla xinit xorg environment, which would tell you for sure whether your specific DE was hijacking the keypress or not.

What do you mean by “google for the key?” Could you give an example? Would you google something like “system76 galago keycode function key?” That search is not working too good for me.

Also, came across a very interesting post on that said there is a linear relationship between console keycodes and xorg keycodes: XORG_KEYCODE = CONSOLE_KEYCODE + 8. I wonder if this could be taken for chip truth? If so, one could discover the keycode in a console environment using showkey, then add 8 to that keycode and look it on on the xmodmap keymap table.

I ment googling something like “linux menu key keycode”. But ofc that won’t work for function keys, for those I would search for “linux brightness function keys”.

I am glad you could find the right keycodes in a vanilla x session. But since xfce is stealing your keypresses, shouldn’t be able to set the brightness?

Aha, okay, thanks for the google tip.

You’re right, the xfce-keyboard shortcuts grabs the keypresses, obviating any figuring-out or setting up via xbindkeys or something similar. I guess I just felt like going with xfce was “cheating” and wanted to know *what* exactly was going on, and why xev wouldn’t work as advertised on the archwiki (the archwiki says “if xev doesn’t generate anything, it’s because no keycode/keysym is mapped to the scancode”…and that statement isn’t true, as you’ve proven). I installed arch partly because I did want to know the nuts and bolts of my system, so thank you for helping me get one step closer to that goal.

I have been enjoying setting up everything and studying the archwiki. Have not had too many really difficult problems (knock on wood) thanks to the quality of the archwiki and the time I have spent studying it.

One of the reasons I chose Arch was that it seemed like nothing was abstracted; everything is viewable and understandable if you are willing to put in the time. That’s the way I *used* to feel about xfce…but as I learn more and set up more in Arch, I am realizing that many things in xfce are abstracted and hidden from the user, despite the large amount of gui config options. Do you feel the i3 gives you that same level of control that you’re used to having with the rest of arch? What are the big challenges in setting up a standalone wm?

Hi, Thanks for this review and I’ve to say that I’m using arch & i3 also, so nice to meet you 😉 . Just one thing has chocked me with this laptop is the location of the touchpad which I find very bad. Also, I followed your configuration and the palm detection is still not working for me. I’m stuck with disbled touchpad because it’s not possible to typing with it or using it. Do you have made some improvements on the configuration that you could share?


Yes actually I have switched to use syndaemon instead:
exec syndaemon -t -k -i 2 -d
in your i3/config should fix it.
Also if you want to use any GPU accelerated things on a second screen(even media playback) you will need a compositor:
exec compton -b

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.