Note for English Readers

If I write the articles in Indonesian, I will write a summary in English so that you can read my articles too. After you read the summary and you feel that you need more information about that, please do not hesitate to contact me via e-mail that can be found in my profile.

Thank you for reading my blogs.

Sunday, December 28, 2014

AMD Catalyst Omega 14.501.1003 (14.12) for kernel 3.18.x

Finally, I had time to upgrade my laptop to the latest of slackware64-current, kernel 3.18.1, and AMD Catalyst Omega 14.501.1003 or 14.12. When upgrading to the newest AMD Catalyst Omega, I have got error message after compiling fglrx module. As usual, I checked my favorite reference, that is, Arch User Repository (AUR) for the patch. I modified the patch so that only one patch file is needed. You can download the patch from my Google Drive. You can follow the guidelines below to patch the fglrx module:
  • change directory to the path where the installer is
  • run the installer as root (superuser):
    # ./amd-driver-installer-14.501.1003-x86.x86_64.run
  • follow the instructions, at the end of installation process you will get notice that there are some errors.
  • exit the installer
  • at console, copy the patch file (fglrx-14.12_kernel-3.18.x.patch) to /lib/modules/fglrx/build_mod/
  • change directory to /lib/modules/fglrx/build_mod/
  • patch the fglrx source:
    # patch -p0 < fglrx-14.12_kernel-3.18.x.patch
  • compile the fglrx modules:
    # ./make.sh
    # cd ..
    # ./make_install.sh
  • reboot.
Enjoy your AMD Catalyst-14.501.1003 or 14.12 running on linux kernel 3.18.x.

Thursday, February 13, 2014

AMD Catalyst Patch for kernel-3.13.x

Yesterday, I decided to upgrade the kernel from kernel tree of 3.12.x to 3.13.x and AMD Catalyst from 13.8-beta1 to 13.12. When I upgraded the AMD Catalyst, I got error message on compiling fglrx kernel module. As usual, I checked to Arch Linux for the patch and I found it. I used the information from it to modify the patch into one file only. You can download the modified patch from my Google Drive. Using this patch file, you can patch the fglrx module (of course, you have to install AMD Catalyst 13.12 first) as below (in case of using kernel-3.13.2. Just edit the number "3.13.2" for other kernel version):
  • change directory to the path where the installer is
  • run the installer as root (superuser):
    # ./amd-catalyst-13.12-linux-x86.x86_64.run
  • follow the instructions, at the end of installation process you will get notice that there are some errors.
  • exit the installer
  • at console, copy the patch file (fglrx-13.12_kernel-3.13.x.patch) to /lib/modules/fglrx/build_mod/
  • change directory to /lib/modules/fglrx/build_mod/
  • patch the fglrx source:
    # patch -p0 < fglrx-13.12_kernel-3.13.x.patch
  • compile the fglrx modules:
    # ./make.sh
    # cd ..
    # ./make_install.sh
  • reboot.
Enjoy your AMD Catalyst-13.12 running on linux kernel 3.13.x.

Thursday, March 7, 2013

AMD Catalyst Patch for Kernel 3.8.x

Kernel 3.7.x is EOL now, replaced by 3.8.x as the latest stable kernel version. Because of this, I upgraded the kernel running on my laptop to 3.8.x (on the day I wrote this post, the newest version is 3.8.2). Of course, upgrading the kernel means recompiling the fglrx module. It means, this module need to be re-patched so that can work on kernel-3.8.x. As usual, I searched the patch from Arch Linux then used the information on that site to patch the fglrx module. You can download the complete patch from my Google Drive. Using this patch file, you can patch the fglrx module (by installing AMD Catalyst 13.1 first) as below (in case of using kernel-3.8.2. Just edit the number "3.8.2" for other kernel version):
  • change directory to the path where the installer is
  • run the installer as root (superuser): 
  • # ./amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run
  • follow the instructions, at the end of installation process you will get notice that there are some errors.
  • exit the installer
  • at console, copy the patch file (fglrx-3.8.patch) to /lib/modules/fglrx/build_mod/
  • (optional, if you don't find version.h in /lib/modules/3.8.2/build/include/linux) Make symlink of version.h
  • # ln -s /lib/modules/3.8.2/build/include/generated/uapi/linux/version.h /lib/modules/3.8.2/build/include/linux/version.h
  • change directory to /lib/modules/fglrx/build_mod/
  • patch the fglrx source:
  • # patch -p0 < fglrx-3.8.patch
  • compile the fglrx modules:
  • # ./make.sh
    # cd ..
    # ./make_install.sh

  • reboot.
Enjoy your AMD Catalyst-13.1 running on linux kernel 3.8.x.

Monday, December 31, 2012

AMD Catalyst Patch for kernel-3.7.x

It has been 5 months! I didn't upgrade the AMD Catalyst driver and also the kernel (I sticked with kernel 3.4.x). This week, I got time for upgrading the kernel to 3.7.x and also trying to install AMD Catalyst 12.10. As usual, the fglrx module of AMD Catalyst 12.10 could not be compiled smoothly because of incompatibilities between kernel 3.7.x and this fglrx module. Fortunately, I found the patch from arch linux (also as usual ... :) ... my favorite place for searching any patches) from this link then I make a little bit modification. You can download it from my google docs link.

How to patch?
I used the following steps to install AMD Catalyst-12.10 for kernel 3.7.1 (of course, you just change the kernel directory on these steps if your kernel version is not 3.7.1) and patch the fglrx module:
  • change directory to the path where the installer is
  • run the installer as root (superuser): 
  • # ./amd-driver-installer-catalyst-12.10-x86.x86_64.run
  • follow the instructions, at the end of installation process you will get notice that there are some errors.
  • exit the installer
  • at console, copy the patch file (fglrx-3.7.patch) to /lib/modules/fglrx/build_mod/
  • (optional, if you don't find version.h in /lib/modules/3.7.1/build/include/linux) Make symlink of version.h
  • # ln -s /lib/modules/3.7.1/build/include/generated/uapi/linux/version.h /lib/modules/3.7.1/build/include/linux/version.h
  • change directory to /lib/modules/fglrx/build_mod/
  • patch the fglrx source:
  • # patch -p0 < fglrx-3.7.patch
  • compile the fglrx modules:
  • # ./make.sh
    # cd ..
    # ./make_install.sh

  • reboot.
Enjoy your AMD Catalyst-12.10 running on linux kernel 3.7.x.

Monday, July 9, 2012

Left-, Right-, and Middle-click on Clickpad

Last time, I have shared to you about how to activate right-click on clickpad by patching and recompiling the source of synaptics, at that time, synaptics version 1.4.0. Pat has upgraded the synaptics in Slackware- or Slackware64-current to version of 1.6.2. When I read the source of synaptics-1.6.2, I found that the click function of clickpad can be performed by clicking the clickpad using one, two, and three finger(s). I set the clickpad configuration for X-server, saved in /etc/X11/xorg.conf.d/clickpad.conf, as below:

Section "InputClass"
        Identifier "touchpad"
        Driver "synaptics"
        MatchDevicePath "/dev/input/event*"
        MatchIsTouchpad "on"
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"
        Option "VertTwoFingerScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        Option "VertEdgeScroll" "on"
        Option "HorizEdgeScroll" "on"
EndSection

By this configuration, I activate the behavior of click functions, vertical- and horizontal-scroll using two fingers, and also vertical-edge- and horizontal-edge-scroll that are very convinient for me. Click functions on my laptop can be performed such like this:

  • left-click: one-finger's click
  • right-click: two-finger's click
  • middle-click: three-finger's click


Monday, July 2, 2012

Official Release of AMD Catalyst 12.6

Finally, AMD Catalyst 12.6 has been released officially last Thursday (28-JUN-2012). Please note that this version only supports Radeon HD5000 series or newer as stated on AMD website. For HD4000 and older series, it is better if you stick on current driver that you are using now. This unofficial AMD Catalyst's wiki may help you to decide which version you want to install on your computer.

It has been working nicely on my laptop with kernel-3.4.2 and xorg-server-1.12.2 installed since yesterday. For anyone that uses linux kernel 3.4.x, please follow my step that I have written last time: "AMD Catalyst Patch for kernel-3.4.x". I still compile the kernel-3.4.4. This Catalyst driver should be able to work nicely too on it. I will update this post soon after I finish to set up my laptop with this new kernel.

Updated (02-JUL-2012):
  • This Catalyst driver and the patch are working very well on kernel-3.4.4
  • AMD also released the 12.7 beta version at the same day of 12.6 that will improve performance optimizations for the AMD Radeon HD 7900, AMD Radeon HD 7800, and AMD Radeon HD 7700 Series. You can checkout this link. However, this beta version is not for linux ... :(

Thursday, June 14, 2012

AMD Catalyst-12.6 Beta and xorg-server-1.12.1

After I postponed for more than a month because of incompatibility issue between xorg-server-1.12.1 and the latest AMD Catalyst driver (that is, 12.4), finally, I can use xorg-server-1.12.1 "normally" with the beta version of AMD Catalyst driver, that is, AMD Catalyst-12.6 Beta. I have tested this combination for two days and there is no problem so far. However, since the driver is beta version, there is such kind of logo at the bottom right of the display that give notice that the driver is for testing use only. As for me, it is OK since I believe that AMD will release the official release version soon.

AMD Catalyst Patch for kernel-3.4.x

After the kernel-3.3.x has been terminated (EOL), I decided to move to kernel-3.4.x. Unfortunately, this moving was not so easy since fglrx module could not be compiled for the kernel-3.4.x, in other words, this module needs to be patched. Referring to two references that I have written below, I have got the patch and have successfully patched fglrx module of AMD Catalyst-12.4 and AMD Catalyst-12.6Beta. You can download the patch from this link or just copy-paste a few lines below to your favorite text editor and saving it to a file:

--- lib/modules/fglrx/build_mod/firegl_public.c
+++ lib/modules/fglrx/build_mod/firegl_public.c.new
@@ -4181,7 +4184,11 @@ static int kasInitExecutionLevels(unsigned long level_init)
 {
     unsigned int p;
     KCL_DEBUG5(FN_FIREGL_KAS, "%d\n", level_init);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+    for_each_possible_cpu(p)
+#else
     for_each_cpu_mask(p, cpu_possible_map)
+#endif
     {
         KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d\n", p);
         preempt_disable();

--- lib/modules/fglrx/build_mod/kcl_ioctl.c
+++ lib/modules/fglrx/build_mod/kcl_ioctl.c.new
@@ -217,6 +217,10 @@
  *  \param size [in] Number of bytes to allocate
  *  \return Pointer to allocated memory
  */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+DEFINE_PER_CPU(unsigned long, old_rsp);
+#endif
+
 void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
 {
     void __user *ret = COMPAT_ALLOC_USER_SPACE(size);


I used the following steps to install AMD Catalyst-12.4 or 12.6 Beta and patch the fglrx module:
  • change directory to the path where the installer is
  • run the installer as root (superuser): 
  • # ./amd-driver-installer-12-4-x86.x86_64.run
    (change to ./amd-driver-installer-8.98-x86.x86_64.run for AMD Catalyst-12.6 Beta)
  • follow the instructions, at the end of installation process you will get notice that there are some errors.
  • exit the installer
  • at console, copy the patch file (fglrx_kernel_3.4.0.patch) to /lib/modules/fglrx
  • change directory to /lib/modules/fglrx
  • patch the fglrx source:
  • # patch -p3 < fglrx_kernel_3.4.0.patch
  • compile the fglrx modules:
  • # cd build_mod
    # ./make.sh
    # cd ..
    # ./make_install.sh
  • reboot.
Enjoy your AMD Catalyst-12.4 or AMD Catalyst-12.6 Beta!

References:

Tuesday, April 10, 2012

Beware when compiling using -jN option

When I compiled lilypond-2.15.36, I found this error:
cat out/feta-braces-a.otf-table out/feta-braces-b.otf-table out/feta-braces-c.otf-table out/feta-braces-d.otf-table out/feta-braces-e.otf-table out/feta-braces-f.otf-table out/feta-braces-g.otf-table out/feta-braces-h.otf-table out/feta-braces-i.otf-table > out/emmentaler-brace.otf-table
echo '(design_size . 20)' > out/emmentaler-brace.otf-gtable
echo feta-braces-d feta-braces-c feta-braces-i feta-braces-e feta-braces-h feta-braces-a feta-braces-g feta-braces-f feta-braces-b > out/emmentaler-brace.subfonts
printf 'emmentaler-brace' > out/emmentaler-brace.fontname
cd ./out && /usr/bin/fontforge -script emmentaler-11.pe
Copyright (c) 2000-2011 by George Williams.
 Executable based on sources from 13:48 GMT 22-Feb-2011-ML-TtfDb.
 Library based on sources from 13:48 GMT 22-Feb-2011.
Cannot open /usr/local/src/Music/lilypond-2.15.36/build/mf/out/feta11.pfb
The requested file, feta11.pfb, does not exist
MergeFonts: Can't find font: feta11.pfb
Called from...
 emmentaler-11.pe: line 17
make[1]: *** [out/emmentaler-11.svg] Error 1
make[1]: *** Waiting for unfinished jobs..... 

This error is caused by the use of -jN option when compiling lilypond (I used this instruction: make -j4 all). I used that option in order to maximize CPU cores utilization, however, this option can lead the compilation process into race condition. In the case of lilypond compilation, feta11.pfb is needed by one of compilation thread/stream before other thread/stream compiles it. When I omitted the -jN option, the compilation was successful.

In conclusion, be careful when we use the -jN option. This option can make the compilation process faster because the compilation process uses more than one CPU core, however, the race condition can occur in some cases.

Thursday, April 5, 2012

Linux Kernel 3.3.1 & AMD Catalyst

I just upgraded the kernel to 3.3.1 (my own compilation) then tried to recompile the fglrx modules for this new kernel. No problem in compilation, as well as in use. I have tried AMD Catalyst 12.2 and 12.3, both are no problem on my system with kernel 3.3.1. If you want to upgrade your kernel to 3.3.1 and AMD Catalyst 12.2 or 12.3, you can upgrade them ... without problem, hopefully.

Thursday, September 22, 2011

TeXstudio-2.2 on Slackware64

Today, I have upgraded TeXstudio (formerly TexMakerX) from 2.1 to 2.2 release version (released on 2011-07-20). I need this LaTeX Editor for writing my dissertation report. For the new features, release notes, screenshots, etc., please refer to its website. I downloaded the source code from this link. It needs Qt (at least 4.3), libpoppler, and TeX packages (don't worry, they can be found in l (or deps for Qt if you are using Eric's KDE compilation packages) and t directory for Slackware/64) for compilation.

The compilation process is very easy:
  • extract the source files from tarball
  • enter to texstudio source directory
  • # qmake texstudio.pro
  • # vim Makefile.Release  (or, use your favorite text editor to edit Makefile.Release)
  • make sure /usr/lib64 is written on LIBS (see Figure 1)
  • # make
  • # make install

Figure 1: Makefile.Release

It should be no problem in compilation. Enjoy your TeXstudio!

Screenshot:
Figure 2: TeXstudio-2.2 is running on Slackware64

Tuesday, August 30, 2011

Installing e-Sword under wine on Slackware64

Finally, I can install e-Sword, a Bible study software for windows, under wine on Slackware64 after trying it for a whole day. I decided to use e-Sword because it has abundant, almost complete modules; everything that I need mostly can be downloaded or purchased on the internet.

Before installing e-Sword, you have to prepare the wine environment. For Slackware users, you can download the slackbuild scripts from SlackBuild.org and the source files, then build the slackware packages, in order, webcore-fonts, fontforge, wine, winetricks, and cabextracts. Strictly for Slackware64 users, you have to install Eric's multilib packages in order to compiling and running the wine. After these wine's packages are installed, do these following steps (you have to connect to internet):
   $ export WINEARCH=win32   <-- just for Slackware64
   $ winetricks mfc42   <-- installing mfc42.dll
   $ winetricks msls31   <-- installing msls31.dll

Now, you're ready to install e-Sword. Download the latest version then install it:
   $ wine [path-to]/setupXXX.exe   <-- the "XXX" is the version number of e-Sword

After that, you need to set up wine environment again:
   $ cp ~/.wine/drive_c/Program Files/e-Sword/riched20.dll ~/.wine/drive_c/windows/system32
   $ winecfg

In winecfg, set riched20.dll to native and oleaut32.dll to native,builtin (see picture below).
Finally, run e-Sword by clicking the icon on your desktop/menu (if any) or typing this command on terminal:
   $ wine "C:/Program Files/e-Sword/e-Sword.exe"

Installing eSword9Converter
If you have the old modules (before version 9) for e-Sword, you need to convert it before using it. You will need eSword9Converter to do that. Please download it from this site. Before installing it, you have to install .NET Framework 3.5 by typing this command on terminal (you have to connect to internet):
   $ winetricks dotnet35
Then you can install eSword9Converter:
   $ wine [path-to]/setup-X.X.X.exe   <--- the "X.X.X" is the version number of eSword9Converter
After finishing installation, you can run eSword9Converter by clicking the icon on your desktop/menu (if any) or typing this command on terminal:
   $ wine "C:/Program Files/eSword9Converter/eSword9Converter.exe"

That's all.

References:
  • http://ubuntuforums.org/showthread.php?t=404042
  • http://forum.sabayon.org/viewtopic.php?t=22775#p127929


Friday, August 26, 2011

ATI Catalyst on Linux Kernel 3.0.3

Yesterday, I found that the kernel and ATI Catalyst driver have been updated since August 17, so that, I decided to spend my time for testing them, then use them if there is no problem. Since a few hours ago, the new kernel 3.0.3 and ATI Catalyst has been running smoothly on my laptop. I have tested 2 versions of ATI Catalyst, those are, 10.12 and 11.8.

ATI Catalyst 11.8 (without patch)
This version has been installed without problem and without any single line's patch. My suggestion, use xorg.conf from aticonfig --initial for avoiding any problem (see my previous post), especially if you want to use Desktop Effects.

ATI Catalyst 10.12 (with patch)
I have tried this version on kernel 3.0.3 and it has been running smoothly without problem, however, it need to be patched. For patching ATI Catalyst 10.12, please read my previous post. You can find the link for downloading the patch on that post.

That's all.

Note: for my other posts about ATI Catalyst, go to this link. You may need to read it.

Tuesday, August 9, 2011

Linux Kernel 3.0.1 & ATI Catalyst

Since yesterday, I have tried to run the Linux kernel 3.0.1 on my laptop; everything is good, no problem so far. Next step, I tested the ATI Catalyst 11.7, without patching. After installation, everything is running well including fglrx kernel module and the driver for x server. However, I still have the "old" problem that always occurs when I install ATI Catalyst 11.x, that is, I cannot activate OpenGLOverlay so that the Desktop Effects (compiz) cannot be launched. Therefore, any version of 11.x can be installed as long as the OpenGLOverlay is disabled (see the option below).
Section "Device"
        [...]
        Option      "OpenGLOverlay" "off"
        [...]
EndSection
Now, I am using ATI Catalyst 10.12  with OpenGLOverlay enabled (see the option below) so that I can activate the Desktop Effects since this version does not have problem with OpenGLOverlay. Of course, I have to patch it first. I use the patch that I have written about two months ago (here). So far so good, I can activate the Desktop Effects again.
Section "Device"
        [...]
        Option      "OpenGLOverlay" "on"
        [...]
EndSection

Linux Kernel 3.0.1 and ATI Catalyst 10.12:


My note: Although I have problem with Desktop Effects when I use ATI Catalyst 11.7, My colleague, Widya Walesa, can activate the Desktop Effects when using 11.7; you can read it on his blog. I still don't know what the cause of my problem is.

Note: for my other posts about ATI Catalyst, go to this link. You may need to read it.

Thursday, August 4, 2011

Disabling Nepomuk and Akonadi

After upgrading to KDE-4.7.0, I feel that Nepomuk and Akonadi are very annoying. I always get notification about Nepomuk and some messages about Akonadi when I quit from KDE. Since I don't use Desktop Search and KMail anymore, I have decided to turn Nepomuk and Akonadi off.

Disabling Nepomuk
I follow these steps to disable Nepomuk:
  • Go to System Settings --> Workspace Appearance and Behavior --> Desktop Search
  • Untick "Enable Strigi Desktop File Indexer" and "Enable Nepomuk Semantic Desktop" under Basic Setting Tab
  • Choose "Ignore all removable media" on Removable media handling and also make sure all folders are left unticked in "Customize index folders ..." under Desktop Query Tab
  • Select "Disable Automatic Backups" on Backup frequency under Backup Tab
  • Go to System Settings --> Common Appearance and Behavior --> Application and System Notifications --> Manage Notifications
  • Under Applications Tab, select "Desktop Search" on Event source and make sure all states are empty
  • Do the same for "Nepomuk file watch service" and "Semantic Desktop" on Event source
  • Quit System Settings

Disabling Akonadi
For disabling Akonadi, open the terminal then enter the directory ~/.config/akonadi/akonadiserverrc and set the value of "StartServer" on [QMYSQL] to false.
[QMYSQL] 
... 
StartServer=false

After finishing all steps described above, restart the KDE. Nepomuk and Akonadi have been disabled.

Note: I configure my System Settings to Classic Tree View (see picture below).


Thursday, July 21, 2011

Oxygen KDE: A Firefox Theme

This morning, I got information from Deddy through Google+ about Oxygen KDE. I give it a try ... awesome ... I like it so much! So far, there is no problem after installing it. For KDE users that use firefox as web browser, I suggest you to try this theme.

Tuesday, July 19, 2011

kdeutils-4.6.5 for Slackware after patching

I have patched the source of kdeutils-4.6.5 since there are problems on KCalc (see this link and this link). You can download the slackbuild script, patches, and the source of kdeutils-4.6.5 from this link. Before compiling yourself, make sure you have upgraded your KDE to KDE-4.6.5 using Eric's packages. Next, uncompress kdeutils-4.6.5_SlackBuild.tar.gz and run the KDE.SlackBuild as root. This slackbuild script will compile kdeutils-4.6.5 then upgrade your previous one.

For Slackware64 users, you don't need to compile; just download the binary package from this link, then do upgradepkg.

Monday, June 13, 2011

ATI Catalyst Proprietary Display Driver & kernel-2.6.39.x

Updated: I have renewed all links for the patch. If you still have problem with the link, do not hesitate to contact me. Thank you for all you that have informed me about this link problem.

Again, we need to patch the source code of fglrx kernel module, part of ATI Catalyst (you will find it on /lib/modules/fglrx after installation), for kernel 2.6.39.x since there are some changes on the kernel. On this post, I will show how to patch ATI Catalyst 11.x (tested on 11.5) and 10.10 - 10.12 (tested on 10.12) so that it works on 2.6.39.x (tested on 2.6.39.1).

ATI Catalyst 11.x
First, download 2 files: 2.6.39_bkl.patch and no_bkl.patch (Thank's to https://aur.archlinux.org/packages.php?ID=41040 and http://www.mindwerks.net/2011/04/ubuntu-11-04-natty-with-fglrx-and-2-6-39). Copy those files to /lib/modules/fglrx/build_mod then run these commands:
patch -p1 &lt; 2.6.39_bkl.patch
patch -p1 &lt; no_bkl.patch
Next step, execute ./make.sh and if there is no error, change directory to /lib/modules/fglrx then execute ./make_install.sh

ATI Catalyst 10.10 - 10.12
You have to download this patch: fglrx_10.10-12_with_2.6.39.x.patch. Copy this file to /lib/modules/fglrx/build_mod then execute:
patch -p1 &lt; fglrx_10.10-12_with_2.6.39.x.patch
After that, execute ./make.sh and if there is no error, change current working directory to /lib/modules/fglrx then execute ./make_install.sh

Happy patching!

Note: for my other posts about ATI Catalyst, go to this link. You may need to read it.

Saturday, April 30, 2011

Xilinx ISE WebPack on Slackware64

(breaking news) Slackware64-13.37 has been released! Thank's to Pat, Eric, and other maintainers for making this version available.

For a long time, I have struggled with errors on the installation of  Xilinx ISE WebPack on Slackware64 because I want make Slackware64 not only for doing my "office work", but also as the environment for all development software related to my work. So far, I can make design and draw PCB artwork on Slackware64 using gEDA and pcb. Also, I am able to compile and use gcc cross-compilers for AVR and ARM-based embedded systems. However, if I want to develop "some hardware" on FPGA using Verilog HDL, I must switch to other OS that I really don't like it. Finally, I can install Xilinx ISE WebPack on Slackware64. Thank's to Philip Pemberton that has written the solution on Ubuntu 64-bit version.

The installation problem occurs only when you try to install it on 64-bit version of Linux. I have tried it on Slackware64 and Ubuntu 64-bit version, all trials are failed. The solution is just install 32-bit version of Xilinx ISE on Slackware64. By Philip's reference, here is the step of installation:
  • Download the Xilinx ISE (any latest Linux version or complete version) and extract the installer.
  • Enter the installer directory.
  • Install it with this command (must be root): linux32 ./xsetup
  • Follow the instructions.
  • Enter the installation directory (if you don't change the default, it should be /opt/Xilinx/[ISE_version]
  • Create a script: startise.sh (if you use vim, just type: vim startise.sh)
  • Put a few lines below on the script (in my case, I install Xilinx ISE 13.1. If you use different release number, just change the "13.1" to the correct one):

    #!/bin/bash
    source /opt/Xilinx/13.1/ISE_DS/settings32.sh /opt/Xilinx/13.1/ISE_DS/
    ise

  • Don't forget to make it executable: chmod +x startise.sh
  • Execute the script to start Xilinx ISE.

Here is the screenshot of Xilinx ISE on Slackware64 inside my laptop:




    Thursday, April 21, 2011

    myPhone @ES6192


    "myPhone @ES6192" is my final assignment on ES6192 course (Embedded Operating Systems). I worked on this assignment together with my partner, Rahmady. This assignment simulates a phone dialer. We had to develop device drivers and application software that could be performed on ARM-based Embedded System with Linux as its operating system.

    We developed device drivers for simple I/O on the board: 4 LEDs, 7's Segment LED displays, and 4x4 keyboard. For LCD screen, we use framebuffer driver that has already built on the kernel. The keyboard driver can handle interrupt, also, use tasklet, work queue, and  FIFO circular buffer to manage the data.

    The application software is multithreaded; it has 6 threads (excluding main thread) for handling all processes such as manipulating I/O devices (4 threads), updating clock (1 thread), and controlling whole system by setting the operating modes based on user’s input (1 thread). For managing shared data, we use semaphores. 


    Modes on “myPhone @ES6192”:

    • display clock mode or cancel key on phone dialer and off-hook mode by pressing “C” key
    • adjust clock mode by pressing “D” key
    • phone dialer mode by pressing “E” key
    • off-/on-hook by pressing “F” key (toggled)
    • backspace key on adjust clock and phone dialer mode by pressing “A” key

    Structure of "myPhone @ES6192":


    Video demo: