FreeBSD on a desktop

mingrone said:
I agree. I have two eight-year-old laptops, one an IBM R51 and the other an Asus M6N. Both work well, but the wireless driver (iwi) sometimes causes kernel panics and logging out of Xorg while using the radeon driver almost always freezes the systems. I asked about the status of the radeon driver on IRC and a developer told me that the driver was in a sad state with no maintainer. I'm curious why this is. Are these drivers difficult to develop compared to other OS components? Maybe it's the closed nature of the hardware manufacturers? All the BSDs and GNU/Linux use Xorg as a basis for a GUI, but it seems to have a higher proportion of problems than other pieces of software for Unix-like operating systems.

I'm probably the one that told you that the radeon driver on FreeBSD is in a sad state. I am not, however, a FreeBSD developer.

Nearly all the Xorg developers work exclusively on Linux. They made a decision recently to merge more of the code into the kernel DRM drivers. This was an unfortunate but sensible decision. Modern video cards no longer have a separate 2D unit, and all 2D rendering is done via the 3D engine. To make effective use of the 3D engine, and enable all the features, a video driver requires (among other things) a memory manager. This requires moving important functionality into the kernel but, of course, makes it harder to port that functionality to other operating systems, such as FreeBSD.

As for the closed nature of the hardware manufacturers... That doesn't really apply to radeons. While certainly not all possible documentation has been made available, there quite a few helpful specifications that they've released to the public, as long as large, usable chunks of code. All it takes is someone with the skills and desire to port the functionality to FreeBSD. This is being done for the intel driver, but no one has begun this work for the radeon driver.

Adam
 
adamk said:
I'm probably the one that told you that the radeon driver on FreeBSD is in a sad state. I am not, however, a FreeBSD developer.

OK. Thanks.

I've been following as much as I can of Konstantin Belousov's work on the Intel video drivers and like many other FreeBSD users, am looking forward to the results.
 
adamk said:
I'm probably the one that told you that the radeon driver on FreeBSD is in a sad state. I am not, however, a FreeBSD developer.

Nearly all the Xorg developers work exclusively on Linux. They made a decision recently to merge more of the code into the kernel DRM drivers. This was an unfortunate but sensible decision. Modern video cards no longer have a separate 2D unit, and all 2D rendering is done via the 3D engine. To make effective use of the 3D engine, and enable all the features, a video driver requires (among other things) a memory manager. This requires moving important functionality into the kernel but, of course, makes it harder to port that functionality to other operating systems, such as FreeBSD.

As for the closed nature of the hardware manufacturers... That doesn't really apply to radeons. While certainly not all possible documentation has been made available, there quite a few helpful specifications that they've released to the public, as long as large, usable chunks of code. All it takes is someone with the skills and desire to port the functionality to FreeBSD. This is being done for the intel driver, but no one has begun this work for the radeon driver.

Adam
So, seems Nvidia card is the only one we could worry less about on FreeBSD currently. I wonder how the Nvidia guys deal with so-called "memory manager" required by "3D engine". I think they won't try something like "kernel DRM" for license reason. :r
 
YZMSQ said:
So, seems Nvidia card is the only one we could worry less about on FreeBSD currently. I wonder how the Nvidia guys deal with so-called "memory manager" required by "3D engine". I think they won't try something like "kernel DRM" for license reason. :r

http://en.wikipedia.org/wiki/Mode-setting
This is from 2008, but interesting.

If you want something supported now, there are Radeon 4000-series cards and notebooks with Radeon 4350.
 
wblock said:
If you want something supported now, there are Radeon 4000-series cards and notebooks with Radeon 4350.
Well, however, the manpage of radeon in my box shows that the driver is able to serve more than 4000-series:

Code:
       R600        Radeon HD 2900
       RV610/RV630 Radeon HD 2400/2600
       RV620/RV635 Radeon HD 3450/3470
       RV670       Radeon HD 3850/3870
       RS780       Radeon HD 3100/3200/3300
       RS880       Radeon HD 4100/4200/4290
       RV710       Radeon HD 4350/4550
       RV730       Radeon HD 4650/4670
       RV770       Radeon HD 4850/4870
       CEDAR       Radeon HD 5450
       REDWOOD     Radeon HD 5550/5570/5670
       JUNIPER     Radeon HD 5750/5770
       CYPRESS     Radeon HD 5850/5870
       HEMLOCK     Radeon HD 5970
       PALM        Radeon HD 6310/6250
       BARTS       Radeon HD 6850/6870
       TURKS       Radeon HD 6570/6670
       CAICOS      Radeon HD 6450

Is it true on FreeBSD or it's just yet another linux-specific stuff? :p
 
It can drive HD6xxx GPUs only if KMS is available. And, yes, the nvidia drivers have a memory manager inside their kernel module.

And, finally, nvidia is not necessarily the safe choice. If the laptop has Optimus, and no BIOS option to disable the on-board intel, you are out of luck using the nvidia GPU.

Adam
 
adamk said:
It can drive HD6xxx GPUs only if KMS is available. And, yes, the nvidia drivers have a memory manager inside their kernel module.

And, finally, nvidia is not necessarily the safe choice. If the laptop has Optimus, and no BIOS option to disable the on-board intel, you are out of luck using the nvidia GPU.

Adam
Thank you. No matter how, seems Nvidia card is a better choice than ATI and Intel currently. We've to wait till KMS is done on FreeBSD to improve the performance of ATI card on FreeBSD. I have an ATI card now.:)
 
Back
Top