BeBits Information Developer Central Submit Application Your Account Web Links Contact Us
 Go back to the via-cpu page
 Post a new Talkback comment!
framebuffer location and size
 By rudolfc - Posted on November 20, 2004 - 19:50:08   (#14815)
 Current version when comment was posted: 1.0

Glad you got results now! Although I had expected more speed improvement. But then again, I did not yet test a PCI card myself (only AGP tested yet). I can imagine however PCI gaining less than AGP because PCI has more limited throughput in theory already. (The more you get to the theoretical limit, the harder it gets to squeeze more out of it).

About the location of the framebuffer (first number). Thomas Kurschel told me that the adress should be relative high, something above I think 0x80000000 he said it was. Lower adresses (for instance in the 0x30000000 range) are kernel memory adresses, and are fake. So if you find a way to let the Devices panel show a high number, then it's probably a valid one.

(In VESA mode you are given an illegal adress on purpose, so programs cannot reach the card. We think it's kind of a misplaced failsafe precaution Be built in.)

The second number is the size. While you can give a smaller number than the number actually displayed, I'd just give it the displayed number so you are sure the entire graphics RAM is cached with writecombining enabled. This way you are sure that the actual used part of the RAM (the visible screen and overlay buffers, and cursor bitmap) are fast to access. (Otherwise you'll get a lower gain on average, as some things will be speedup, while others aren't: depending on the location they occupy in the cardRAM.)

This second number you probably know a nice number for by heart: if you know your card has 64Mb RAM, then 0x04000000 is the right value.

Other examples:
128Mb == 0x08000000,
32Mb == 0x02000000,



I'll see if I can find a way to get the correct numbers onscreen, but if someone has a bright idea: just post it ;-)



Found the memory range, works fine :)
 By umccullough - Posted on November 20, 2004 - 18:40:17   (#14814)
 Current version when comment was posted: 1.0
Someone was nice enough to point me to the Exp/Dan0 SiS 630/730 driver which sort of worked for me (although the artifacts and screen corruption was so bad I ended up switching back to VESA mode)

In any case, it allowed me to find out what memory range to use when calling fastvid - and now it works under VESA mode.

throughput went from ~31mb/sec to ~45mb/sec once WC was enabled :)

thanks rudolph for your excellent work and devotion to better hardware support under BeOS!

The call I used, in case it helps anyone else was:

$ fastvid set 0xe0000000 0x8000000 1

This works on my ECS P6VEM3 board w/Via C3 Samuel 2 @ 800mhz (AKA Via C3 1.1 Giga Pro) which has a CPUID of $00001367

Finding Vesa frame buffer problem.
 By grimus - Posted on November 20, 2004 - 12:55:02   (#14810)
 Current version when comment was posted: 1.0
I also have a Via Samuel 2 @ 800Mhz which gives a throughput of 73M as standard with Vesa video. Would be very interested to see what improvement the mtrr drive can make but like umccullough I can not find the frame buffer address. ;-(

Rudolf can you help us please, we are relying on you........ no pressure. ;-)

Thanks for the great work on the driver, nice to see support for Via CPU's.

It seemed to work :)
 By umccullough - Posted on November 19, 2004 - 10:48:48   (#14802)
 Current version when comment was posted: 1.0
Using the Matrox card, I was able to get almost double the throughput using "throughput" - but I had to set the memory range manually as you specified in your example.

initial throughput was ~10mb/sec (yes, terrible, but it's an old card!) with the WC-enabled throughput of ~19mb/sec

The SiS 630/730 in VESA mode has a WC-disabled throughput of ~30mb/sec - now, if I could figure out what memory range to use... driver - hmm...
 By umccullough - Posted on November 19, 2004 - 10:31:05   (#14801)
 Current version when comment was posted: 1.0
Well, unless you know where I can find an SiS 630/730 driver for BeOS - I guess I'm stuck in VESA mode :(

To make things worse, this mobo doesn't have an AGP slot.. so my spare Voodoo 3, and my Radeon 9200 aren't going to help me either.

I do have a trusty old Matrox Millenium II 2mb card I can swap in real quick to test with - I'll see what I can do with that.

I'll post results in a bit.

manual settings
 By rudolfc - Posted on November 19, 2004 - 10:23:56   (#14800)
 Current version when comment was posted: 1.0

Thanks for posting the result the app gave: now I have another CPU-ID code!

Anyway, the driver checks for the string CentaurHauls only(hope I spell it right), if it finds that it is going to try to setyp MTRR.

(Intel CPU's for instance resturn 'GenuineIntel'.)

The app apparantly does not detect the right settings, that's why it fails on your system. For instance, this also happens when you test it *without* a graphicsdriver, so running in VESA mode for instance. (BeOS feeds the app and Devices panel false info *on purpose* then!!)

I've personally tested using the via driver during VESA mode: if you specify the correct settings manually, it *will* work, and so even *VESA* speeds up big-time.
(remind me to setup a VESA3 driver someday that does all these nice things :)

OK, doing it manually goes as follows (example)
fastvid set 0xa0000000 0x0400000 1
The first number argument is the hex starting location that the framebuffer occupies, the second number is it's size.
The third number means: setup using writecombining (you can also select other caching methods, but for our purposes these are not interesting).

OK, if your card has a driver installed, the 'Devices'panel gives out correct info. Find the VGA device, and look at memory resourses. The largest space mentioned there is probably the RAM you want!

IF you have no driver, it's more difficult. I think there is an option to start BeOS in a way this panel still feeds you the correct info, but I don't know how ATM (saw it once together with Thomas on BG I think).


OK: please retry!! (and post the results here...)

Thanks a lot..


 By umccullough - Posted on November 19, 2004 - 10:15:17   (#14799)
 Current version when comment was posted: 1.0
I meant P6VEM3

Did not work with my "Via C3 - 1.1 Giga Pro+"
 By umccullough - Posted on November 19, 2004 - 10:13:32   (#14798)
 Current version when comment was posted: 1.0
Note, the AMI Bios on this ECS P3VEM3 calls it a Via C3 - 1.1 Giga Pro+, but the documentation from ECS' website says it's a Via Samuel2 1Giga Pro.

see for the manual

I get the following:

$ fastvid set
cpu_info : $00001367
cpuID_info: CentaurHauls
Error: ioctl return 0xffffffff, errno=-2147483643 (Invalid argument)

Let me know if there's anything I can do to help.

other cpu's
 By rudolfc - Posted on November 17, 2004 - 12:54:36   (#14775)
 Current version when comment was posted: 1.0

Indeed, no need for CPU's that have the MTRR module in BeOS (there are three brands supported, Intel, AMD and another one).

For VIA there is none however. Nice BTW to enable/disable this on the fly: for instance you see CPU load drop to 50% of the previous when the chart demo app is running, which means you can double the FPS. :-)

The driver checks for a VIA CPU BTW, so running on another CPU won't do anything, except returning some info and an error.

Oh, and indeed I'd love to know the Dano/Zeta interface to those modules, so we can use that.. ;-)


Re: looncraz
 By BiPolar - Posted on November 17, 2004 - 07:17:02   (#14774)
 Current version when comment was posted: 1.0
No need to hammer-this-into-Athlons, as BeOS already sets MTRRs to WC for the memory used by the video card.

Of course, having an open source mtrr module (with support for intel/amd/cyrix, as Exp/Dano have) is not a bad thing :-)

I'll try this when i get a chance
 By umccullough - Posted on November 17, 2004 - 03:15:37   (#14772)
 Current version when comment was posted: 1.0
I actually have a Via C3-based machine (Via C3 GigaPro @ ~800mhz) - it doesn't have BeOS on it ATM, but I'll throw another HD in it and see what happens.

The machine is pretty slow, my PII-350 beats it at most benchmarks... certainly not a stellar processor.

 By looncraz - Posted on November 17, 2004 - 02:34:13   (#14770)
 Current version when comment was posted: 1.0
What kind of trouble could I get into if I forced this to occur on an Athlon ? :-)

--The loon

for whom?
 By rudolfc - Posted on November 16, 2004 - 23:15:58   (#14769)
 Current version when comment was posted: 1.0
That's OK. :-)

IT's for everyone using a VIA C3 CPU in their system. The brand of the card is unimportant, this app and driver activate a function inside this CPU that is normally done in another way. Which of course doesn't exist (yet?) for this CPU.

So: There are almost no graphicscards these days anymore that _don't_ profit from this feature, once enabled...

Hope this clarifies things a bit.



For who is this?
 By edmundf - Posted on November 16, 2004 - 22:06:50   (#14766)
 Current version when comment was posted: 1.0
Hi Rudolf,

Sorry to ask you but I don't even know for what card it is or anything.
Can you explain?

The Green Board
  Recent Downloads  -  # 657
Total Downloads  -  # 2,033
Total Views  -  # 1,132
User Ratings  -  N/A
  Misc. Drivers
Video Drivers
1.  BePodder - 9.73
2.  QEMU - 9.68
3.  ScummVM - 9.57
4.  VNCServer - 9.36
5.  Haiku AGP busm... - 9.35
6.  cpu_fix - 9.31
7.  vim6 - 9.31
8.  Beezer - 9.26
9.  HandBrake - 9.25
10.  BeeF - 9.25
1.  Ati Radeon G... - 46,029
2.  BeOS 5 Perso... - 41,077
3.  BePDF - 30,279
4.  Ensoniq Audi... - 22,070
5.  Realtek RTL8... - 21,323
6.  USB Joystick... - 18,141
7.  VLC Media Pl... - 17,668
8.  ATI Rage 128... - 14,155
9.  DOSBox - 13,414
10.  S3 Trio 64 v... - 11,775
You are not logged in.

Unless otherwise noted, everything is copyright © 1999-2013 Haikuware. All Rights Reserved.
For more legal trivia, take a gander at our
Legal Stuff page and our Privacy Statement.
Website Deisgn: NumbDesign