PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lilo und vga=...



smartysmart34
17.07.05, 14:08
Hallo zusammen,

bin mir nicht sicher, ob ich hier richtig bin. Mit lilo schon, aber vga? ;-)
Problem: Ich möchte auf meinem System (Suse 9.3, Delle Dimension 5000, ATI X300) aufgrund des neuen Monmitors den Konsolen-Modus von 0x317 (1024*768) auf 0x31A (1280*1024) umstellen.

Wenn ich in der lilo.conf also vga=0x31A eintrage, dann erhalte ich beim Booten eine Meldung, daß ein falscher Modus angegeben wurde.

Ich habe auch schon Meldungen gelesen, daß das nur mit linearen Framebuffern geht und CESA 2.0 benötigt... daran sollte es aber nicht liegen, oder?

Muß ich auf noch irgendwas achten?

Danke und Gruß,
Martin

Peredur
17.07.05, 17:35
hi martin,

sollte der wert nicht wie folgt eingegeben werden:
vga=031A

versuch doch alternativ den werte so einzugeben:
vga=794 (794 fuer 16 bit)

linearen Framebuffern = JA sollte aber bei suse im kernel aktiviert sein

gruss
peredur :)

smartysmart34
17.07.05, 22:04
Hallo Peredur,

danke für den Tip.
Das ohne Null und in dezimal gilt für wenn ichs am Bootprompt angeben will. Habbich auch schon getestet. In der lilo.conf geht's aber in Hex und mit dem "x".

Sonst noch wer ne idee, wieso mein LILO oder meine Graka meint, der Modus wäre nicht OK?

Würde Euch meine lilo.conf helfen (bin grad nicht am Rechner...)?

Danke und Gruß,
Martin

pitu
18.07.05, 07:34
hmm, nur mal so ein versuch .. stell doch mal beim booten um und versuch dann nochmal zu installieren, also mit bereits eingestelltem modus ...

smartysmart34
18.07.05, 09:33
Hallo Pitu,

das Problem ist ja, daß es auch beim Booten nicht geht. Wenn ich am Bootpromt vga=... (mir fällt grad die Nummer für 1280 in dezimal nicht ein... 7..) eingebe, dann stoppt er auch mit der Meldung "ungültiger Modus..."

Gruß,
Martin

pitu
18.07.05, 09:50
aehm hast du den kernel selber gemacht?

Ansonsten:

less /usr/src/linux/Documentation/fp/vesafb.txt


[...]
How to use it?
==============

Switching modes is done using the vga=... boot parameter. Read
Documentation/svga.txt for details.

You should compile in both vgacon (for text mode) and vesafb (for
graphics mode). Which of them takes over the console depends on
whenever the specified mode is text or graphics.

The graphic modes are NOT in the list which you get if you boot with
vga=ask and hit return. The mode you wish to use is derived from the
VESA mode number. Here are those VESA mode numbers:

| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x101 0x103 0x105 0x107
32k | 0x110 0x113 0x116 0x119
64k | 0x111 0x114 0x117 0x11A
16M | 0x112 0x115 0x118 0x11B

The video mode number of the Linux kernel is the VESA mode number plus
0x200.

Linux_kernel_mode_number = VESA_mode_number + 0x200

So the table for the Kernel mode numbers are:

| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B

To enable one of those modes you have to specify "vga=ask" in the
lilo.conf file and rerun LILO. Then you can type in the desired
mode at the "vga=ask" prompt. For example if you like to use
1024x768x256 colors you have to say "305" at this prompt.

If this does not work, this might be because your BIOS does not support
linear framebuffers or because it does not support this mode at all.
Even if your board does, it might be the BIOS which does not. VESA BIOS
Extensions v2.0 are required, 1.2 is NOT sufficient. You will get a
"bad mode number" message if something goes wrong.

1. Note: LILO cannot handle hex, for booting directly with
"vga=mode-number" you have to transform the numbers to decimal.
2. Note: Some newer versions of LILO appear to work with those hex values,
if you set the 0x in front of the numbers.
[...]


probier mal:


echo "ibase=16; 31A" | bc

Peredur
18.07.05, 11:37
Hallo Peredur,

danke für den Tip.
Das ohne Null und in dezimal gilt für wenn ichs am Bootprompt angeben will. Habbich auch schon getestet. In der lilo.conf geht's aber in Hex und mit dem "x".

Sonst noch wer ne idee, wieso mein LILO oder meine Graka meint, der Modus wäre nicht OK?


hi martin,

habe gerade suse 9.3 installiert und es ebenfals versucht.
es geht bei mir; ich habe die ati 9500 pro.
(sowohl vga=795 oder als vga=0x31B) es dürfte egal sein ob 16 oder 24 bit.

nur so eine vermutung, kann es sein das die neuen ati Xx00 serien dies nicht unterstützen bzw. damit nicht zurecht kommen?

gruss
peredur

Nixdoof
18.07.05, 15:20
Hallöle

Gib mal als Root folgenden Befehl ein:

hwinfo --framebuffer

Der Befehl listet Die alle von Deiner Grafikkarte unterstuetztn Modi auf.


GRUSS

LINUS

smartysmart34
18.07.05, 19:29
Hallo zusammen,

vielen Dank für die hilfreichen Tips.
es sieht so aus:
- lilo.conf

# Modified by YaST2. Last modification on Do Jun 30 08:53:23 CEST 2005

menu-scheme = Wb:kw:Wb:Wb
default = Linux
timeout = 80
message = /boot/message
lba32
read-only
prompt
boot = /dev/sda
change-rules
reset


image = /boot/vmlinuz
###Don't change this comment - YaST2 identifier: Original name: linux###
label = Linux
initrd = /boot/initrd
root = /dev/sda6
append = "resume=/dev/sda8 selinux=0 splash=silent vmalloc=128M"
# vga = ask
vga = 0x317


other = /dev/sda2
###Don't change this comment - YaST2 identifier: Original name: windows###
label = Windows


image = /boot/vmlinuz
###Don't change this comment - YaST2 identifier: Original name: failsafe###
label = Failsafe
initrd = /boot/initrd
root = /dev/sda6
append = "ide=nodma apm=off acpi=off vga=normal noresume selinux=0 barrier=off nosmp noapic maxcpus=0 3"


- Ausgabe hwinfo --framebuffer:

02: None 00.0: 11001 VESA Framebuffer
[Created at bios.417]
Unique ID: rdCR.TIM8629z9tC
Hardware Class: framebuffer
Model: "ATI RV380 V380"
Vendor: "ATI Technologies Inc."
Device: "V380"
SubVendor: "ATI RV380"
SubDevice:
Revision: "01.00"
Memory Size: 16 MB
Memory Range: 0xd0000000-0xd0ffffff (rw)
Mode 0x0382: 320x200 (+320), 8 bits
Mode 0x030d: 320x200 (+640), 15 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+960), 24 bits
Mode 0x0320: 320x200 (+1280), 32 bits
Mode 0x0392: 320x240 (+320), 8 bits
Mode 0x0393: 320x240 (+640), 15 bits
Mode 0x0394: 320x240 (+640), 16 bits
Mode 0x0395: 320x240 (+960), 24 bits
Mode 0x0396: 320x240 (+1280), 32 bits
Mode 0x03a2: 400x300 (+400), 8 bits
Mode 0x03a3: 400x300 (+800), 15 bits
Mode 0x03a4: 400x300 (+800), 16 bits
Mode 0x03a5: 400x300 (+1200), 24 bits
Mode 0x03a6: 400x300 (+1600), 32 bits
Mode 0x03b2: 512x384 (+512), 8 bits
Mode 0x03b3: 512x384 (+1024), 15 bits
Mode 0x03b4: 512x384 (+1024), 16 bits
Mode 0x03b5: 512x384 (+1536), 24 bits
Mode 0x03b6: 512x384 (+2048), 32 bits
Mode 0x03c2: 640x350 (+640), 8 bits
Mode 0x03c3: 640x350 (+1280), 15 bits
Mode 0x03c4: 640x350 (+1280), 16 bits
Mode 0x03c5: 640x350 (+1920), 24 bits
Mode 0x03c6: 640x350 (+2560), 32 bits
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0383: 640x400 (+1280), 15 bits
Mode 0x0384: 640x400 (+1280), 16 bits
Mode 0x0385: 640x400 (+1920), 24 bits
Mode 0x0386: 640x400 (+2560), 32 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0310: 640x480 (+1280), 15 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+1920), 24 bits
Mode 0x0321: 640x480 (+2560), 32 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0313: 800x600 (+1600), 15 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+2400), 24 bits
Mode 0x0322: 800x600 (+3200), 32 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0316: 1024x768 (+2048), 15 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+3072), 24 bits
Mode 0x0323: 1024x768 (+4096), 32 bits
Config Status: cfg=no, avail=yes, need=no, active=unknown



Der Hinweis war also offensichtlich der Richtige. Doofe Frage meinerseits:
Im grafischen Modus unter KDE kann die Karte auch 1280*1024 mit 24 Bit (ganz sicher... habe ich gerade eingestellt). Wieso geht das dann nicht als Famebuffer-Modus?
Kann mir da jemand mal weiterhelfen? Ich versteh's nämlich gerade nicht :-(

Danke und Gruß,
Martin

pitu
18.07.05, 20:55
framebuffer geht uebers BIOS der Grafikkarte, in deinem Fall wird wohl ein Treiber den Chip ansprechen, du kannst das so sehen:

Der Treiber im System sowie das BIOS auf der Karte sind "Treiber" und es kommt darauf an, was der jeweilige Treiber unterstützt