Razerblade Ubuntu

General

See Roland Guelle’s excellent Razerblade HOWTO and the various xipherzero pages, the Ubuntu community Razer page.

Keyboard, trackpad, mouse

See also non-Razer specific Ubuntu keyboard and mouse stuff.

Keyboard lights

Install the dorky keyboard drivers and the dorky GUI, polychromatic.

sudo add-apt-repository ppa:openrazer/stable
sudo add-apt-repository ppa:polychromatic/stable
sudo apt install openrazer-meta polychromatic
# sudo gpasswd -a plugdev user  ## no longer needed?

This is reasonably smooth, but you can get into various kernel-module difficulties. Also note that if you are running a custom user python (e.g. if you load up a virtualenv or anaconda python in your .bashrc) then this will not work, since openrazer inspects your path to find its python.

UPDATE: for some reason this doesn’t work on Ubuntu 19.10 for me. However the competing GUI RazerGenie works fine.

Anyway, after all that fussing, you now have a rainbow-coloured GUI to control your rainbow-coloured keyboard lights! Wheeeee!

Two finger right click

Use GNOME Tweaks.

Horizontal scrolling backwards

It is for me. Per default, vertical scrolling is “natural” and horizontal is “traditional”. Cognitive dissonance.

Here is a generic xinput fix.

xinput --list  # look for a "Synaptics" pointer
xinput --watch-props <id>

finds and dumps info about the erroneous thingy which for me is a Synaptics TM2438-005 at id=15, and

xinput --set-prop <id> "Synaptics Scrolling Distance" -94 -94

fixes it.

It turns out there is a special synaptics command synclient, which also does it.

sudo apt install xserver-xorg-input-synaptics

AFAICT this is deprecated because it doesn’t use the modern libinput although they seem to coexist peacefully on my system so maybe I should not care about that until something breaks nastily.

UPDATE: installing synclient on recent ubuntu seems to cause the backwards horizontal bug. No longer recommended.

The archlinux backgrounder might make it clear if I were inclined to read it.

synclient VertScrollDelta=-94 HorizScrollDelta=-94

This needs to be run after laptop resume also which gets complicated. I needed to set up a script that will talk to X, in /home/me/bin/scrollrite.sh:

#!/bin/bash
#title          :scrollrite.sh
#notes          :Script gets called from /lib/systemd/system-sleep
#==========================================================================
sleep 5
declare -x DISPLAY=":0.0"
declare -x XAUTHORITY="/home/me/.Xauthority"
synclient VertScrollDelta=-94 HorizScrollDelta=-94

Then I need to invoke it after waking.

UPDATE: This after-sleep thing seemed to work for me but as of now, does not. Since the whole problem was transient perhaps I was only imagining it

UPDATE UPDATE: On ubuntu ≥ 19.10 the entire problem seems to have sublimated away and scrolling is consistent.

Power management and suspend/hibernate

The arch guide to sleep/hibernate/standby etc explains the terminology. the TLP debugging guide and FAQ are also useful.

Fails to sleep when lid closed

Things seem to go weird for me, especially with nvidia drivers which apparently is common.

The problem looks like this

Freezing of tasks failed after 20.00 seconds (21 tasks refusing to freeze, wq_busy=21):
...<nvidia related stacktrace>

Keeps on sleeping after suspend

After the laptop has gone to sleep one time it has narcolepsy and keeps sleeping again?

I found this fix somewhere: append button.lid_init_state=open to the value of GRUB_CMDLINE_LINUX_DEFAULT="" in /etc/default/grub

then

update-grub

My screen never powers off even when laptop is idle

Weird, mine too. But no longer. I fixed it using dpms:

xset dpms 0 0 600

Misc

See the Ubuntu compatibility page. Notably webcam is broken, and fan control is weird and sounds like a jet aircraft sound only intermittently like a jet aircraft in the latest update. Perhaps fancontrol could help? The archlinux page has some suggestions for the webcam thing. Specifically, put

options uvcvideo quirks=512

in /etc/modprobe.d/uvcvideo.conf.

That does not fix it for me.

NVMe drive not detected

Happens on certain drives

Add

nvme_core.default_ps_max_latency_us=200

to the boot string. This is something about power saving, plus possibly also firmware, which seems common. It also seems one can avoid this issue by buying the Samsung EVO SSDs.

Maybe also use nvme-cli to check drive health.

Make the fix permanent with /etc/default/grub then

sudo update-grub

Installer hangs

Add

nomodeset acpi_osi

to the kernel string. doesn’t seem necessary with kernels >4.10.

Migrating disks

See the ubuntu resize instructions.