Sunday, March 19, 2017

SDL2 goes into current

This evening, i accidentally check Slackware's changelog and i saw that SDL2 is now added into Slackware-Current along with other components (image, net, gfx, mixer, and ttf). ffmpeg is also rebuilt and now has ffplay since all the deps have been met (SDL2).

SDL2 is being used by many other projects. Running my dependency-checking script on SBo repository yields a lot of results:

this is for SDL2_image

this is for SDL2_mixer

this is for SDL2_net

and this is for SDL2_ttf

Slackware with Kaby Lake Hardware

Last week, i just bought a new laptop equipped with the latest Intel processor i5 7200U 7th Gen aka Kaby Lake. It's quite a nice laptop. I added 256 GB SSD and 16 GB of RAM (total 20 GB) on top of 4 GB RAM, 1 TB of HDD and GeForce 940 MX. This is my first experience with SSD and also UEFI-based system.

First thing i did was checking the BIOS setting whether it has secure boot feature or not. Turns out it has and it was enabled by default. Since i didn't know how to disable it at that moment, i installed Windows 10 with secure boot turned on (my first mistake). Turns out, you can easily disable secure boot by setting administrator's password. Secure boot can be disabled and you can turn off the administrator's password once again if you don't need it. Most Linux will not work with Secure Boot enabled. Make sure to disable Secure Boot before installing any Linux OS.

During Windows installation, i pick the default UEFI layout (my second mistake). Although UEFI offers many advantages over legacy, it requires more efforts to set up. However, Windows 8 and newer will gain more benefit by using UEFI. Nevertheless, i continue the installation and set up my Windows system normally. No problems at this point. I set up all applications i need, migrate all data, emails, etc into the new laptop and in no time, everything is settled.

Next thing was to install Slackware onto this laptop. I choose to use USB-based installation. I copied the Slackware-Current image into a flash drive and boot with it. Installation worked just fine. It detect Window's EFI partition automatically and so on and installation finished in less than 15 minutes. Troubles comes when i rebooted. No ELILO or any other boot loader showed up and it directly goes into Windows 10. I tried to reinstall Slackware Current again but i got the same problem. I was able to login to my Slackware using my flash drive, but that's not the ideal condition. I need a way to get the boot loader working normally.

Finally i decided to try grub2. After mounting Slackware's root partition and chrooting, i set up grub2 (grub-mkconfig -o /boot/grub/grub.cfg), install it to correct partition (grub-install /dev/sdb), rebooted but problem persists. It still directly boot into Windows 10. Next I tried to use EasyUEFI in Windows but it only worked when i added grub and set it to boot once. After i rebooted, the Windows Boot Loader took place and Grub no longer first choice and back to square one. I thought it was Linux's fault, but turns out it's a known issue with Windows 10. Easy solution is to run this command on Window's command prompt (administrator mode): bcdedit /set {bootmgr} path \EFI\grub\grubx64.efi. After running this command, grub2 showed up and i can select which operating system i wanted to boot. First problem solved. Just in case, i made a backup using EasyUEFI.

Slackware booted nicely and very fast due to SSD. Second problem arose when i tried to run startx on my user after installing NVidia driver. It showed an error message "No screens found". I tried to run X -configure to generate xorg.conf, but still no luck. Turns out my laptop has an Optimus-based technology, meaning it has a Hybrid GPU (Intel/NVidia).

My previous laptop also has a hybrid GPU and i can easily disabled my discrete GPU (nvidia) to preserve battery life. I did the same on my new laptop. I also tried to install Bumlebee project (i forked the project and update it as well to the latest version), but the problem persists.

On Saturday, i spent few hours on my laptop to find the solutions. While i may be out of X, but i was still able to connect to my house's access point using wpa_supplicant and command line interface (that's one advantage of knowing some command lines). My first thought was about Kaby Lake support that wasn't available on Linux Kernel 4.4.x. So i decided to compile my own Linux Kernel based on Slackware's config. I grab 4.10.3's source and build it using Slackware's huge config. It took a while to answer all the new options for building new kernel. Once it's done, it started to compile. While compiling, i Googled (using links) and found a discussion about creating a new configuration for both Intel and Nvidia device. I added the configuration. 

Here's the xorg.conf configuration i used on my laptop:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "intel"
    Inactive "nvidia"

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "Yes"

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0:2:0"
    Option "AccelMethod"  "sna"

Section "Screen"
    Identifier "intel"
    Device "intel"

I also removed all Bumblebee installation and any settings i made so it goes back to the original state. Next i edited my grub.cfg to point to the new kernel and rebooted with the new kernel. I logged in to my user account and i ran startx, voila, and now it boots into X and MATE 1.18 loaded (i built it during compiling the Linux Kernel). So the culprit was lack of support from Linux Kernel for my Intel GPU which was loaded by Xorg. Kaby Lake support was added in 4.8, but 4.10 will give you better results in terms of power management. Second problem solved.

At this moment, most of the applications i used regularly has been installed on that machine. Most of the data has also been migrated, but i still need to work on few things, mostly dealing with virtual machines. At least all of the problem has been solved for now. Slackware-Current is working nicely on my new laptop here. I might play some experiments with my NVidia in the future so that i can use this powerful GPU.

Some tips: If you have new hardware and had a problem like i did, it's better to try using the latest Linux Kernel to make sure your hardware is properly supported. I also hope that Patrick will include new kernel (along with kernel-firmware) soon in -current (at least the configs or in testing/) so that users can built their own kernel or test the new kernel with the new hardware.

Wednesday, March 15, 2017

MATE 1.18 Released

Turns out just 24 hours after i posted about MATE 1.18 preparations, upstream developers have finally announced the final version of MATE 1.18. This release has reached an interesting milestone, which is to migrate all MATE components to GTK+3, leaving GTK+2 code base which is no longer updated and have many limitations. Along with this transition, many deprecated components are also being migrated to the new technologies.

Upstream developers have generously supported GTK+3-3.14.x, which is still used by RHEL and Slackware 14.2 as their minimum supported version of GTK+3. They do support all newer GTK+3, up to GTK+3-3.22.x. Since GTK+4 is still far away and it will be co-installable with previous GTK+3, upstream developers will have more time to fix many things with GTK+3 before starts struggling with new GTK+4 in the future.

MATE 1.18 have also started to provide support for libinput for mouse and touchpad. Since -current has included libinput, it will have better support on handling inputs in the next release. It has also replaced deprecated upower suspend/hibernate functions with ConsoleKit2 equivalents that is supported in Slackware and Gentoo. There are also reworked font-viewer in mate-control-center, lots of new filetype support in engrampa, and porting of Pluma and eom plugins to libpeas.

The biggest change goes to caja, the file manager. It is ported from libunique to GtkApplication, added copy queue and pausing feature, delete confirmation, directory navigation buttons, better notification with removeable drives, and many more.

Please note that there are still some theme-related and mate-panel glitches with GTK+3 and it's a known issues for some time. The developers are working on it day by day.

All the SlackBuilds source code has been pushed to github and gitlab. Website has been updated with MATE 1.18 screenshots, and binary packages have been uploaded to for both Stable and Current (x86_64 only) release. It will be included in the next Slackware Live ISO by AlienBOB as well.

Enjoy MATE 1.18!!!

Sunday, March 12, 2017

MATE 1.18 Preparation

As MATE 1.18 release is getting closer, it's a good idea to have all the development changes merged into master so that users can easily build and test the latest snapshots. That's the reason why i just merged all the changes in the 1.17-prep branch into master branch. That branch previously contains all the changes for next MATE 1.18 release.

In short, there are some changes in the upcoming MATE 1.18 release:
- 6 new packages added: gtksourceview3, glade, libunique3, libpeas, mate-calc, and caja-actions
- 3 packages removed: galculator, gtksourceview, pygtksourceview
- It's all GTK+3 build, no more GTK+2/3 mix build
- HELP files are now provided, but yelp will not be included. Users might want to install yelp via SBo project or via testing directory.

While the developers haven't decided the final schedule, but i believe it should be this March as they are targeting for next Ubuntu-mate release: 17.04.

I have been using this development snapshot for some time and i didn't have many major problem, although there are some annoying glitches. They mostly comes from upstream bugs.

Please go and test MATE 1.17 before the final release of MATE 1.18.

Saturday, March 11, 2017

Security Update: Firefox and Thunderbird

Two regular security updates were released in March:
  • Firefox: Upgraded to 45.8.0 for Slackware 14.1 and 14.2 and 52.0 for current
  • Thunderbird: Upgraded to 45.8.0 for Slackware 14 and newer
Firefox in current is now rebuilt with ALSA support, just in case PA is missing or removed (some people still can't move on from PA history). A bunch of xf86-video packages are now being restored after the latest update is now compatible with xorg-server 1.19.2. FFmpeg bug a little bump and updated the autodetected optional dependency support and we have more bumping in kmod, binutils, coreutils, harfbuzz, libepoxy, libinput, motif, gimp, network-manager-applet, and last but not least, mesa.

MESA 17.0.1 has entered Slackware Current even though it was just released last week and 17.0 was released about a month ago. It's a big win for users with modern hardware.

Sunday, March 5, 2017

security update: shadow, util-linux, and curl

February ended with an update from Patrick and it includes several security updates in -current tree only
  • shadow: Rebuilt to fix potential issue with PAM-based system
  • util-linux: Rebuilt to fix potential issue with PAM-based system
  • curl: Upgraded to 7.53.1
There weren't many interesting updates in last week's update:
  • coreutils: Added more file extensions
  • ed: Upgraded to 1.14.2
  • etc: Rebuilt to add new cgred group
  • libcgroup: Rebuilt to fix rc.cgred
  • nano: Upgraded to 2.7.5
  • screen: Upgraded to 4.5.1
  • guile: Upgrade to 2.0.14
  • cairo: Upgraded to 1.14.8
  • fftw: Upgraded to 3.3.6_pl1
  • libimobiledevice: Rebuilt to support iOS 10 devices
  • libsigservd: Upgraded to 2.11
  • ModemManager: Upgraded to 1.6.4
  • NetworkManager: Upgraded to 1.6.2
  • libmbim: Upgraded to 1.14.0
  • libqmi: Upgraded to 1.16.2
  • windowmaker: Rebuilt to disable overly verbose logging messages
I'm looking forward to see GTK+3 stack updated so i can finally test latest MATE Themes. Hopefully that won't took too long :)

Saturday, February 11, 2017

Big Batch in February

An early love gift from Patrick for Slackware users: a big batch of updates. Last update of Slackware was like 2 weeks ago and since then no updates are being pushed, even for security updates while the requests on LQ thread keep coming in.

At last, today is the day you are waiting for. Most of the request are granted and they are now goes public. Many of us will be surprised about the newly packages introduced in this batch. Let's first see the security update:

  • php: Upgraded to 5.6.30 for Slackware 14.0 and newer
  • openssl: Upgraded to 1.0.2k for Slackware 14.2 and newer
  • bind: Upgraded to 9.9.9_P6 for Slackware 13.0  up to 14.1, 9.10.4_P6 for Slackware 14.2, and 9.11.0_P3 for Current
  • tcpdump: Upgraded to 4.9.0 for Slackware 13.37 and newer
Now for the new packages introduced in this update:
  • opencl-headers: This is header files for OpenCL, can be utilized by mesa to enable GPU computation
  • ffmpeg: Swiss army of audio/video editing.
  • libclc: Another OpenCL library
  • libedit: Command line editor library
  • ocl-icd: OpenCL ICD binding
  • python-six: Python 2/3 compatibility library
There's also some .so library version bump which should be taken note by users as some packages might get affected by it:
  • llvm
  • libevent
  • iptables
  • libvpx
One package gets removed: json-c as it's no longer a dep for pulseaudio and the main reason why it was introduced was due to pulseaudio included in Slackware 14.2.

The rest are just normal package updates:
  • grep: Upgraded to 2.28
  • hdparm: Upgraded to 9.51
  • sed: Upgraded to 4.4
  • util-linux: Upgraded to 2.29.1
  • ddrescue: Upgraded to 1.22
  • flac: Upgraded to 1.3.2
  • sqlite: Upgraded to 3.16.2
  • scons: Upgraded to 2.5.1
  • gmime: Upgraded to 2.6.23
  • gstreamer and gst-plugins-{base,good}: Upgraded to 1.10.3
  • libjpeg-turbo: Upgraded to 1.5.1
  • libnl3: Upgraded to 3.2.29
  • libpcap: Upgraded to 1.8.1
  • libzip: Upgraded 1.1.3
  • pulseaudio: Upgraded to 1.10.0
  • rasqal: Upgraded to 0.9.33
  • redland: Upgraded to 1.0.17
  • serf: Upgraded 1.3.9
  • NetworkManager: Upgraded to 1.6.0
  • iproute2: Upgraded to 4.9.0
  • samba: Upgraded to 4.5.5
  • wget: Upgraded to 1.19
  • zd1211-firmware: Upgraded to 1.5
  • fontconfig: Upgraded to 2.12.1
  • libdrm: Upgraded to 2.4.75
  • libinput: Upgraded to 1.6.0
  • mesa: Upgraded to 13.0.4
  • MPlayer: Upgraded to 1.3_20170208
  • mozilla-thunderbird: Upgraded to 45.7.1
  • network-manager-applet: Upgraded to 1.4.4
Some notes about ffmpeg: it will have limited functionality since it's built against a minimum of dependencies that are included in the stock packages and the configure script doesn't have auto-detect feature, meaning that you will need to pass variables in order to get the deps auto-detected. One user in LQ posted a nice patch to enhance the SlackBuild script so that it will try to enable some features if it found any dependencies in our system. I hope Patrick can include them so it will ease user's job to get the maximum functionality from ffmpeg.

If you used a lot of scripts from SBo repository, there's a big chance that some of your packages will be broken by this update due to shared libraries gets bumped and newer ffmpeg introduced compared to what we have in SBo. Stay tune for patches in Ponce's personal repository.

Sunday, January 15, 2017

MATE 1.17 Packages Rebuilt

Since last Current update, most MATE users will realize that they can't view PDF files on Atril anymore. The reason is simple: poppler update broke it. Atril needs to be recompiled against new poppler and it should be fixed. But that comes another problem: i haven't publish the SlackBuild for 1.17, only binary packages for testing.

I decided to rebuilt all MATE packages for current this morning. I simply remove all MATE packages on my VM and pull the latest changes from my (was) private branch and build the latest one. All sources are now use 1.17 version number, EXCEPT for one: mate-icon-theme-faenza. It's still under investigation from upstream since it failed during make dist-check. Upstream have decided to bring back mate-calc since it's ported to GTK3 now so i simply removed Galculator from my MSB repository.

All the binary packages for MATE 1.17 are now uploaded to and i have pushed my branch called 1.17-prep in github. You can use that branch to build MATE 1.17 from source. This is a temporary branch and changes for 1.17 will be force-pushed. Once mate-icon-theme-faenza reached 1.17.0, i will merge this branch to master branch and it will diverge from the stable branch: 14.2-mate-1.16.

Also, i'm planning to include a new package called caja-actions. This package was requested by one of MSB user and he created the initial SlackBuild for me. I reviewed it and decided to adopt it as part of my MSB scripts. It will get added once 1.17 is complete.

For those who have been using mate 1.17 from my binary packages, please make sure to use upgradepkg --reinstall --install-new to reinstall all binary packages which was built against latest current update per Jan 14.

Friday, January 13, 2017

Security Update and Big Updates in Current

Three security updates have been released in the latest batch of updates:

  • irssi: Upgraded to 0.8.21 for all supported Slackware releases
  • gnutls: Upgraded to 3.3.26 for Slackware 14.0 and 14.1, and 3.5.8 for Slackware 14.2 and current
  • bind: Upgraded to 9.9.9_P5 for Slackware 13.0 up to 14.1, 9.10.4_P5 for Slackware 14.2, and 9.11.0_P2 for Current
In stable there has been a rebuilt of Python 2.7.13 to fix some regressions during last built.

Meanwhile BIG UPDATES are happening in -current and since there are a lot of changes in latest batch of updates, here's some recap but for complete changes, please refer to the ChangeLog:
  • perl: Upgraded to 5.24.0
  • boost: Upgraded to 1.63  (upgrade shared library)
  • hunspell: Upgraded to 1.6.0 (upgrade shared library)
  • ImageMagick: Upgraded to 6.9.7_3 (upgrade shared library)
  • Poppler: Upgraded to 0.50.0 (upgrade shared library)
  • XOrg: Upgraded to 1.19.1
  • grub: Upgraded to 2.0.2~beta3
  • procps-ng: Upgraded to 3.3.12
  • sed: Upgraded to 4.3
  • tcsh: Upgraded to 6.20.00
  • util-linux: Upgraded to 2.29
  • xfsprogs: Upgraded to 4.8.0
  • xz: Upgraded to 5.2.3
  • alsa-utils: Upgraded to 1.1.3
  • sqlite: Upgraded to 3.16.1
  • clisp: Upgraded to 2.49.20161111
  • cmake: Upgraded to 3.7.1
  • flex: Upgraded to 2.6.3
  • m4: Upgraded to 1.4.18
  • make: Upgrade to 4.2.1
  • ruby: Upgrade to 2.4.0
  • subversion: Upgraded to 1.9.5
  • kdelibs: Upgraded to 4.14.27
  • zlib: Upgraded to 1.2.10
  • bluez; Upgraded to 5.43
  • mutt: Upgraded to 1.7.2
  • trn: Removed
  • hexchat: Upgraded to 2.12.4
  • gparted: Upgraded to 0.27.0

Monday, January 2, 2017

Python 3.6.0 in SBo 14.2 repository

Python 3.6.0 has been pushed to master and 14.2 branch in SBo repository in the last public update. There are a lot of new features and changes included in this major release. Some changes may broke other packages depending on Python 3. If you find any broken packages due to Python 3.6.0 changes, let us know by posting in LQ or via our mailing list.

Currently there are 64 packages that list Python 3 as hard dependency:

  • audio/rhythmbox
  • desktop/gis-weather
  • desktop/i3pystatus
  • desktop/i3situation
  • desktop/numix-folders
  • desktop/python-specbar
  • desktop/xfce4-windowck-plugin
  • development/kaaedit
  • development/numpy-legacy3
  • development/numpy3
  • games/lutris
  • games/pybik
  • graphics/CairoSVG
  • graphics/opencolorio
  • graphics/pygifme
  • libraries/CondConfigParser
  • libraries/curses_ex
  • libraries/libgit2-glib
  • libraries/libopenshot
  • libraries/libsigrokdecode
  • libraries/pyjf3
  • libraries/pyqode.core
  • libraries/python3-PyQt5
  • libraries/python3-PyYAML
  • libraries/python3-dvdvideo
  • libraries/python3-pillow
  • misc/gramps
  • multimedia/devedeng
  • multimedia/openshot
  • network/asciinema
  • network/google-cli
  • network/mps-youtube
  • network/social-engineer-toolkit
  • network/urlwatch
  • network/you-get
  • office/LibreOffice
  • python/dbus-python3
  • python/githubpy
  • python/minidb
  • python/py3cairo
  • python/pyqode.qt
  • python/python3-Cython
  • python/python3-appdirs
  • python/python3-augeas
  • python/python3-defusedxml
  • python/python3-dugong
  • python/python3-future
  • python/python3-lhafile
  • python/python3-pycrypto
  • python/python3-pyparted
  • python/python3-pythondialog
  • python/python3-pyzmq
  • python/python3-sip
  • python/python3-xlib
  • system/Attic
  • system/autoarchive
  • system/blocks
  • system/borgbackup
  • system/fs-uae-arcade
  • system/fs-uae-launcher
  • system/lirc
  • system/maintboot
  • system/s3ql
  • system/xonsh
Packages depending on Python will place some info files in /usr/lib{64}/python3.x/site-packages/. If you still have /usr/lib{64}/python3.5/site-packages, meaning that you may need to rebuild that package against Python 3.6.0 and the files will be moved to /usr/lib{64}/python3.6/site-packages/.

Happy rebuilding and Happy New Year 2017

Saturday, December 31, 2016

End of Year Review

2016 has been a great year for my journey with Slackware. Slackware 14.2 finally got released on July 1 after 2 years of development. It's very stable and i'm sure everyone is pleased with this release as the best release ever. Eric Hameleers also released his Slackware Live project to public and enables new users to test Slackware in a live environment without having to install it on their hard drive (but they do have an option to install it if they like it). It's at 1.1.5 currently and documented very well in Slackware Documentation project. SlackBuilds repository for Slackware 14.2 also released in the same day as Slackware 14.2 gets announced.

MATE 1.14 and Cinnamon 3.0 got released in the same day as Slackware 14.2 and it's the first MATE  and Cinnamon release for Slackware 14.2. Few months later, MATE 1.16 and Cinnamon 3.2 landed as well in Slackware 14.2. It's will continue to be supported until next release of Slackware unless new version gets released.

SlackBuilds Project (SBo) also improved a lot with new maintainers coming in and new scripts are being added. We have just pushed our last public update in 2016. We have now reached 6200+ scripts in our repository, improving from around 5500 since last announcement.

Looking forward, we hope to see more contributions to Slackware Linux and SBo project in general. By buying stuffs in Slackware Store or subscribe to Slackware CD/DVD release, you can help Slackware Linux survive in the future. You can help SBo project by submitting new scripts and report to us whenever you found a bug in the scripts. You can report it on LQ, send it to maintainer directly, or send it to our mailing list if the maintainer does not respond in a timely manner.

See you all in 2017!!!

Security Update: Thunderbird, Seamonkey, libpng, python, samba

5 Security updates were released near the end of year 2016:

  • Samba: Upgraded to 4.4.8 for Slackware 14.2 and 4.5.3 for current
  • Python: Upgraded to 2.7.13 for Slackware 14.0 and newer
  • Thunderbird: Upgraded to 45.6.0 for Slackware 14.1 and newer
  • Seamonkey: Upgraded to 2.46 for Slackware 14.1 and newer
  • libpng: Upgraded to 1.2.57 for Slackware 13.0, 1.4.20 for Slackware 13.1 up to 14.1, 1.6.27 for Slackware 14.2 and current
More updates on current includes:
  • Nano: Upgraded to 2.7.3
  • btrfs-progs: Upgraded to 4.9
  • hplip: Upgraded to 3.16.11
  • tmux: Upgraded to 2.3
  • elfutils: Upgraded to 0.168
  • openvpn: Upgraded to 2.4.0
  • libXpm: Upgraded to 3.5.12
  • libdrm: Upgraded to 2.4.74
  • mesa: Upgraded to 13.0.2
  • xf86-video-dummy: Upgraded to 0.3.8
  • xf86-video-geode: Upgraded to 2.11.19
  • xf86-video-git: Upgraded to latest git (20161117)
  • xfce4-panel, xfce4-settings, xfconf: Upgraded to 4.12.1