LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 11-23-2009, 07:48 PM   #1
vanzandtj
LQ Newbie
 
Registered: Jul 2007
Posts: 5

Rep: Reputation: 0
success story: installing a graphics card


I recently installed a new graphics card to replace the integrated
graphics on my motherboard. I overcame some significant problems
getting it working, and I want to record the process in case it might help
someone else.

My Asus P5E HDMI board has integrated graphics based on the Intel G35
chipset. It worked, but without DRI, so glxgears reported about 400
FPS, and Firefox took something like two seconds to switch between
tabs. I tried all the hints I could find online with no success, so
eventually decided to get a new card.

I settled on an MSI NX8400GS, based on the nVidia 8400 GS chipset,
based on good reports at newegg
http://www.newegg.com/Product/Produc...82E16814127368. It
is far from state of the art for graphics, but I am not a gamer. Its
interface is "PCI Express 2.0 x16", whereas the motherboard has "PCI
Express x16". However, the Wikipedia page
(http://en.wikipedia.org/wiki/PCI_Express) assured me that v 2.0 and v
1.0 cards and motherboards can interoperate, and it (eventually)
worked for me.

I physically installed the card in the PCI Express x16 slot with no
trouble. In the BIOS setup, Advanced | North Bridge Configuration |
Internal Graphics Mode Select, I selected "disabled". For "Initiate
Graphic Adapter", it offered several alternatives involving IGD, PCI,
and PEG. It didn't define any of the acronyms, and they were not in
the user manual either. I figured out the first was Integrated
Graphics Device, PCI sounded like my new card, and I didn't recognize
PEG, so I selected "[PCI/IGD]". I figured it might fall back to the
Integrated Graphics Device if there was a problem.

Problem 1: When I booted, I got the beep code for "no VGA detected"
and a black screen: no signals on any of the three video connectors.

At this point I realized I had made some mistake in the BIOS setup,
but of course it's hard to fix that with no video. I took the graphics
card out in hopes it would default back to the integrated graphics,
but that didn't work. I removed the CMOS battery for half a minute,
but that didn't help either. Eventually I let the system boot, ssh'd
in from another machine, copied out the user manual for the
motherboard, and looked up the BIOS reset procedure. It turns out I
had to disconnect the AC power and move a jumper while the battery was
out. After that, integrated graphics worked again.

I did some Googling, and discovered PEG stands for PCI Express
Graphics, which is what I needed. I configured the BIOS for "PEG",
shut down, and reinstalled the card.

Problem 2: When I booted next, I got a message "L 99 99 99 99 99..."
and a crash. Evidentally LILO could not find its second stage boot
program. (Remember that it had just booted successfully without the
graphics card :-)

There are lots of discussions of lilo on the net, including error
codes - e.g. http://www.wlug.org.nz/LiloNotes. The first step is to
get the system running well enough to edit /etc/lilo.conf and run
lilo.

I downloaded several rescue CD images and burned them to CDs. The one
that worked for me was the Trinity Rescue Kit 3.3 from
http://trinityhome.org/Home/index.ph...=1&front_id=12. I displayed
the partitions this way:

Code:
  # cat /proc/partitions
major minor  #blocks  name
  
   8        0  293036184 sda
   8        3  291748432 sda3
   8       16  293036184 sdb
   8       17     104391 sdb1
   8       18    1180777 sdb2
   8       19  291748432 sdb3
   8       32  293036184 sdc
   8       35  291748432 sdc3
   9        0  583496704 md0
This let me identify the partitions: md0 is a RAID 5 array consisting
of sda3, sdb3, and sdc3. sdb2 is for swap, and sdb1 has the boot
files. I mounted /dev/md0, and confirmed my files were okay.

After several false starts, I settled on this process to run lilo:
Code:
mkdir /target
mount /dev/md0 /target
chroot /target
mount /proc
mount /dev/sdb1 /boot
lilo -v
This seemed to work (listing the kernels installed), but I got the
same "L 99 99 99..." message when I tried to boot. So I did some more
Googling. Some people suggested setting the BIOS to put the disks
into linear block addressing (LBA) mode. I tried that, but (1) my
BIOS didn't show any of the disks (they are all connected to a
separate SATA card, rather than the integrated SATA controller), and
(2) the BIOS only offered the two choices of "auto" and "LBA
disabled".

Eventually I edited /etc/lilo.conf, changing the boot disk -
i.e. changing
boot=/dev/sdb1
to
boot=/dev/sda1
That worked. Apparently installing the new card triggered a
renumbering of the disks at boot time.

(I should probably switch from lilo to grub, but I hesitate to change a
working setup.)

At this point the system booted normally, but I still didn't have X.
There are three main options for a graphics driver for an nvidia card:

- the open source "nv" driver (with no acceleration, and I never
found the download site),
- the open source "nouveau" driver from
http://nouveau.freedesktop.org/wiki/ (which has acceleration, but
didn't sound stable enough), and
- the binary "nvidia" driver from
http://www.nvidia.com/Download/index.aspx?lang=en-us.

I downloaded the file for the binary driver
(NVIDIA-Linux-x86-190.42-pkg1.run) and ran it. It compiled,
installed, made several compatibility checks, and finished without
complaint. However, the checks were not complete enough...

Problem 3: When I tried "modprobe nvidia" I got the message "Error
inserting nvidia...Invalid module format". And with no source to work
with, how do you diagnose the problem? Again I resorted to Google.
One poster mentioned that the options selected in the kernel sources
and those in the running kernel had to match. In my case they didn't
(I had tried lots of things to get the integrated graphics to work,
but was running a slightly older kernel configuration.) I got those aligned:

Code:
cd /usr/local/src/linux/linux-2.6
cp /boot/config-2.6.31 .config
make
su -c 'make modules_install'
cd /usr/local/src/nvidia
sh NVIDIA-Linux-x86-190.42-pkg1.run
modprobe nvidia
startx
and it worked!

glxgears -info now reports:
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
GL_RENDERER = GeForce 8400 GS/PCI/SSE2
GL_VERSION = 3.2.0 NVIDIA 190.42
GL_VENDOR = NVIDIA Corporation
...
15662 frames in 5.0 seconds = 3132.212 FPS

I don't understand the first part, because the frame rate is much
higher than the refresh rate. However, Firefox switches tabs and
Emacs switches buffers as fast as I can hit the shortcut keys, and
Inkscape is very responsive. I'm happy!

I hope this writeup does somebody else some good.

- Jim Van Zandt
 
Old 11-24-2009, 06:15 AM   #2
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
Debian : Hopefully others do

# apt-get install nvidia-glx nvidia-xconfig nvidia-settings

.. to get nvidia, that's a little easier.

But then again, they might not get the latest version.
.....

Last edited by knudfl; 11-28-2009 at 05:45 AM.
 
Old 11-27-2009, 01:35 PM   #3
vanzandtj
LQ Newbie
 
Registered: Jul 2007
Posts: 5

Original Poster
Rep: Reputation: 0
knudfl: Thanks, that would have been easier. And for now it would actually get the most recent version.

I have noticed one glitch: I no longer have framebuffer support. (For example, "fbset" returns "open /dev/fb0: No such device".) The thing I notice is that the virtual consoles are set up as 80x28, but after starting X and returning to a VC, the last three lines are not displayed. I have to keep clearing the screen with ^L to see what I am typing.
 
Old 11-28-2009, 11:24 AM   #4
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
The usual approach to get a certain text size in CLI
is to add e.g. ' vga=791 ' to the kernel boot line in
/boot/grub/menu.list

The number (like 791) must match your screen resolution :
http://www.knoppix.net/forum/viewtopic.php?p=36777
.....
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
One Part Horror Story; One Part Success Story davidstvz General 3 08-25-2009 04:02 PM
success story roywhite LinuxQuestions.org Member Success Stories 0 03-31-2008 02:39 AM
My success story. HolyLiaison LinuxQuestions.org Member Success Stories 1 02-08-2004 03:57 PM
Success Story! Xshare LinuxQuestions.org Member Success Stories 3 01-25-2004 07:05 PM
CS like success story PingouinShark Linux - Games 2 10-08-2003 04:17 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 08:13 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration