LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices



Reply
 
Search this Thread
Old 07-09-2008, 10:51 PM   #1
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.1
Posts: 1,226

Rep: Reputation: 187Reputation: 187
I just installed uvesafb


Just wanted to share this with the community. Like a lot of slackers I still use the console a lot and having always used vesa for my framebuffer because you can't use the nvidia fb with the nvidia 3d driver so I have always been stuck at 1024x768 on my 1680x1050 widescreen monitor. I decided to give the new uvesafb a try since its now stable and in the official kernel. It took me a few hours because I made some mistakes but now that I got it running I can't imagine living with out... having a 1680x1050 console framebuffer is the only way to go . You should definitely give it a try if you still use console.
 
Old 07-10-2008, 07:53 AM   #2
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 370

Rep: Reputation: 98
Actually, I have been able to use higher resolutions with nvidia-card and vesa as well. You just have to define the correct vesa-modes, which are indeed not very easy to find. I had an app for this once called vbetest, it comes with lrmi and is also included in mplayer's vesautils. It lists the supported vesa-modes for your graphics card.
 
Old 07-10-2008, 10:55 AM   #3
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: Tupelo, MS
Distribution: Gentoo
Posts: 6,926

Rep: Reputation: 124Reputation: 124
I've never seen a framebuffer mode for 1680x1050.

Please supply more information about either method. My monitor is a
20" digital LCD, and Linux makes it look like some hobby kit compared
to ... well, the other 2 OSes.
 
Old 07-10-2008, 12:38 PM   #4
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.1
Posts: 1,226

Original Poster
Rep: Reputation: 187Reputation: 187
Quote:
Originally Posted by ppr:kut View Post
Actually, I have been able to use higher resolutions with nvidia-card and vesa as well. You just have to define the correct vesa-modes, which are indeed not very easy to find. I had an app for this once called vbetest, it comes with lrmi and is also included in mplayer's vesautils. It lists the supported vesa-modes for your graphics card.
I heard that you can get higher resolutions with vesa but I thought that you couldn't get widescreen resolutions with it. Is that true?

Last edited by Daedra; 07-10-2008 at 06:30 PM.
 
Old 07-10-2008, 01:54 PM   #5
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.1
Posts: 1,226

Original Poster
Rep: Reputation: 187Reputation: 187
Quote:
Originally Posted by Bruce Hill View Post
I've never seen a framebuffer mode for 1680x1050.

Please supply more information about either method. My monitor is a
20" digital LCD, and Linux makes it look like some hobby kit compared
to ... well, the other 2 OSes.
I pretty much just followed the directions at http://dev.gentoo.org/~spock/projects/uvesafb/ but I made some mistakes along the way so I will go step by step.

First thing you need to do is recompile the kernel with support for uvesafb and Connector - unified userspace <-> kernelspace linker. You will also need to add support for initial ram disk (this is in the default slackware kernel). However uvesafb relies on an external helper that will have to be loaded at boot, you can make your own initrd for this but I found a lot easier just to use the one provided and compile it into the kernel so we don't have to worry about it, to do this under "initramfs source file(s):" add the line /usr/share/v86d/initramfs... we will get to this part in a minute..
see the screenshot for a better description http://webpages.charter.net/daedra/ram.jpg

Once your kernel is recompiled and working now we need to install kilbc, you will to go ahead and install version 1.5.9 because you need at least 1.5.8 for this to work, grab the source and I used a slackbuild that I found at http://darkstar.ist.utl.pt/slackware...klibc/1.5/src/ I just edited the slackbuild to use version 1.5.9 and the kernel I was using.

Once you have klibc installed now you have to install the userspace helper for uvesafb called v86d, grab the source from http://dev.gentoo.org/~spock/projects/uvesafb/ and compile it using these options
./configure --with-klibc
make
make install (used trackinstall utulity that comes with src2pkg so that I could have a clean slackware package). Now when you unpacked the v86d source there should be a folder called "misc" in this folder is the initramfs file we need to load v86d at boot time so that uvesafb will work correctly. go ahead and open the folder and inside you will see the initramfs file, go ahead and copy that to /usr/share/v86d (remember we put this line in kernel load initrams file).

The last step is to edit /etc/lilo.conf and first thing is to uncomment any line relating to the VGA modes, like VGA=791, these are the way video modes are set using the traditional vesafb. to set uvesafb you need to add a line similiar to this
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda2
label = Linux
read-only
append = "video=uvesafb:1024x768-32,mtrr:3,ywrap"
# Linux bootable partition config ends

I recommend that you only do 1024x768 at first boot because we need to test that uvesafb is working correctly and the available modes are dependent on what your video cards bios can handle. Ok after you reboot you it should be working now. Once you are loaded run this command to confirm success

dmesg | grep uvesafb

this is my output
root@slackware:~# dmesg | grep uvesafb
Kernel command line: BOOT_IMAGE=Linux ro root=802 video=uvesafb:1680x1050-32,mtrr:3,ywrap
uvesafb: NVIDIA Corporation, G92 Board - 03930004, Chip Rev , OEM: NVIDIA, VBE v3.0
uvesafb: protected mode interface info at c000:b430
uvesafb: pmi: set display start = c00cb493, set palette = c00cb4ee
uvesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5 3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da
uvesafb: VBIOS/hardware supports DDC2 transfers
uvesafb: monitor limits: vf = 75 Hz, hf = 83 kHz, clk = 150 MHz
uvesafb: scrolling: ywrap using protected mode interface, yres_virtual=2100
uvesafb: framebuffer at 0xfb000000, mapped to 0xf8880000, using 13781k, total 14336k
[<c0300000>] uvesafb_init+0x18c/0x357

which confirms that it is working. So if everything is now working and you want to increase the resolution of your console first we need to see what resolutions your card can handle, to check this do

cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes

This give you a list of available modes. I have a Geforce 8800GT and my available modes are
640x400-8, 0x0100
640x480-8, 0x0101
800x600-8, 0x0103
1024x768-8, 0x0105
1280x1024-8, 0x0107
320x200-16, 0x010e
320x200-32, 0x010f
640x480-16, 0x0111
640x480-32, 0x0112
800x600-16, 0x0114
800x600-32, 0x0115
1024x768-16, 0x0117
1024x768-32, 0x0118
1280x1024-16, 0x011a
1280x1024-32, 0x011b
320x200-8, 0x0130
320x400-8, 0x0131
320x400-16, 0x0132
320x400-32, 0x0133
320x240-8, 0x0134
320x240-16, 0x0135
320x240-32, 0x0136
640x400-16, 0x013d
640x400-32, 0x013e
1280x800-8, 0x0160
1280x800-32, 0x0161
768x480-8, 0x0162
1680x1050-8, 0x0168
1680x1050-32, 0x0169

so thats why I know I can run 1680x1050, go ahead and re-edit your /etc/lilo.conf with your desired resolution, reboot and enjoy.


Here is a quick video of my uvesafb in action http://webpages.charter.net/daedra/DivX-23081.avi
 
Old 07-10-2008, 06:39 PM   #6
GushpinBob
Member
 
Registered: Aug 2007
Distribution: File Server: Ubuntu 10.04
Posts: 56

Rep: Reputation: 15
So I guess I now have the opportunity to run 1280x768 in my console? If so, I am definitely installing this.
 
Old 07-10-2008, 09:19 PM   #7
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 11,473
Blog Entries: 4

Rep: Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525Reputation: 1525
Hi,

Another great post Daedra!
 
Old 07-10-2008, 11:22 PM   #8
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.1
Posts: 1,226

Original Poster
Rep: Reputation: 187Reputation: 187
Quote:
Originally Posted by GushpinBob View Post
So I guess I now have the opportunity to run 1280x768 in my console? If so, I am definitely installing this.
you can run 1024x768 with the standard vesafb, in fact it should give you the option when you installed slackware. You can check it by running "pkgtool" and re-running the lilo install script, 1024x768 should be an available option. As far as uvesafb goes, the resolutions that it will run are completely dependent on what your video cards bios can handle, I would say any card 6 years old (probably older) or newer should be able to handle a 1024x768 console.

Last edited by Daedra; 07-10-2008 at 11:24 PM.
 
Old 07-11-2008, 12:37 AM   #9
GushpinBob
Member
 
Registered: Aug 2007
Distribution: File Server: Ubuntu 10.04
Posts: 56

Rep: Reputation: 15
I do know that 1024x768 is already available with the standard vesafb; I'm actually running my framebuffer console at that resolution right. It's just nice to know now that somebody has taken the liberty of creating a new vesa driver that can support widescreen resolutions like 1280x768 (my laptop's native resolution).
 
Old 07-11-2008, 12:42 AM   #10
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.1
Posts: 1,226

Original Poster
Rep: Reputation: 187Reputation: 187
ooops, lol. I see now what you mean, I read your post wrong , there is a good chance that it will work if your video card bios supports, might be a worth a try, it's pretty easy to get going
 
Old 07-11-2008, 06:25 AM   #11
Bruce Hill
HCL Maintainer
 
Registered: Jun 2003
Location: Tupelo, MS
Distribution: Gentoo
Posts: 6,926

Rep: Reputation: 124Reputation: 124
Daedra,

Is this link correct? I tried with and without a proxy server...
Quote:
Your request for http://darkstar.ist.utl.pt/slackware...klibc/1.5/src/ could not be fulfilled, because the connection to darkstar.ist.utl.pt (193.136.198.175) could not be established.
So like a good little Linux fanboy, I went to kernel.org:
Code:
ftp://ftp.kernel.org/pub/linux/libs/klibc/
Can you please help me past this hurdle?

Is this the correct source? Can you kindly post the SlackBuild you got,
or repost the link?
 
Old 07-11-2008, 06:31 AM   #12
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.1
Posts: 1,226

Original Poster
Rep: Reputation: 187Reputation: 187
use this link instead, its a 12.0 buildscript but it works fine.
http://repository.slacky.eu/slackwar...klibc/1.5/src/

for the actual source, I downloaded from here http://www.upkg.org/paldo/sources/kl...-1.5.9.tar.bz2 kernel.org only has up to 1.5.

Just make sure you download klibc-1.5.9 and edit the slackbuild for that version and the kernel version you are using

A quick example
#!/bin/sh
# Heavily based on the Slackware 12.0 SlackBuild
# ftp://ftp.kernel.org/pub/linux/libs/klibc/
# Packager Michelino Chionchio -Thanks to www.slacky.eu



CWD=`pwd`
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package-klibc
NAME=klibc
VERSION=1.5 (edit to match)
KVERSION=2.6.21.5 (edit to match)
CHOST=i486
ARCH=${ARCH:-i486}
BUILD=1mch

Last edited by Daedra; 07-11-2008 at 06:39 AM.
 
Old 07-15-2008, 01:57 AM   #13
anupamsr
Member
 
Registered: Sep 2004
Location: India
Distribution: Kubuntu, Archlinux, Suse, Gentoo, Mandrake
Posts: 370

Rep: Reputation: 30
Hi!

Thanks for your excellent tutorial. I followed all the steps, but encountered one problem: Installing klibc (make install) didn't copy the header files in /usr/lib/klibc/include - I had to manually do it, after which v86d compiled successfully. I suppose you can add this into your tutorial (this is a known problem with klibc)


Now I am encountering a new problem uvesafb does seem to load, but gives me a lot of errors:
uvesafb: moode switch failed (eax=0x34f, err=0)

Do you also get something similar?
 
Old 07-15-2008, 02:18 AM   #14
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-14.1
Posts: 1,226

Original Poster
Rep: Reputation: 187Reputation: 187
Quote:
Originally Posted by anupamsr View Post
Hi!

Thanks for your excellent tutorial. I followed all the steps, but encountered one problem: Installing klibc (make install) didn't copy the header files in /usr/lib/klibc/include - I had to manually do it, after which v86d compiled successfully. I suppose you can add this into your tutorial (this is a known problem with klibc)


Now I am encountering a new problem uvesafb does seem to load, but gives me a lot of errors:
uvesafb: moode switch failed (eax=0x34f, err=0)

Do you also get something similar?
Hmm, I wasn't aware that there was a problem with that. I used a buildscruipt over at slacky.eu and it worked fine for me, but I guess I can make a note of that. did you check to see what supported resolutions your video bios can handle? Because if you are trying to run a resolution that isn't supported it will fail. did you compile the v86d initrd into the kernel or are you running seperate?

I just edit this post to say that I did also get this error before but it was before I installed klibc and built v86d with the -with-klibc option. You could give the buildscripts in the above post a try and see if they work for you. I suppose there is a small possibility something is missing in the kilbc install

Last edited by Daedra; 07-15-2008 at 02:27 AM.
 
Old 08-05-2009, 04:19 PM   #15
GrapefruiTgirl
Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Rep: Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550
Daedra,

this is an excellent article; thanks for taking the time to post it!

I will be looking into this myself, but have no timeline on this yet. LOL, I have never even used an initrd, so I have a little more learning to do before getting to this stage.

But 1680x1050 on my framebuffer/console would really be nice!

Now, if ONLY I could find a way (believe me, I have done my searching) to activate and use my additional monitor(s) when in console mode, I'd be tickled

Sasha

PS - yes, I have necroposted, but this thread is worth revisiting IMHO.

Last edited by GrapefruiTgirl; 08-05-2009 at 04:20 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
I installed Wine and configure this at Debian 4.0 r1.I installed windows software hassancemk Linux - Software 2 04-02-2008 12:28 AM
Ndiswrapper installed driver installed, hardware present, but modprobe doesn't likeit Flukey Linux - Hardware 1 04-14-2007 12:22 PM
Cannot boot already installed ubuntu on newly installed win xp abhi_337 Ubuntu 1 07-13-2006 04:33 AM
ndiswrapper installed, driver installed. No device appears... kurtwisener Fedora 5 03-25-2006 04:10 PM
I have Redhat 3.0 factory installed on my Dell hardware. I have installed JDK 1.4.2 vcvinith Red Hat 2 04-18-2005 08:09 AM


All times are GMT -5. The time now is 02:33 PM.

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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration