BeBits Information Developer Central Submit Application Your Account Web Links Contact Us
BeBits
Please support our sponsors!
cpu_fix
contact publisher
home page
screenshots
version history
other reviews
send updates for this application
talkback
52 comments
 Published by Michael Lotz
   Click here for more information about this publisher...
 Date Posted:   October 25th, 2004
 Last Updated:   December 1st, 2005
 License: See Below
 Downloads: 4,700 total; 6 recently
 Page Views: 64,465 total
 User Rating: Give this application a rating
9.42 / 10, with 31 votes
 Jump to the Downloads section
About cpu_fix:
This is the cpu_fix driver that fixes timing and CPU reporting issues under BeOS R5 with CPUs faster than 2.1GHz. The driver applies to both, plain R5 and BONE kernels. There is also a version for Dano based systems like Zeta.

What can it do for me?

The driver can fix problems with clocks / videos / sounds running too fast. It can also help you if audio is playing fine, but the ends of songs are choped off. This is a problem mainly seen with P4 processors.
The reporting fix does patch the kernel so it reports the correct CPU speed to applications. This is useful on CPUs faster than 2.1GHz (P4s / Athlons) and fixes the display of negative CPU speeds. This also resolves the problem with the Media-Preference panel, where you can't select real-time audio and video because it thinks the system is running below 200MHz for example.

What version of this driver do I need?

If you run BeOS R5 (with or without BONE) you will need the normal "Binary for R5" version below.
For users of Dano based systems like Dano itself, Zeta and maybe PhOS, take the variation titled "Binary for Dano".

How did this driver get made?

This driver is based on two main sources:
The idea was derived from vwware_timer by François Revol.
The CPU detection routine was taken from the Haiku tree.

For the reporting patch, I was just diving into the kernel to identify the get_cpu_info function as being the one where the reporting error comes from. Then I had to refresh my knowledge of assembler to find an option to correct this error. It was a bit time consuming, but here you have the result: a mostly working and somewhat kernel independant patch.

How does it work?

If enabled, the driver fixes the cv_factor of the kernel by generating a correct one with the CPU detection function of the Haiku/NewOS kernel. The kernel variable holding the cv_factor is simply overwritten with the new value.
If the reporting patch is enabled, the driver patchs the get_cpu_info function by overwriting it with a version that handles the 64bit CPU speed value correctly.

Is it risky to install the driver?

The whole patching actually takes place at runtime and not like with other kernel patches directly on the binary. The kernel_intel file is not modified at all.
When the driver is loaded by the kernel, it simply overwrites some bytes in the RAM where the kernel is loaded.
That means it is not really risky to install this driver. If your system hangs or crashes, you can just select "Disable user add-ons" in the "Fail safe options" at the bootmenu (hit space as soon as you see the BeOS booting to get there).

How can I get rid of the driver?

If your system does not boot anymore, see the paragraph above on how to boot into safemode.
To uninstall the driver you can just delete the cpu_fix file in "/boot/home/config/add-ons/kernel/drivers/dev/disk" and reboot.

Binary for R5
version 1.4 - BSD/MIT 
   
Variation description:
This is the binary distribution for BeOS R5. This is a SoftwareValet package for plain R5 and BONE kernels.

Details about this version:
Additionally fixes the system_time_base to avoid jumps in time.

 
Intel Version - requires R5   (6 KB) 1,323 downloads
 
 
Dev LinkLink reliability rating  [rating: 10]    Download this app  Report bad link mlotz.ch
 
Add Additional Location
  Source Available
Binary for Dano
version 1.4 Dano - BSD/MIT 
   
Variation description:
This package is for Dano based systems like Dano, Zeta and maybe PhOS.

Details about this version:
Additionally fixes the system_time_base to avoid jumps in time.

 
Intel Version - requires Zeta   (5 KB) 548 downloads
 
 
Dev LinkLink reliability rating  [rating: 10]    Download this app  Report bad link mlotz.ch
 
Add Additional Location
  Source Available
Source
version 1.4 - BSD/MIT 
   
Variation description:
This is the source distribution of the cpu_fix driver. The sources are under the MIT. Feel free to do whatever you want with them.

Details about this version:
These are the current sources including both the R5 and Dano version of the driver.

 
Intel Version - requires R5   (11 KB) 373 downloads
 
 
Dev LinkLink reliability rating  [rating: 10]    Download this app  Report bad link mlotz.ch
 
Add Additional Location
  Source Included
 
Recent Talkback comments:
  • Where to Download - thym
  • Fixes my own vlc issues - MYOB
  • problem with vlc - whaka

    Post your own comment to the Talkback for this application!
    Report a problem with the listing for this application!
  • Like this app? Have questions or comments?
    Why not tell the author? Use the "e-mail publisher" link to get in touch with the publisher; they usually love getting feedback.
     
    BeGroovy
      Recent Downloads  -  # 118
    Total Downloads  -  # 578
    Total Views  -  # 99
    User Ratings  -  # 3
      Misc. Drivers
    1.  QEMU - 9.62
    2.  ScummVM - 9.50
    3.  cpu_fix - 9.42
    4.  Jukebox - 9.36
    5.  Haiku AGP busm... - 9.35
    6.  vim6 - 9.31
    7.  Transmission - 9.27
    8.  Beezer - 9.25
    9.  BeeF - 9.25
    10.  HandBrake - 9.24
    1.  Ati Radeon Grap... - 375
    2.  BeOS 5 Personal... - 251
    3.  Realtek RTL8139... - 205
    4.  ATI Rage 128 Pr... - 159
    5.  USB Serial driver - 125
    6.  DjVu Viewer - 111
    7.  Ensoniq AudioPC... - 102
    8.  Firefox - 94
    9.  Broadcom 440x 10... - 86
    10.  S3 Trio 64 v2 DX... - 85
    You are not logged in.
     Login or create an account...
    Hosted by NetConnect

     
    Unless otherwise noted, everything is copyright © 1999-2002 Fifth Ace Productions, LLC. All Rights Reserved.
    For more legal trivia, take a gander at our
    Legal Stuff page and our Privacy Statement.
    Fifth Ace Productions