Tuesday, September 23, 2008

Fedora 9 and Thunderbird / Lightning problem

Here goes the problem description,

You've installed Fedora without any development stuff on your notebook/workstation, Using thunderbird as the official mail client, using lightning as your default calendar handler.

If you are in the above case, you might face this wierd problem. Lightning extension does not show you the timezones, doesn't recognize the .ics invites which are present in the email. Here is why

Look at the following image for a description of what happens.



The problem could be that, you don't have the libstdc++.so.5 installed on your box. The lightning project also says the same. But the lightning extension fails to detect the presence of the shared library. This html tidy extension does good job of identifying the missing shared library.

In order to fix the problem with lightning, install the compat-libstdc++-3 package


bash$ sudo yum install libstdc++.so.5


Now, relaunch your thunderbird, lightning will work fine. It took quite sometime for me to figure out whats the real problem is.

Hope this trick will help you guys out.

Thursday, May 29, 2008

Fedora 9 and Nvidia xorg 1.5 compatible driver (nvidia 174.14.05 version)

Nvidia has just released its latest xorg-1.5 supported driver. All the Fedora 9 Owners who are eagerly waiting for the latest nvidia driver rejoice !.

Installation of this is pretty easy, just follow these steps.

1. Add Freshrpms to your repository


sudo rpm -Uvh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/9/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm


2. Install the nvidia driver


sudo yum install nvidia-x11-drv


3. Logout of X and go to runlevel 1 or 3


sudo init 1


4. Update your /etc/X11/xorg.conf to make use of new nvidia driver. (mine is follows)


[nareshv@fallenAngel ~]$ cat /etc/X11/xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder3) Wed Jun 13 18:39:30 PDT 2007
# Xorg configuration created by system-config-display

Section "ServerLayout"
Identifier "single head configuration"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Synaptics" "CorePointer"
EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules/extensions/nvidia"
ModulePath "/usr/lib/xorg/modules"
EndSection

Section "Module"
Load "glx"
Load "extmod"
Load "dbe"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Synaptics"
Driver "synaptics"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto-dev"
Option "Emulate3Buttons" "yes"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "HP"
ModelName "Unknown"
ModeLine "1280x800_60.00" 83.5 1280 1344 1480 1680 800 801 804 828 -hsync +vsync
Option "DPMS"
#[nareshv@fallenangel ~]$ gtf 1280 800 60
# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
EndSection

Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce Go 7400"
VideoRam 268435456
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "AllowGLXWithComposite" "True"
Option "AddARGBGLXVisuals" "True"
Option "TripleBuffer" "True"
Option "UseDamageEvents" "True"
Option "UseRandR" "True"
#Option "RenderAccel" "True"
Option "NoPowerConnectorCheck" "False"
Option "RandRRotation" "True"
Option "DynamicTwinView" "False"
Option "OnDemandVBlankInterrupts" "True"
Option "ConnectToAcpid" "True"
Option "EnableACPIHotkeys" "True"
Option "UseEvents" "True"
Option "ExactModeTimingsDVI" "True"
Option "NvAGP" "0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "Extensions"
Option "Composite" "Enable"
EndSection


5. Now follow step-6, only if you have renamed the /usr/bin/Xorg as per my previous blog post

6. Remove the Shell Script


# mv /usr/bin/Xorg.0 /usr/bin/Xorg


7. Load the nvidia kernel module


# modprobe nvidia


8. Go to Run level 5 (GUI)


# init 5


Now you should have the system using the Latest nvidia driver as the default, with all the compiz,3d, everything working!

Here is my screenshot of running glxgears with 1600fps




Now you can start enjoying KDE4 with all the 3d effects !. Many thanks to nvidia for the much awaited compatibility with xorg-1.5

Thursday, May 15, 2008

Fedora 9 and Nouveau Nvidia Driver

Given that the current nvidia driver does not support all the fancy features which are required to run a fully productive desktop, i've tried to see the current state of the nouveau

Fedora 9 currently does not ship the 'nouvea_dri.so' with its mesa rpms. In order to get the feel of the dri using nouveau, i've compiled the mesa drivers from sources.


Instructions follows

NOTE: Do not report any issues to Fedora Bugzilla or Nouveau Bugzilla when using the Gallium Drivers. These are completely experimental.

NOTE: Since the gallium 3d does not support all the Visuals (ARGBGLX) required to run compiz, compiz does not work.

0. Below are my Hardware Details

Smolt profile :: http://www.smolts.org/client/show/pub_af62c229-68e1-4b66-9171-b8be36c7a3fd



[nareshv@fallenAngel mesa]$ /sbin/lspci | grep -i nvidia
01:00.0 VGA compatible controller: nVidia Corporation G72M [GeForce Go 7400] (rev a1)



1. Get the mesa sources (50M sources) using git


cd /tmp
git clone git://anongit.freedesktop.org/git/nouveau/mesa



2. Switch to the gallium-0.1 branch



cd mesa/
git checkout origin/gallium-0.1
git checkout -b gallium-0.1



3. Configure the Library installation paths. (open and edit the file so that below 2 settings should be like this)


[nareshv@fallenAngel configs]$ pwd
/tmp/mesa/configs
[nareshv@fallenAngel configs]$ grep INSTALL_DIR default | grep -v SEARCH
INSTALL_DIR = /usr/
DRI_DRIVER_INSTALL_DIR = /usr/lib/dri/


4. Make sure you have all the Xorg development libraries installed.


[root@fallenAngel ~]# rpm -qa lib\*-devel
libacl-devel-2.2.47-1.fc9.i386
libXfixes-devel-4.0.3-3.fc9.i386
libSM-devel-1.0.2-5.fc9.i386
libattr-devel-2.4.41-1.fc9.i386
libogg-devel-1.1.3-9.fc9.i386
libuser-devel-0.56.9-1.i386
libXau-devel-1.0.3-5.fc9.i386
libXmu-devel-1.0.4-1.fc9.i386
libcap-devel-2.06-4.fc9.i386
libxml2-devel-2.6.32-1.fc9.i386
libxcb-devel-1.1-4.fc9.i386
libX11-devel-1.1.4-1.fc9.i386
libdrm-devel-2.4.0-0.11.fc9.i386
libXt-devel-1.0.4-5.fc9.i386
libsepol-devel-2.0.26-1.fc9.i386
libgdiplus-devel-1.9-4.fc9.i386
libcurl-devel-7.18.1-1.fc9.i386
libXdmcp-devel-1.0.2-5.fc9.i386
libXdamage-devel-1.1.1-4.fc9.i386
libXxf86vm-devel-1.0.1-5.fc9.i386
libselinux-devel-2.0.61-1.fc9.i386
libXext-devel-1.0.4-1.fc9.i386
libXi-devel-1.1.3-4.fc9.i386
libstdc++-devel-4.3.0-8.i386
libidn-devel-0.6.14-7.i386
libvorbis-devel-1.2.0-3.fc9.i386
libICE-devel-1.0.4-3.fc9.i386


5. Start building mesa for your OS (i386 or x86_64)


[nareshv@fallenAngel mesa]$ ls
bin configs doxygen Makefile SConstruct winddk.py
common.py docs include progs src
[nareshv@fallenAngel mesa]$ make DRI_DIRS=nouveau linux-dri-x86

(replace linux-dri-x86 with linux-dri-x86_64 if you are on 64bit Fedora)



8. Try running glxgears with the latest drivers that are built


bash$ LD_LIBRARY_PATH="/tmp/mesa/lib" LIBGL_DRIVERS_PATH="/tmp/mesa/lib" glxgears



9. Verify that the screen has direct rendering enabled


[nareshv@fallenAngel tmp]$ LD_LIBRARY_PATH="/tmp/mesa/lib" LIBGL_DRIVERS_PATH="/tmp/mesa/lib" glxinfo 2>/dev/null | grep ^OpenGL
OpenGL vendor string: Tungsten Graphics, Inc. and nouveau
OpenGL renderer string: Gallium 0.1, NV46 on Nouveau/DRI
OpenGL version string: 1.5 Mesa 7.1
OpenGL extensions:


9. Screenshot with Gallium3d on my desktop ( I am getting from 900fps to 1200fps !, while the nouveau driver without this gallium gives only 250fps [same with nv driver])




10. I dont have any games to test the FPS, but you can try running openarena and see things working


NOTE: Remember, this gallium 3d is completely experimental and may not work with all the nvidia chipsets and might even crash your X when running heavy 3d applications. DONT REPORT ANY ISSUES WITH NOUVEAU TEAM WHEN USING GALLIUM

Monday, April 14, 2008

HP Pavilion Webcam on Fedora 9

Folks at mediati are working hard to bring the r5u870 webcam work with the latest linux kernels, after the initial work done by Sam Revitch on this type of webcam.

I've again built the rpm package to work with the Latest Fedora 9 (rawhide as of 14-apr-08). Older RPM with the source code from Sam Revitch can be downloaded here http://lsb.blogdns.com/ry5u870

Download this Package for Fedora dkms-r5u870-0.11.0-8.noarch.rpm.bz2 , this package compiles on all fedora distributions with linux kernel higher than 2.6.16 (even the latest 2.6.25-rc9, Fedora 9)

Installation process


1. Download and extract this file


 bunzip2 dkms-r5u870-0.11.0-8.noarch.rpm.bz2

2. Install this package with yum.


yum install ./dkms-r5u870-0.11.0-8.noarch.rpm --nogpg


3. Start your favorite viewer to see the webcam (ex. tvtime)


tvtime

NOTE: Currently cheese is not able to read from the webcam for some reason (tested in Fedora 9 rawhide). But the webcam works in gstreamer-properties

Saturday, April 12, 2008

Fedora 9 and Latest Nvidia 173.08 Driver

Nvidia has released its latest version of the xorg 1.5 compatible drivers. You no longer need to follow my techique for 173.08 version driver . See my new blog entry for details

Nvidia has released its latest drivers for Linux which has support for the latest x.org versions (1.5) which are used in the Fedora 9 release (currently beta was released). Follow these steps in order to use the latest Nvidia driver in your Fedora 9

NOTE: I really tested and using these things in my laptop currently, things should work for others too. THIS METHOD IS COMPLETELY UNSUPPORTED BY FEDORA FOLKS, BUT WORKS.

[NOTE] This process works on Latest Fedora 9 Too. But you'll not be able to make use of any of the glx capabilities , so all the commands like glxgears, nvidia-settings will give errors

step-1 : Install the Latest nvidia driver (download rpm from freshrpms or livna)

yum install xorg-x11-drv-nvidia


step-2 : Nvidia suggests that we use the -ignoreABI option to use these drivers with the latest xorg servers. Follow these steps to setup such way.

1. Logout of X ( preferably go to runlevel 3 or 1, anything other than 5)

init 3


2. Rename the /usr/bin/Xorg binary to any other name like /usr/bin/Xorg.o

mv /usr/bin/Xorg /usr/bin/Xorg.0


3. Create a shell script named /usr/bin/Xorg

touch /usr/bin/Xorg
chmod +x /usr/bin/Xorg


4. Now edit the /usr/bin/Xorg and put these two lines

vi /usr/bin/Xorg

#!/bin/sh
exec /usr/bin/Xorg.0 -ignoreABI "$@"


5. close the file

6. Confirm that your /etc/X11/xorg.conf has the driver set as 'nvidia'

my xorg.conf follows


[nareshv@fallenAngel ~]$ cat /etc/X11/xorg.conf

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
Option "IgnoreABI" "true"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules/extensions/nvidia"
ModulePath "/usr/lib/xorg/modules"
EndSection

Section "Module"
Load "glx"
Load "extmod"
Load "dbe"
Load "dri2"
Load "dri"
Load "xtrap"
Load "GLcore"
EndSection

Section "Device"
Identifier "Videocard0"
Driver "nvidia"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "UseDamageEvents" "True"
Option "OnDemandVBlankInterrupts" "True"
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection

Section "Extensions"
Option "Composite" "Enable"
EndSection


7. Reboot into runlevel 5.

init 5.


8. Now you should see the system using nvidia driver as the default one.


Few Gotchas:

1. Currently only 2D works, NVIDIA is working on getting 3D as soon as x.org 1.5 version is released.

2. None of the 3d commands work glxinfo,glxgears, all because of lack of 3d support.

3. Now i am able to play the movies in mplayer when i've replaced the nvidia's libwfb.so with libwfb.so the xorg itself has.

-- last updated (Fri April 18 2008)

Saturday, November 17, 2007

Using Telugu Spell Checker in Fedora 8

Spell checking in telugu language is pretty easy in Linux, you can install the 'aspell' telugu sets and start spell checking. Below are the steps to do on a Fedora 8 System.

1. Install the aspell-te package if you haven't done it already


nareshv@fallenangel $ sudo yum install aspell-te -y

nareshv@fallenangel $ rpm -qi aspell-te
Name : aspell-te Relocations: (not relocatable)
Version : 0.01 Vendor: Fedora Project
Release : 2.fc8 Build Date: Mon 10 Sep 2007 05:27:41 PM IST
Install Date: Mon 12 Nov 2007 06:34:46 PM IST Build Host: hammer2.fedora.redhat.com
Group : Applications/Text Source RPM: aspell-te-0.01-2.fc8.src.rpm
Size : 2355665 License: GPLv2+
Signature : DSA/SHA1, Thu 25 Oct 2007 03:31:26 AM IST, Key ID b44269d04f2a6fd2
Packager : Fedora Project
URL : http://aspell.net/
Summary : GNU Aspell Telugu Dictionary Package
Description :
GNU Aspell Telugu Dictionary Package

nareshv@fallenangel $ rpm -ql aspell-te
/usr/lib/aspell-0.60/te.dat
/usr/lib/aspell-0.60/te.multi
/usr/lib/aspell-0.60/te.rws
/usr/lib/aspell-0.60/telugu.alias
/usr/lib/aspell-0.60/u-telu.cmap
/usr/lib/aspell-0.60/u-telu.cset
/usr/share/doc/aspell-te-0.01
/usr/share/doc/aspell-te-0.01/COPYING
/usr/share/doc/aspell-te-0.01/Copyright



After the package is installed, try creating a sample telugu document

Below image explains the sample document.



Now run the aspell command like below


[nareshv@fallenangel Desktop]$ cp telugu.txt telugu2.txt
[nareshv@fallenangel Desktop]$ aspell -l te -c telugu2.txt
[nareshv@fallenangel Desktop]$ gedit telugu2.txt
[nareshv@fallenangel Desktop]$


See the changes in the below image




Its very easy to run the aspell on any text document which is in telugu.

You can download the wordlist that is used in the latest aspell version here.

For the impatient this is the direct link (te.wl.gz)

Saturday, November 03, 2007

blueman rpm for Fedora 8



yesterday i was searching for a good front end software which helps in using the bluetooth easy in the gnome desktop environment. after searching in yahoo, found the software http://www.gnomefiles.com/app.php/blueman. The software is really cool and is written in python.

Using blueman after extracting it from source is pretty easy. But in order to use all the features you need to have btsco/libsbc and btsco kernel modules.

In order to maintain the software easy on RPM based systems, i'd created a spec file and created the rpm. The spec file is here


#
# Spec file written and maintained by naresh , cyan_00391 At yahoo dot co dot in
#
Summary: Bluetooth Manager for GNOME Desktop
Name: blueman
Version: 0.19
Release: 2%{?dist}
License: GPL
Group: Applications/Accessories
URL: http://blueman.tuxfamily.org/
Source: http://blueman.sf.net/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch
BuildRequires: gcc
Requires: pybluez gnome-bluetooth dbus-python
Requires: bluez-utils > 3.9
##
## bluetooth-alsa-btsco, libsbc and dkms-btsco are built by me for fc8
## and are not widely available in fedora world. Not sure where to put
## these packages/spec files
##
Requires: bluetooth-alsa-btsco
Requires: libsbc
Requires: dkms-btsco
Packager: Naresh Kumar

%description
Blueman is a GTK+ bluetooth management utility for GNOME using bluez dbus backend.
The aim is to create a full featured graphical bluetooth manager for Linux.

Features:

* Easy to use interface
* Storing Favourite devices
* Send files
* Browse files on devices
* List all seen devices
* View Local/Remote Device information
* Configure local devices
* Manage Pairing (Bonding)
* Host/Connect to Personal Area Networks
* Bind services to /dev/rfcomm ports, for eg. connecting via gprs
* Connect to Bluetooth headsets and use them as ALSA audio devices.

%prep
%setup -n blueman-%{version}

%build

%install
%{__rm} -rf %{buildroot}

make install DESTDIR=$RPM_BUILD_ROOT

%files
%defattr(-, root, root, 0755)
%exclude /usr/share/applications
%doc COPYING DEPENDENCIES README
%{_datadir}/blueman/*
%{_datadir}/blueman/icons/*
#%{_datadir}/applications/*
%{_datadir}/blueman/lib/*
%{_bindir}/*


%changelog
* Wed Nov 2 2007 Naresh 0.19.2-fc8
- Cleaned up the code a bit.

* Wed Nov 2 2007 Naresh 0.19.1-fc8
- Initial Revision


Although this says btsco and libsbc as prerequisites, you can easily build the rpm by just downloading the source files from the blueman home page download link