Free BSD X11 und Virtual PC

goofy864

Active Member
Nachdem ich alles schön eingerichtet habe, bleibt da nur das Problem mit Virtual PC. Ich habe einen Bildschirm mit der optimalen Auflösung 1680x1052. Wenn ich XP unter VPC starte, kann man da eine Auflösung von 1152x864 mit 32bit bei 75Hz einstellen, die in der Fensterdarstellung optimal für den Bildschirm ist. Diese hätte ich gern auch bei Free BSD gehabt. Die emulierte Trio S3-Grafikkarte kann das also. In Free BSD habe ich allerdings bisher nur 1024x768 oder 1600x1200 erreichen können, wobei letztere zu groß ist (Scrollbalken) und im Vollbildmodus wird das Bild von meinen 15:10-Monitor verzerrt.

Nun meine Frage: Hat jemand Erfahrungen mit dieser Konstellation und ist es jemandem schon mal gelungen, o.g. Auflösung oder eine ähnliche in Xorg.conf einzutragen und wie müssen die ModeLines aussehen?
 
Dann stellt er 1600x1200 ein. Wenn ich 1024x768 eintrage, startet er X mit 1024x768. Das ist aber zu klein. Ich habe spaßeshalber mal mehrere Auflösungen eingetragen. Er ist dann mit 1600x1200 (zu groß) gestartet. Im KDE konnte ich dann bei Auflösungen aus einer Liste auswählen. Wenn ich 1152x864 eingestellt habe, hat er mir nur 54Hz angeboten. Es müßten aber 75Hz sein, damit es funktioniert. Beim Drüken auf Apply hat er dann das Fenster korrekt verkleinert, darin war aber nur ein wirres, buntes Muster zu sehen. Anschließend ist dann VPC abgestürzt. Offensichtlich muß man die Modi korrekt eingeben und auch HorizSync und Vertikal korrekt eingeben. Bei VPC ist das aber ein Problem, da dort alles emuliert wird, sowohl die Graka, als auch der Monitor. FBSD verwendet den VESA-Treiber.

In /var/log/xorg.0.log stehen auch keine Fehlermeldungen oder irgendwelche auswertbaren Informationen, mit denen man die ModeLine korrekt erstellen kann. Bisher habe ich keine ModeLine eingetragen.
 
Das war etwas kompliziert aber ich habe folgendes herausgefunden:

VPC emuliert einen sogenannten Standardmonitor. In der Registry habe ich mehrere Einträge gefunden. Bei der Benennung steht dort (Standardmonitor). Als zugehörige .inf-Datei ist Monitor.inf angegeben. Das ist die allgemeine Infodatei, die sich im Windows-Ordner jeder XP-Installation befindet und einen Haufen verschiedener Standardmonitore enthält. Auch Modezeilen sind dort angegeben, jede Menge, aber für meine Zwecke nicht brauchbar.

Die emulierte Grafikkarte Trio S3 unterstützt nur eine einzige vertikale Ablenkungsfrequenz, nämlich genau 75Hz, nicht mehr und nicht weniger. Aus diesem Grund habe ich probehalber in der Sektion Monitor folgendes eingetragen:

HorizSync 55-120
VertRefresh 75

In der Subsektion Display habe ich dann mehrere gewünschte Auflösungen eingetragen:

Modes "1152x864" "1280x1024" "1024x768"

KDM/KDE startete dann aber wieder mit "1600x1200" und in den Displayeinstellungen wurden dann die Auflösungen

1600x1200
1280x1024
1024x768

angezeigt, nicht aber "1152x864" und das ganze mit 76Hz anstelle 75Hz. Beim Umschalten in KDE stürzt er wieder ab. Vielleicht muß man anstelle 75 bei Vertrefresh 75.00 eingeben? Aber auch eine Änderung der Modes-Zeile in

Modes "1152x864" # "1280x1024" "1024x768"

führt nur zur Anzeige der drei oben angegebenen Auflösungen mit 76Hz bei 1600x1200. Folgender Eintrag in Xorg.0.log läßt vielleicht ahnen, warum:

...
(II) Module int10: vendor="X.Org Foundation"
compiled for 1.4.0, module version = 1.0.0
ABI class: X.Org Video Driver, version 2.0
(II) VESA(0): initializing int10
(WW) VESA(0): Bad V_BIOS checksum
(II) VESA(0): Primary V_BIOS segment is: 0xc000
(II) VESA(0): VESA BIOS detected
(II) VESA(0): VESA VBE Version 2.0
(II) VESA(0): VESA VBE Total Mem: 4096 kB
(II) VESA(0): VESA VBE OEM: IBM SVGA BIOS, (C) 1993 International Business Machines
(II) VESA(0): VESA VBE OEM Software Rev: 0.0
(II) VESA(0): Creating default Display subsection in Screen section
"Screen0" for depth/fbbpp 16/16
(==) VESA(0): Depth 16, (--) framebuffer bpp 16
(==) VESA(0): RGB weight 565
(==) VESA(0): Default visual is TrueColor
(==) VESA(0): Using gamma correction (1.0, 1.0, 1.0)
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"(II) Module "ddc" already built-in
(II) VESA(0): VESA VBE DDC not supported
(II) VESA(0): Searching for matching VESA mode(s):
Mode: 100 (640x400)
... es werden alle VESA-Modi aufgelistet ...

(II) VESA(0): Total Memory: 64 64KB banks (4096kB)
(II) VESA(0): Monitor0: Using hsync range of 55.00-120.00 kHz
(II) VESA(0): Monitor0: Using vrefresh value of 75.00 Hz
(WW) VESA(0): Unable to estimate virtual size
(--) VESA(0): Virtual size is 1600x1200 (pitch 1600)
(**) VESA(0): *Built-in mode "1600x1200"
(**) VESA(0): *Built-in mode "1280x1024"
(**) VESA(0): *Built-in mode "1024x768"
(==) VESA(0): DPI set to (75, 75)
(II) VESA(0): Attempting to use 75Hz refresh for mode "1600x1200" (122)
(II) VESA(0): Attempting to use 75Hz refresh for mode "1280x1024" (11a)
(II) VESA(0): Attempting to use 75Hz refresh for mode "1024x768" (117)
(**) VESA(0): Using "Shadow Framebuffer"
(II) Loading sub module "shadow"
(II) LoadModule: "shadow"
(II) Loading /usr/local/lib/xorg/modules//libshadow.so
(II) Module shadow: vendor="X.Org Foundation"
compiled for 1.4.0, module version = 1.1.0
ABI class: X.Org ANSI C Emulation, version 0.3
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/local/lib/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
compiled for 1.4.0, module version = 1.0.0
ABI class: X.Org ANSI C Emulation, version 0.3
(II) do I need RAC? No, I don't.
(II) resource ranges after preInit:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MXE(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX
[4] -1 0 0xfebff000 - 0xfebfffff (0x1000) MXE
[5] -1 0 0xf8000000 - 0xfbffffff (0x4000000) MX(B)
[6] 0 0 0x000a0000 - 0x000affff (0x10000) MS
[7] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS
[8] 0 0 0x000b8000 - 0x000bffff (0x8000) MS
[9] -1 0 0x0000ffff - 0x0000ffff (0x1) IX
[10] -1 0 0x00000000 - 0x000000ff (0x100) IX
[11] -1 0 0x0000ec00 - 0x0000ecff (0x100) IXE
[12] -1 0 0x0000ffa0 - 0x0000ffbf (0x20) IXE
[13] 0 0 0x000003b0 - 0x000003bb (0xc) IS
[14] 0 0 0x000003c0 - 0x000003df (0x20) IS
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Reloading /usr/local/lib/xorg/modules//libint10.so
(II) VESA(0): initializing int10
(WW) VESA(0): Bad V_BIOS checksum
... usw. ...

Was heißt das?
 
Was dein Auflösungsproblem angeht fällt mir momentan nichts mehr zu sein, sorry.

Aber muss es Virtual PC sein?
Probiere doch mal Suns VirtualBox aus,
vielleicht klappt es dort (nacht Installation der GuestAdditions) besser.
Du kannst deine .vdh Festplattenimages auch ins VirtualBox Format konvertieren:

vboxmanage convertdd image.vhd image.vdi
 
Gibt es da auch Guest additions für BSD? Bei VPC gibt es nämlich keine. Möglicherweise liegt es daran.
 
Ob es Guest Additions gibt kann ich nicht sicher sagen,
aber bei der Erstellung einer neuen Virtual Machine kann ich zwischen Free- Net- und OpenBSD wählen.
Also denke ich schon, dass es dafür GuestAdditions gibt.
 
Hurra, ich habe 1280x1024 eingestellt bekommen. In der xorg.conf habe ich zwar 1600x1024 eingetragen, macht aber nichts. Ist schon mal ein Schritt weiter und wenn die blöde Menüleiste von VPC oben nicht wäre, würde der Desktop sogar komplett auf den Bildschirm passen. Einstellungen:

...
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Standardmonitor"
HorizSync 80-82
VertRefresh 74-76
UseModes "Modes75Hz"
EndSection

Section "Modes"
Identifier "Modes75Hz"
Modeline "1600x1024x75" 193.68 1600 1632 2360 2392 1024 1043 1056 1076
EndSection
...
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "ShadowFB" # [<bool>]
#Option "DefaultRefresh" # [<bool>]
#Option "ModeSetClearScreen" # [<bool>]
Identifier "Card0"
Driver "vesa"
VendorName "S3 Inc."
BoardName "86c764/765 [Trio32/64/64V+]"
BusID "PCI:0:8:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 32
Modes "1600x1024x75"
EndSubSection
EndSection

Vielleicht sollte ich DefaultRefresh aktivieren oder eine andere Treiberoption? Das ganze läuft auch nicht mit 75, sondern mit 75,25Hz. Der Moderechner rundet immer auf.
 
Zurück
Oben