openSUSE 42.1 Leap su Santech M68 – Part 4

Published by Lello on

La scheda iGPU Intel 4600 viene riconosciuta subito; non vengono riconosciuti il lettore di impronte digitale, i tasti funzione per il controllo del colore della tastiera  (come purtroppo immaginavo) e la scheda dGPU AMD 8970M di cui mancano i driver.

Per cui rimbocchiamoci le maniche e  mettiamoci al lavoro.

Kernel

Il kernel montato (dopo il primo aggiornamento) è il  4.1.12, che supporta pienamente la CPU Haswell. Il kernel ci mette a disposizione una nuova interfaccia per regolare la luminosità del nostro schermo. Provare a vedere cosa accade con i seguenti comandi:

# echo 50 > /sys/class/backlight/intel_backlight/brightness
# echo 500 > /sys/class/backlight/intel_backlight/brightness
# echo 1000 > /sys/class/backlight/intel_backlight/brightness

C’è anche da dire che premendo il tast Fn+F8 la luminosità dello schermo diminuisce, mentre premendo il tast Fn+F9 la luminosità dello schermo aumenta; questo vuol dire che i tasti vengono correttamente assegnati

Scheda video AMD Radeon HD 8970M

Con l’uscita della openSUSE 42.1 Leap, sono stati rilasciati anche i driver AMD; anzi, per meglio dire, i driver 15.9 ufficiali, non supportano la openSUSE 15.9. Ma durante la SUSECON 15 che si è tenuta ad Amsterdam (Olanda) dal 2 al 6 Novembre, Sebastian Siebert è riuscito a modificare i package originali per adattarli alla distribuzione Leap.

ATTENZIONE: considerate i driver come sperimentali e su alcune configurazioni potrebbero dare segmentation fault del kernel; se avete problemi, fate partire la vostra installazione openSUSE in rescue mode con l’aggiunta dell’opzione nomodeset sulla riga di comando; successivamente eliminate (con zypper rm) fglrx ed i pacchetti relativi; a questo punto effettuate un reboot e sarete tornati con i driver radeon free.

Prima di installare i driver della scheda AMD, ci occorrono i package di sviluppo base e quelli del kernel; procediamo ad installarli;

# zypper in -t pattern devel_basis devel_kernel

Installiamo successivamente il repository openSUSE relativo ai driver ufficiali AMD:

# zypper ar -f -n openSUSE-AMD http://geeko.ioda.net/mirror/amd-fglrx/openSUSE_Leap_42.1 openSUSE-AMD

Una volta installato il repo, installiamo i package necessari:

# zypper in fglrx64_amdcccle_SUSE421 fglrx64_core_SUSE421 fglrx64_graphics_SUSE421 fglrx64_opencl_SUSE421 fglrx64_xpic_SUSE421

e riavviamo la nostra distribuzione. Al boot dovremo entrare in modalità single-mode; per fare questo, quando viene presentata la schermata di boot, premiamo il tast e (per editing) e nella riga in cui viene designato il vmlinuz, in fondo aggiungere single. La riga dovrà essere simile alla seguente:

linux   /boot/vmlinuz-4.1.12-1-default root=UUID=XXXX-XX- ………splash=silent quiet showopts single

Confermiamo con CTRL-x il boot in modalità single mode; quando avremo il prompt (ci verrà richiesta la password dell’utente root), inizializziamo il file di configurazione di X11 e riavviamo il sistema (questa volta senza modificare nulla):

# aticonfig --initial -f
# reboot

Rientriamo nel nostra sessione KDE, apriamo una shell in modalità amministrativa e vediamo se i driver sono effettivamente caricati e funzionanti:

$ fglrxinfo
display: :0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon(TM) HD8970M
OpenGL version string: 4.5.13399 Compatibility Profile Context 15.201.1151

Se vogliamo vedere anche le performances della scheda, digitiamo:

$ fgl_glxgears

Dovremmo ottenere circa 2300/2700FPS .

Considerate inoltre che dovrete reinstallare il driver dell’AMD ogni volta che il kernel viene modificato.

Tastiera

La combinazione di tasti per cambiare il colore alla tastiera non funziona. Per potere abilitare questa funzionalità useremo i tool messi a disposizione da un progetto sourceforge che si chiama clevo-wmi. Ricordatevi che occorre ripetere questo procedimento se viene aggiornato il kernel. Purtroppo il progetto su sourceforge è stato rimosso; potete seguire la guida di seguito per scaricare una versione precedente.

Scarichiamo innanzi tutto i driver, compiliamo i sorgenti ed infine installiamoli; da una finestra terminale di amministratore:

# mkdir -p /usr/src
# cd /usr/src
# wget http://www.anthesia.net/wp-content/uploads/2015/11/clevo-wmi-code.tar.gz
# tar xvfz clevo-wmi-code.tar.gz
# cd clevo-wmi-code
# make
# cp clevo_wmi.ko  /lib/modules/`uname -r`/kernel/drivers/platform/x86
# echo clevo_wmi > /etc/modules-load.d/clevo_wmi.conf
# insmod /lib/modules/`uname -r`/kernel/drivers/platform/x86
# depmod -a

Controlliamo che il nuovo driver sia stato caricato correttamente:

# lsmod |grep clevo
 clevo_wmi              13959  0
 wmi                    19070  1 clevo_wmi

Ora siamo pronti a cambiare i colori alla nostra tastiera interagire con la nostra tastiera. I tasti funzione continueranno a non funzionare, ma il driver clevo_wmi mette a disposizione una serie di interfacce, una delle quali è /sys/devices/platform/clevo_wmi/kbled.

I colori che possiamo ottenere con la tastiera sono codificati con la seguente tabella:

GRB (Green-Red-Blue)

  • 000 – Off
  • 111 – White
  • 100 – Green
  • 010 – Red
  • 001 – Blue
  • 110 – Yellow
  • 011 – Purple
  • 101 – Aqua

La nostra tastiera è logicamente divisa in tre parti, per cui qualunque modifica va applicata alle tre parti della tastiera. Se vogliamo spegnere la nostra tastiera, digitiamo il comando:

# echo 000 > /sys/devices/platform/clevo_wmi/kbled/left
# echo 000 > /sys/devices/platform/clevo_wmi/kbled/middle
# echo 000 > /sys/devices/platform/clevo_wmi/kbled/right

Se vogliamo mettere il colore red alla nostra tastiera:

# echo 010 > /sys/devices/platform/clevo_wmi/kbled/left
# echo 010 > /sys/devices/platform/clevo_wmi/kbled/middle
# echo 010 > /sys/devices/platform/clevo_wmi/kbled/right

Per i più pigri, io uso questo piccolo script che mi permette di interagire con io colori della tastiera e con la luminosità dello schermo. Inserendo un valore tra 0 e 7 si interagisce con la tastiera; inserendo un valore tra 100 e 1000 si cambia la luminosità dello schermo:

#!/bin/bash
clear
echo "Gestione colori keyboard - Santech M68"
echo -e "by LelloTheMagic"
COLOR_DEFAULT="000"
echo "0 - Disable All"
echo "1 - White"
echo "2 - Green"
echo "3 - Red"
echo "4 - Blue"
echo "5 - Yellow"
echo "6 - Purple"
echo "7 - Aqua"
echo
echo "Inserisci codice:"read COLOR_READ
if [[ "$COLOR_READ" -ge 0 ]] && [[ "$COLOR_READ" -le 7 ]]; then
case $COLOR_READ in
1) COLOR_CODE="111";;
2) COLOR_CODE="100";;
3) COLOR_CODE="010";;
4) COLOR_CODE="001";;
5) COLOR_CODE="110";;
6) COLOR_CODE="011";;
7) COLOR_CODE="101";;
*) COLOR_CODE="000";;
esac
sleep 1
echo $COLOR_CODE > /sys/devices/platform/clevo_wmi/kbled/left
sleep 1
echo $COLOR_CODE > /sys/devices/platform/clevo_wmi/kbled/middle
sleep 1
echo $COLOR_CODE > /sys/devices/platform/clevo_wmi/kbled/right
fi

Salvatelo in un file (santech_keyb.sh), cambiategli i diritti e provate le varie combinazioni di colore della tastiera:

# chmod 755 santech_keyb.sh
# ./santech_keyb.sh
← Part 3 – Additional Packages ← Part 5 – Other Drivers