BeBits Information Developer Central Submit Application Your Account Web Links Contact Us
BeBits
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 2nd, 2005
 License: See Below
 Downloads: 5,067 total; 201 recently
 Page Views: 80,286 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,510 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) 621 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) 438 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.
     
    The Green Board
      Recent Downloads  -  # 290
    Total Downloads  -  # 564
    Total Views  -  # 86
    User Ratings  -  # 3
      Misc. Drivers
    1.  BePodder - 9.80
    2.  QEMU - 9.68
    3.  ScummVM - 9.57
    4.  cpu_fix - 9.42
    5.  Jukebox - 9.40
    6.  libdl.so - 9.40
    7.  Haiku AGP busm... - 9.35
    8.  vim6 - 9.31
    9.  Beezer - 9.26
    10.  HandBrake - 9.25
    1.  BeOS 5 Perso... - 13,503
    2.  Realtek RTL8... - 13,056
    3.  Ati Radeon G... - 12,456
    4.  Ensoniq Audio... - 7,509
    5.  ATI Rage 128... - 7,415
    6.  USB Joystick... - 5,613
    7.  Broadcom 440x... - 5,383
    8.  USB Serial dr... - 4,698
    9.  S3 Trio 64 v2... - 4,675
    10.  Intel Extreme... - 4,445
    You are not logged in.
     Login

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