Saturday, March 24, 2018

NFS share in OSMC

To configure a NFS server to share a folder.

1. Fix the IP address to a static one. This can be done directly in the network menu of the 'My OSMC' application. The configuration is stored in the file: /var/lib/connman/[interface]/settings

2. Create a mount point in /mnt for the directory from a USB drive. 
$ sudo mkdir ./TheBlackHole

$ sudo chmod 777 ./TheBlackHole

3. Mount the drive at the boot time. Edit fstab file adding the following line.
LABEL=TheBlackHole      /mnt/TheBlackHole       ext4    defaults,users,exec     0       0

4. Download server: sudo apt-get install nfs-kernel-server portmap

5. Edit the /etc/exports file adding the following line:

Saturday, March 03, 2018

Working with MIDI in Slackware

If you want to play MIDI files in Slackware you do need to install special software (synth, mixer, sequencer, etc.). There is a great page where it is explained clearly how to set up a basic environment in order to start working whit MIDI in Linux. All the software mentioned in that webpage is available for Slackware in Instead of copy-paste what is already clearly explained in the mentioned site, here, I highlight the differences I have observed.

Basically, the MIDI instructions are generated by reading a midi file, by a virtual instrument or by a hardware MIDI controller (as a keyboard), then the synth interprete the instructions a convert them into a sound signal. Several signals can be mixed (Jack), decoded and put in the speakers. 

1. I had by default a low latency kernel and a audio group in my Slackware box. 
2. I don't know how to modify the group limits, but I have realised that it is not strictly necessary. IT is possible to follow the procedure skipping this configuration and using the option -r when you run jackd (jackd -r ...), you will see a warning message. In my case, the performance is ok for what I want to do.
3. Considering that, at the end, you want to be able to use a MIDI sequencer (Rosegarden in this case). You will need to install the following set of software.
- Rosegarden : Sequencer
- liblo, liblrdf, dssi, lilypond : Rosegarden dependencies
- jack-audio-connection-kit, lirc, perl-xml-twig : Optional Rosegarden dependencies.
- fluidsynth : Softsynth
- fluid-soundfont : Base sound samples
- vmpk : Virtual piano keyboard. Used for testing purposes.
- qjackctl : GUI front end to configure Jack
- Qsynth : GUI front end to configure Fluidsynth.

4. Strictly, you don't need to use Jack to use MIDI, but it is recommended if you want to do more than very basic thinks. You do need Alsa and fluidsynth.

5. It is important to remark that Slackware is currently using Pulseaudio as sound engine. When Jack is running, Pulseaudio is shouted down.

Wednesday, January 24, 2018

OSMC in Raspberry Pi 3

To install OSMC in Raspberry Pi 3:

1. Download the image to install from the OSMC website. You need to choose the image for Raspberry Pi 2 / 3.

2. Unpack the image from the downloaded file:
gzip -d OSMC_TGT_rbp2_20180109.img.gz

4. Write the image into the SD card:
dd if=OSMC_TGT_rbp2_20180109.img of=/dev/sdb     

5. Insert the SD card in the Raspberry Pi and power it on. The installation should start automatically.

Thursday, July 27, 2017

Slackware 14.2

Slackware 14.2 was released two days ago and, although I'm running an updated -current version, I want to use this milestone to do a complete new, fresh and clean installation. But with some customisation of course. This first post is only to organise the installation and system configuration.

There are two major tuning I want to do. First is installing multilib capabilities, which I need mainly to run Skype and Wine, and second to change KDE 4.x with Plasma 5. I'm using the Plasma 5 packages made by AlienBob for a wile and I could say that it works pretty ok. There are still some small details still laying around but the performance is most than acceptable and I like the new look of Plasma 5

Another change I want to do this time is to move Slackware to Unicode UTF-8. This is not something that I really need, but I just want to try it.

There are a couple of thinks to which I want to set special care. One is a problem I have already with the Suspend to Ram feature. I have not spent so much time in this, but now is time to solve it. Second is the HDMI port sound. Now I have to change manually the sound device output to the HDMI port, otherwise, the sound still remains flowing by the computer speakers. I guess I need to recheck this because Slackware 14.2 adds Pulseaudio, and I guess that could change a bit the sound cards configuration.

[Update] I had to change my laptop and now I have one with a Kaby Lake Intel processor (Asus UX330U). This detail did a big difference in Slackware, the current kernel version used in Slackware64 14.2 and -current (4.4.x) are not compatible with this microarchitecture. Although the computer was able to boot, Xorg failed, showing the error message "(EE) no screens found (EE)". The problem was discussed in the Slackware forum, where I was suggested to upgrade the kernel to one above 4.5. After building the 4.8.10 version, the problem was solved. I have added a new item in the list below considering this additional step in the Slackware 14.2 setting up.

Details for the step by step process, problems solving and comments are in another posts:

- Booting the Slackware installer from a USB drive in UEFI mode.
- Packages selection and extra software.
Keyboard configuration.
- Kernel upgrade.
Elilo configuration.
- Fine tuning.
- Adding Plasma 5.
- Adding Mutilib.
- Setting Hidpi.
- Bluetooth configuration.
- Sound configuration.
- Installing Wine and MS Office 2010. (What is the devil doing here!??)

Sunday, February 19, 2017


To enable Bluetooth in KDE (Plasma 5) it is needed to add your user to the groups: lp and plugdev. But I'm not sure if netdev is also needed.

# usermod -a -G lp, plugdev


Thursday, December 01, 2016

Asus UX330UAK - Hardware

# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 142
Model name:            Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
Stepping:              9
CPU MHz:               719.866
CPU max MHz:           3500.0000
CPU min MHz:           400.0000
BogoMIPS:              5800.00
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              4096K
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca pu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xg


# lspci 
00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 02)
00:14.0 USB controller: Intel Corporation Device 9d2f (rev 21)
00:14.2 Signal processing controller: Intel Corporation Device 9d31 (rev 21)
00:15.0 Signal processing controller: Intel Corporation Device 9d60 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Device 9d61 (rev 21)
00:16.0 Communication controller: Intel Corporation Device 9d3a (rev 21)
00:17.0 SATA controller: Intel Corporation Device 9d03 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1)
00:1c.6 PCI bridge: Intel Corporation Device 9d16 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device 9d58 (rev 21)
00:1f.2 Memory controller: Intel Corporation Device 9d21 (rev 21)
00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21)
00:1f.4 SMBus: Intel Corporation Device 9d23 (rev 21)
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)


# lsusb
us 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 0bda:58d1 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


# lsblk 
sda      8:0    0 238.5G  0 disk
├─sda4   8:4    0 172.2G  0 part /home
├─sda2   8:2    0    16G  0 part [SWAP]
├─sda3   8:3    0    50G  0 part /
└─sda1   8:1    0   250M  0 part /boot/efi


# free
              total        used        free      shared  buff/cache   available
Mem:       16292976     1189296    10928604      579460     4175076    13969620
Swap:      16777212           0    16777212

# hdparm -i /dev/sda


 Model=SanDisk SD8SNAT256G1002, FwRev=Z2317002, SerialNo=163432426328
 Config={ }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=1, MultSect=off
 (maybe): CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=500118192
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: unknown:  ATA/ATAPI-4,5,6,7

 * signifies the current active mode

Saturday, November 26, 2016

Kernel upgrade

As I mention in another post, Kaby Lake processors are not supported by the kernel version currently used in Slackware 14.2 and -current (4.4.x). So, in order to use Slackware in a system using this architecture, it is need to upgrade the kernel to someone above 4.5. In this case I used the version 4.8.10, the last stable available in that moment.
In general the upgrading was done by following the procedure explained in Aliens Bob's wiki. In simple, it is as follow:

- Configure the EFI boot loader to show two options, one with the old kernel and other with the new one. This is a bit different at what is explained in the Alien's wiki, because he uses lilo instead of elilo (it is an old post), but the situation is almost the same, even easier. I did this before compiling because I wanted to be sure that the configuration and both booting options were working properly (I loaded the same kernel in both option).

- Download the Kernel sources.
$ wget

- Check the source authenticity.
# wget
# gpg --keyserver --recv-keys 38DBBDC86092693E
# gpg2 --verify linux-4.8.10.tar.sign

- Extract the source to a local directory.
# tar -Jxvf linux-4.8.10.tar.xz

- Download an initial .config file from a Slackware mirror.
$ wget

- Configure the Kernel compilation.
# make oldconfig
# make menuconfig

- Make and Install.
# make bzImage modules
# make modules_install

- Add the new Kernel to elilo.
# cp arch/x86/boot/bzImage /boot/efi/EFI/Slackware/vmlinuz-custom-4.8.10
And edit to image=vmlinuz-custom-4.8.10 the second boot option in elilo.conf.

- Reboot.