2007年 5月 22日 火曜日
Messages in cipher reflected in the looking glass
(EN) Diskless Solaris x86 Part 4 : Add NVIDIA graphics driver into diskless client
Part 3 is about installation of nvidia graphics driver into diskless clients.
Diskless client(Solaris 10 x86) has no HDD, but other part is same sa PC or PC Workstation.
So, if PC has nvidia's graphics card, diskless client can use OpenGL with H/W acceleration.
Nvidia graphics driver is included into Solaris Express, but it isn't included in Solaris 10 x86.
To use OpenGL with 3D H/W acceleration on Solaris 10 x86 system,
you have to install nvidia graphics driver into your Solaris 10 x86.
First, the method of adding the package explains.
Pkgadd command is used to add the package in Solaris.
When installing packages into a diskless client, use -R option and -a option .
The following is an example of admin file to add package into Solaris for diskless client.
mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_i386.all
All of the above-mentioned content are not necessary.
Most important variable is "basedir" to install packages into /usr
of diskless clients.
Because /usr for diskless client is in /export/Solaris_10/usr_i386.all/usr (/export/exec/Solaris_10_i386.all/ ),
and /var for diskless client is in /export/Solaris_10 .
In case of the installation directory is not /usr, it is okay that basedir is default.
(basedir=default)
The adding package to /usr for diskless client is as follows.
/tmp/admin is an admin file as above-mentioned.
# pkgadd -R /export/Solaris_10 -a /tmp/admin <pkg>
The following is example of adding package into / (root) directory.
When adding packages into / (root), you have to add packages to all / (root) of diskless client.
# pkgadd -R /export/root/w1100z -a /tmp/admin <pkg> # pkgadd -R /export/root/clone/Solaris_10/i86pc/ -a /tmp/admin <pkg>
You can check whether package is installed by pkginfo
If you want to find where the package is installed, see pkginfo file and pkgmap file in the package directory.
Info :
The last character of a lot of package, which is installed into root directory, names is r or -root.
Dowmload nvidia graphics driver from
http://www.nvidia.com/object/unix.html .
1.0-9755(NVIDIA-Solaris-x86-1.0-9755.run) is used this blog.
After downloading driver, uncompress this file with -x option.
# sh NVIDIA-Solaris-x86-1.0-9755.run --help
NVIDIA Software Installer for Solaris
This program is used to install and upgrade the
NVIDIA Accelerated Graphics Driver Set
for Solaris x64/x86
This program contains the driver version 1.0-9755
Available options:
-h, --help: print this help message
-x, --extract-only: extract the package in the current directory
# sh ./NVIDIA-Solaris-x86-1.0-9755.run -x
After uncompression,
the directory name as NVIDIA-Solaris-x86-1.0-9755 is shown.
# cd NVIDIA-Solaris-x86-1.0-9755 # ls NVDAgraphics NVDAgraphicsr gfx_private install
Contents are as follows.
- NVDAgraphics : nvidia graphics libraries installed into /usr
- NVDAgraphicsr : kernel driver installed into /kernel
- gfx_private : kernel module (two modules are in for Solaris 10 and Solaris 11)
- install : script to use installation
First step is installation of the NVDAgraphics package.
Before installation, make admin file
for NVDAgraphics as follows. (NVDA_admin_usr)
Components of this file is based on the components in install script.
mail= instance=overwrite partial=nocheck runlevel=ask idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_i386.all/usr
Package NVDAgraphics installation is as follows.
# pkgadd -a /tmp/NVDA_admin_usr -R /export/Solaris_10 -d. NVDAgraphics Processing package instance <NVDAgraphics> from </root/NVIDIA-Solaris-x86-1.0-9755> NVIDIA Graphics System Software(i386) 1.0.9755,REV=2007.02.26.23.59 Copyright 2005 by NVIDIA Corporation. All rights reserved. Use is subject to license terms. Using </export/Solaris_10/usr_i386.all/usr> as the package base directory. ## Processing package information. ## Processing system information. 26 package pathnames are already properly installed. Installing NVIDIA Graphics System Software as <NVDAgraphics>
After installation of the NVDAgraphics, make symbolic link files as follows.
# cd /export/Solaris_10/usr_i386.all/usr/lib # ln -sf ../X11/lib/NVIDIA/libGL.so.1 . # ln -sf ../X11/lib/NVIDIA/libGL.so . # ln -sf ../../X11/lib/NVIDIA/amd64/libGL.so.1 ./amd64 # ln -sf ../../X11/lib/NVIDIA/amd64/libGL.so ./amd64 The following 4 ln commands overwrites symbolic link files to MESA OpenGL. # cd /export/Solaris_10/usr_i386.all/usr/X11/lib # ln -sf NVIDIA/libGL.so . # ln -sf NVIDIA/libGL.so.1 . # ln -sf ../NVIDIA/amd64/libGL.so ./amd64 # ln -sf ../NVIDIA/amd64/libGL.so.1 ./amd64 # mkdir -p /export/Solaris_10/usr_i386.all/usr/include/GL # cd /export/Solaris_10/usr_i386.all/usr/include/GL # ln -sf ../../X11/include/NVIDIA/GL/glxext.h . # ln -sf ../../X11/include/NVIDIA/GL/glx.h . # ln -sf ../../X11/include/NVIDIA/GL/glext.h . # ln -sf ../../X11/include/NVIDIA/GL/gl.h . # cd /export/Solaris_10/usr_i386.all/usr/X11/lib/modules/extensions # ln -sf NVIDIA/libglx.so.1 . # ln -sf NVIDIA/libglx.so . # ln -sf ../NVIDIA/amd64/libglx.so.1 ./amd64 # ln -sf ../NVIDIA/amd64/libglx.so ./amd64
Second step is installation of the NVDAgraphicsr.
If you already made diskless clients, you have to install it into root directory
of all diskless clients.
The admin file for installation of NVDAgraphicsr is as follows.(tmp/NVDA_admin_root)
mail= instance=overwrite partial=nocheck runlevel=ask idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=default
Installation of NVDAgraphicsr package is as follows.
Install NVDAgraphicsr into clone # pkgadd -a /tmp/NVDA_admin_root -R \ /export/root/clone/Solaris_10/i86pc -d. NVDAgraphicsr Install NVDAgraphicsr into client : w1100z # pkgadd -a /tmp/NVDA_admin_root -R /export/root/w1100z -d. NVDAgraphicsr Processing package instance <NVDAgraphicsr> from </root/NVIDIA-Solaris-x86-1.0-9755> NVIDIA Graphics System Device Driver(i386) 1.0.9755,REV=2007.02.26.23.59 Copyright 2005 by NVIDIA Corporation. All rights reserved. Use is subject to license terms. Using </export/root/w1100z> as the package base directory. ## Processing package information. ## Processing system information. 3 package pathnames are already properly installed. Installing NVIDIA Graphics System Device Driver as <NVDAgraphicsr>
Third step is copying gfx_private into /kernel of diskless client. Gfx_private for Solaris 10 and for Solaris 11 are in the graphics driver directroy.
copy gfx_private into clone # cp -fp gfx_private/SunOS-5.10/gfx_private \ /export/root/clone/Solaris_10/i86pc/kernel/misc # cp -fp gfx_private/SunOS-5.10/amd64/gfx_private \ /export/root/clone/Solaris_10/i86pc/kernel/misc/amd64 copy gfx_private into diskless client : w1100z # cp -fp gfx_private/SunOS-5.10/gfx_private \ /export/root/w1100z/kernel/misc # cp -fp gfx_private/SunOS-5.10/amd64/gfx_private \ /export/root/w1100z/kernel/misc/amd64
After that, reboot diskless client host with reconfigure option.
In case of generic Solaris 10 client, execute "reboot -- -r"
in the client.
But this command is not effective,
a different method is used in diskles client.
There are two way to reboot with reconfigure option in the diskless client environment.
- Add -r option in the grub menu, and boot diskless client
- Change grub configuration file of diskless client as follows, for example /export/root/w1100z/boot/grub/menu.lst, and reboot diskless client.
default=0
timeout=10
title Solaris Diskless Client
root (nd)
# If console is on ttya|ttyb, replace kernel line with
# one of the commented lines
# original
# kernel /w1100z/multiboot
# boot with re-config
kernel /w1100z/multiboot -r
# kernel /w1100z/multiboot -B console=ttya
# kernel /w1100z/multiboot -B console=ttyb
module /w1100z/boot_archive
Next step is setting to use NVIDIA graphics driver.
- make xorg.conf
Run xorgconf tool and save xorg.conf(/etc/X11/xorg.conf), no actions(change configurations) is needed.
After that, change from [driver "nv"] to [driver "nvidia"] in /etc/X11/xorg.conf . - run kdmconfig, and select xorg.
All steps of installation of nvidia graphics driver are finished.
Now, you can use 3D H/W acceleration.
Of course, Project Looking Glass (LG3D) runs correctly on the diskless client.
LG3D cannot run (run too slow) on software OpenGL environments,
so you can use to check whether nvidia graphics driver installed correctly into the diskless client environment.
Posted at 05:16午後 5 22, 2007 by Yasuhiro Fujitsuki in Linux & Solaris(EN) |