Samstag, 1. April 2017

Ryzen on Linux - Running

The last post was about getting or mostly waiting for all components.
Now to the part of putting all parts together and getting it to work.



Let's start with pictures:



It's so big!
And it still needs its case.

The installation was kind of easy.
Get the board out of its box. Check where to put the RAM for dual-channel. Plug in the M.2 SSD, with a bit of force. Insert the CPU, also with a gentle push.
And the tower cooler... Noctua NH-D15. Heavy. Big. Cold.
It is not hard. But...
Choose the right brackets for the orientation you want.
Exchange the mounted mounting-brackets - ? - why?
I don't know. They look the same. They feel similar. And that was the problem. While dismounting the installed once I put them to the others and couldn't tell them apart. Now I don't know if I have chosen the right once.
Espacially because the cooler is cold. The. Whole. Time.
It doesn't care what load I put on the CPU. It's just cold.
Tighten the screws. Install the fans. Nothing special.
Just the outer fan needs to be a bit higher because RAM or the shielding that blocks it from going at the same height as the inner one.
Then I plugged in the GPU. The SSHD. And the PSU. With all the cables.
Monitor. Network.
Keyboard and mice are plugged into the monitor.

And then ... power ... on!

It works!
Everything was plugged in correctly.
Nice.


On to installing Debian.
Via USB Mountr I booted the firmware-testing-amd64-netinst.iso (weekly, daily). Absolutely painless. No problems.
Because I like my system clean I choose to install as few as possible to get a shell and aptitude. After the installer finished and rebooted I didn't get into the shell showing:
switching to amdgpudrmfb from EFI VGA
The internet said: turn acpi off
So in grub I did 'e' to edit the boot entry and appended "acpi=off" to the linux starting line. And also remove the quiet from it.
Pressing F10 booted it. And there was the shell.
Nice.

Changed the apt-sources.list and preferences:
$ cat /etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb http://ftp.de.debian.org/debian/ unstable main contrib non-free
deb http://ftp.de.debian.org/debian/ experimental main contrib non-free

deb http://security.debian.org/debian-security stable/updates main contrib non-free
deb http://security.debian.org/debian-security testing/updates main contrib non-free
$ cat /etc/apt/preferences.d/all.pref
Package: *
Pin: release a=experimental
Pin-Priority: 499

Package: *
Pin: release a=unstable
Pin-Priority: 600

Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 400
Thanks vim-skills :-D
apt-get update
apt-get install aptitude
aptitude
In aptitude marking things auto. And then installing things.
linux-image-4.10 trunk from experimental, kde-plasma-desktop, making sure amdgpu-driver will be installed, and some other packages. Just to get some minimal GUI going.
Installed. Rebooted.
And without needing to modify grub I got into the plasma desktop.
Nice!


As I had heard that the 4.11 kernel will support the ALC1220 sound codec I tried building and installing the 4.11-rc4 kernel following this guide and that.
Basically:
  • install needed packages (e.g. fakeroot build-essential ncurses-dev xz-utils libssl-dev kernel-package)
  • download latest kernel and unpack it
  • copy /boot/config-XX to .config
  • make silentoldconfig
  • (!) make menuconfig and remove the pem from
    • Cryptographic API
    • Certificates for signature checking
    • File name or PKCS#11 URI of module signing key
  • or open the config and remove it from
#
# Certificates for signature checking
#
CONFIG_SYSTEM_TRUSTED_KEYS="debian/cert/benh@debian.org.cert.pem"
  • fakeroot make -j16 deb-pkg
  • sudo dpkg -i ../linux-.*_4.11..*_amd64.deb
  • Done.
I also tried with optimization:
KCFLAGS="-march=native -mtune=native -O2" KCPPFLAGS="-march=native -mtune=native -O2" fakeroot make  deb-pkg -j16
but that didn't work. "kernel Error: instruction `andn' isn't supported in 16-bit mode." As I couldn't find an answer quickly I ignored it for now.

Reboot. Works. Nice.


Install the it87 module as reddit said it's nice.
  • download via git clone or archive and extract that
  • make all
  • sudo make install
  • sudo modprobe it87
  • sensors
it8792-isa-0a60                                                                    
Adapter: ISA adapter                                                               
in0:          +0.84 V  (min =  +0.00 V, max =  +2.78 V)
in1:          +0.59 V  (min =  +0.00 V, max =  +2.78 V)
in2:          +1.05 V  (min =  +0.00 V, max =  +2.78 V)
+3.3V:        +3.38 V  (min =  +0.00 V, max =  +5.56 V)
in4:          +1.79 V  (min =  +0.00 V, max =  +2.78 V)
in5:          +1.49 V  (min =  +0.00 V, max =  +2.78 V)
in6:          +2.78 V  (min =  +0.00 V, max =  +2.78 V)  ALARM
3VSB:         +3.36 V  (min =  +0.00 V, max =  +5.56 V)
Vbat:         +3.14 V
fan1:           0 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
temp1:        +30.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:        -55.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +34.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
intrusion0:  ALARM

amdgpu-pci-0900
Adapter: PCI adapter
fan1:         866 RPM
temp1:        +28.0°C  (crit =  +0.0°C, hyst =  +0.0°C)

it8686-isa-0a40
Adapter: ISA adapter
in0:          +0.85 V  (min =  +0.00 V, max =  +3.06 V)
in1:          +2.02 V  (min =  +0.00 V, max =  +3.06 V)
in2:          +2.03 V  (min =  +0.00 V, max =  +3.06 V)
in3:          +1.98 V  (min =  +0.00 V, max =  +3.06 V)
in4:          +0.85 V  (min =  +0.00 V, max =  +3.06 V)
in5:          +0.90 V  (min =  +0.00 V, max =  +3.06 V)
in6:          +1.21 V  (min =  +0.00 V, max =  +3.06 V)
3VSB:         +3.29 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:         +3.05 V
fan1:        1188 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
fan4:           0 RPM  (min =    0 RPM)
fan5:        1167 RPM  (min =    0 RPM)
temp1:        +31.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:        +39.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +50.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = disabled
temp4:        +31.0°C
temp5:        +34.0°C
temp6:        -55.0°C
intrusion0:  ALARM
Currently using F4 BIOS version so CPU temperature shown is still 20° higher as it should be.


What else?


Everything seems to work.
RAM is still 2133 instead of 2666. Haven't seen CPU going up to 4 or 4.1 GHz.
But also no problems. Benchmarks and games run and PC didn't crash or fault or anything strange.

Strange thing still is: CPU cooler gets never hot. Not even warm. I do sysbench, compiling kernel. CPU freq is 3600MHz on all cores and the cooler is cold. Everywhere.
So strange.


What's next:
I wait for the bios-update. I tried the F5f and F5d. They work. And RAM is going to 2666MHz. But it is behaving strange. Benchmark showed worse values. Booting is 3-times up-down till it stays up and boots.
So I turned it back to the F4 and wait for the next official release.
Overclocking also worked. I just tested 4.1 and 4 GHz without voltage change, where the first wouldn't boot to plasma and the second would black out on benchmark. Also I think I will try again when the new bios arrives.
It would also be nice to see the normal boost and XFR working. I don't know if it works on linux or what I need to do to see it in action. As far as I know it should show off when 1 or 2 cores are at maximum usage.

And of course: building the case!