packaging day is today
The first release of the ATI RadeonHD driver is out!
Well, we did it! - We have just released xf86-video-radeonhd-1.0.0.
Sources can be found here.
More information can be found on the official radeonhd wiki.
The RadeonHD developers made the source code available to the public on September 18th (CET).
Since then a lot of people have picked up the code from the source code repository built and tested it. Some even packaged it for several popular Linux distributions and made those packages available.
A community of supporters, testers and developers have assembled around this driver. Various people have submitted code. Others are providing valuable testing feedback.
For graphics hardware this is probably needed more than for any other sort of hardware as graphics cards are shipped by a number of vendors which all provide their unique set of features to distinguish themselves from their competitors.
This release could have been done some weeks ago, but we were waiting to get feedback from users to fix problems and issues.
No driver will ever be completely free of issues and bugs of course but at least we could fix a number of things and make more users happy.
This driver supports:
- Full mode setting driver for ATI Radeon R5xx and R6xx capable of driving multiple monitors.
- Full RandR 1.2 support (with early RandR 1.3 property support).
- Full libpciaccess support.
- Supported subsystem:
- Outputs: DVI-A, DVI-D, DVI-I, VGA.
- Hardware cursor.
- I2C for DDC.
- Shadow framebuffer.
- AtomBIOS support for initialization, data tables.
- Backward compatibility to at least X.Org R6.9.
Also a special thank you goes to Hans Ulrich Niedermann (ndim) for thoroughly taking over build environment :)
Now there is some time to answer some questions that have been asked several times:
Why do we do a separate driver?
We have been asked by many people why we have created a separate module instead of extending the existing driver
for Radeon chipsets in the ATI driver for X.Org. There were several reasons:
- Starting afresh gives the opportunity to cleanly. The Radeon driver has largely been rewritten for RandR 1.2 support but it supports a long list of chipset generations of which the earlier ones have not much in common with the latest one.
There will always be some overlap in subsystems between chipset generations but one should think twice to use this argument to add more and more generations of chipsets to the same driver module. - The step from R4xx to R5xx provided a good opportunity to start with a new driver module:
The mode setting interface has changed with R5xx hardware compared to earlier hardware. As mentioned above the video overlay engine of earlier chipset generations is gone.
The 2D and 3D engines are pretty much identical to earlier hardware. However 3D is only relevant to the extent as it is used for 2D acceleration in the X.Org driver anyway.
Core components of the code for 2D acceleration could well be shared between the two drivers if this is desirable.
- Libpciaccess should offer support to automatically identify and load the correct driver module using the PCI vendor and device IDs from the drivers - pretty much as done already in the kernel. Therefore having one driver module per hardware vendor to simplify configuration for the user is an argument that becomes pretty much irrelevant in the near future.
I don't think we will be opposed to put the RadeonHD driver under a common umbrella with the other drivers for ATI hardware.
There has been a wrapper that probes for the hardware and loads the appropriate module which may be interesting to use if libpciaccess doesn't perform this job already. This loader module needs some serious cleanup before though.
This mainly depends on the availability of documentation. ATI has made a tremendous job to prepare the documentation in a way that it can be released to the community without any strings attached (read no NDA required).
However this effort was driven largely by a single person at ATI - John Bridgman - who tirelessly worked to make this
initial release happen.
ATI has hired Alex Deucher - one of the leading developers of the free radeon driver - who will help to improve the information flow between ATI and he free software community.
We expect that ATI will release more information on hardware soon and the after processes for this have been fully established we will see documentation being released at a faster pace.
Here are some features people have been asking for:
- 2D acceleration (XAA/EXA). For R5xx this should be rather easy to implement as it is rather similar to earlier chipset generations and is actually on our TODO list.
XAA will be required for backward compatibility. At least until the very recent Xserver releases EXA still had issues so it was not enabled by default. - 3D support (DRI/DRM). Here again R5xx is not much different from earlier Radeon chipset generations thus support for this should be easy to do.
This is not so much the concern of the X.Org driver as this is only involved in subsystem initialization. - Video overlays
Also video hardware overlay support as known in earlier hardware does not exist any more. In fact the video scaler is not available any more, only overlay support and some limited color space conversion is still available where the latter is rather irrelevant as these operations can be performed by modern CPUs at almost no cost.
Full video overlay support requires some 3D support to perform the scaling of the video to the size of the window. - TV Output.
This is actually something what is on our todo list. - Power management.
This will require some more documentation also.
We are making extensive use of AtomBIOS data tables to obtain information on hardware details which are card specific. This has been very useful however we have already come across data tables which contained data which we believe does not correctly reflect the hardware situation on the card.
We use AtomBIOS code tables to initialize uninitialized hardware on secondary cards which are not POSTed at boot time.
For most hardware subsystem we are programming the hardware directly instead of using AtomBIOS code tables after having done a thorough analysis of the code tables involved.
- It is claimed that AtomBIOS code will provide support for new generations of hardware without the need to adapt the driver. This is true to some extent - however new generations of hardware may require an extension to the API of the table so the driver will still need to be fixed.
Furthermore we have found several cases where the API of the AtomBIOS call tables has changed between different BIOS generations in a way not reflected in the header. - We have found cases where code in the call tables contained bugs. We assume that AtomBIOS code has been tested to the extent the ATI Catalyst driver uses it.
- Several call tables are not sufficiently atomic. Thus subsystems that should be treated independently cannot be handled this way.
For instance SetPixelClock which programs the PLL parameters to the pixel clock also calls EnableCRTC. This functionality should clearly be left to the component handling the CRTC subsystem. - AtomBIOS does not provide save/restore functionality. Since it is unknown which registers are touched by an AtomBIOS table it is hard to save and restore the text mode.
- Using AtomBIOS will probably work in the majority of cases but numerous users might run into problems which are hard to control as control over a released BIOS is very limited.
Thus we expect that using AtomBIOS - although very compelling from a distance - may lead into a workaround nightmare.
Strigi gains FAM support
Last Monday I submitted lot of changes into Strigi’s trunk. I’ve heavily refactored some classes in order to obtain a more flexible file system notification infrastructure. Thanks to this work now it will be easier to add support for new file system notification facilities. For example, in order to add File Alteration Monitor (aka FAM) support I had to write only 576 loc (including license and documentation stuff).
So, by now, Strigi supports the following file system monitoring facilities:
- polling: used when nothing else is available
- inotify: available only on linux platform with kernel >= 2.6.13
- FAM: available on most of the *nix systems, I recommend to use Gamin instead of FAM (most linux distributions already use it by default)
Mouse puppet
Samba and Sambuca
Updated git-svn howto
Maybe someone has already experimented this situation:
You’re hacking on your local working copy and you want to keep it up-to-date but, since you have some uncommitted changes, git-svn rebase cannot be executed
I was just thinking to write something about_ _this problem when I read a post on digikam blog.
In this post Marcel proposes a workaround using a bash function. In fact there’s a “cleaner” solution, if you’re interested read the last part of my git-svn howto.
Blue ears
Do you want an external storage?
Last days I saw a lot of warnings in /var/log/messages, that my hard disk will die soon, thanks smartd. I used this disk only as a storage, to backup my work, my notebooks, movie, music, .... I don't want to lose all these things, so, I decided that is the time to buy a new hard disk. There are many options here, I can buy an internal hdd and put it in my desktop, buy a dedicated NAS, for home use, use a old computer and install FreeNAS on it, or just take an USB external hard disk. I would stay away from the NAS the reason being the cost, and flexibility reasons. I am looking for an external storage, and I am not interested in sharing files off computers.
The best option would be to take two external USB drives, which are simpler, so they are generally less expensive, much less expensive than NASs. I said two drives, because every hard drive will fail and I will need one as a backup. It's cheaper to buy two external drives and using one as a backup than purchasing a NAS and setting up the RAID. Also after, you still don't have a stand alone backup.
Finally, I decided to buy a Buffalo, DriveStation TurboUSB.

The drive enclosure contains a 500GB, SATA disk, 7200 RPM. More details about this nice external drive here. It is quiet and uses a heat sink for heat dissipation, but also has a connector to use an optional fan that Buffalo sells as well. This drive contains Buffalo's TurboUSB technology, which seems to be a software method to allow increased data transfer speeds of up to 37% faster than those of standard USB hard drives. It comes with FAT32 preformated file system, ready to be used:
*vioan:\~ \# fdisk -l /dev/sdc*
*Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 \* 512 = 8225280 bytes
Disk identifier: 0x00000000*
*Device Boot Start End Blocks Id System
/dev/sdc1 1 60801 488384001 c W95 FAT32 (LBA)*
Also, on cd, there is Memeo™ AutoBackup software (Download Memeo™ AutoBackup), and the disk comes with SecureLockWare™ technology. I was surprised to see in the box also an plug adapter for UK (they have three pins, not two as in germany).
Because, I don't have many files larger than 4G, and I would like to use this external hdd also on unix/linux machines, not only on windows, I decided to keep fat32 as file system. Finally, I copied all my files from the old hard drive on the new external drive. For moment my files are safe. I am planning to buy a second one, in the near future, but I am still not sure when :). This was my story, I am waiting for your comments, and, also please fell free to share it.
packaging day
People with all levels of experience are welcome, although you'll probably benefit most if you have some prior experience compiling software by hand (eg, the usual ./configure; make; make install steps).
More information is available on the wiki.
10 mandamentos para novos usuários de linux
1. Não logarás como root.
2. Usarás o gerenciador de pacotes sempre que possível.
3. Serás parte de uma comunidade.
4. Lerás a documentação e manuais.
5. Usarás o sistema de suporte.
6. Buscarás.
7. Explorarás.
8. Usarás a linha de comando.
9. Não tentarás recriar o Windows.
10. Não se darás por vencido.
1. Não logarás como root.
Use “sudo” o “su -” para as tarefas de administração do sistema.
2. Usarás o gerenciador de pacotes sempre que possível.
Às vezes, a instalação a partir do fonte não pode ser evitada, mas quando puder, use o gerenciador de pacotes da sua distro para instalar softwares, também poderás usá-lo para atualizá-lo e removê-lo. Este é um dos pontos fortes do Linux.
3. Serás parte de uma comunidade.
Dê livremente o que recebeu gratuitamente. Ofereça ajuda e conselhos em tudo o que puder.
4. Lerás a documentação e manuais.
Sempre leia a documentação. As pessoas que escrevem softwares tentam antecipar as suas dúvidas, respondendo-as antes que pergunte.
5. Usarás o sistema de suporte.
Mudar para o Linux pode ser difícil. Pode ser frustrante, mas há pessoas que podem e querem te ajudar. Deixe-os fazer o seu trabalho.
6. Buscarás.
Na maioria de dos casos, suas perguntas e dúvidas já foram respondidas. Tente buscar as respostas antes de perguntar à alguém.
7. Explorarás.
O Linux lhe abre um novo mundo de opções e possibilidades. Tente tudo o que puder.
8. Usarás a linha de comando.
Especialmente para configurações. Use a interface gráfica para que o seu sistema funcione perfeitamente, mas tente conhecer a opção também na linha de comando. Em alguns casos, a linha de comando é a única forma de usar algumas das tantas características avançadas do Linux.
9. Não tentarás recriar o Windows.
O Linux não tenta ser clone do Windows. É diferente. Aceite e aprecie as diferenças.
10. Não se darás por vencido.
Tente com diferentes distribuições até encontrar a que mais goste. Instale outras versões de vez em quando. Tente com diferentes programas que sirvam para um mesmo propósito antes de fazer sua escolha (amarok, xmms, beep, exaile para música; azureus, ktorrent, deluge para bittorrent). Se não gosta dos programas “de fábrica”, lembre-se que você quase sempre pode mudar para um mais adequado.
Lido aqui