FAQ for X-CD-Roast 0.98alpha15

Updated: 29 October 2003

(Russian Version for 0.98alpha13 thanks to Anton Borisow)
(Belorussian translation (external link) thanks to Paul Bukhovko)

NEW: Also check out the X-CD-Roast manual for basic usage instructions.

Overview:


1. What is X-CD-Roast and who is working on it?

X-CD-Roast is a graphical user interface (GUI) for the command-line cdrtools. You can do anything X-CD-Roast does yourself using these tools - but it's nicer and easier with the frontend. The cdrtools contain "cdrecord" (does do the hard job supporting all the cdwriters and is doing the actual writing of CDs), "readcd" (reads data-tracks of CDs - its a portable replacement of "dd"), "mkisofs" (masters CD-/images from given file-trees on the harddisk) and "cdda2wav" (reads audio-tracks). Cdrecord, readcd and mkisofs are maintained by Joerg Schilling, cdda2wav by Heiko Eissfeldt and X-CD-Roast by me, Thomas Niederreiter.


2. Why doesn't X-CD-Roast find all of my hardware? (CD-Burners/CD-ROMs/DVD-Drives)

A common problem is that X-CD-Roast fails to detect your CD-Writer or any additional CD-ROM devices you might have. Current Linux distributions install by default a special mode for CD-Writers, but not for common CD-ROM drives. This results in that your Writer is useable, but your extra CD-ROM drive is not.
It fix that problem and to get all of your devices working, you have to install that "special" mode for all of them (Not just the CD-writer). That mode is called "scsi-emulation" and can be easily activated. SCSI-devices are fine by default and need no special handling. ATAPI/IDE, parallelport and USB devices need to installed via scsi-emulation.
A common way how to install scsi-emulation on Linux is described a few lines further down.

*** Please note the new direct ATAPI support on linux, as mentioned at the end of this section. It is different for 2.4.x and for 2.6.x kernels.

Please see section 2 of the CD-Writing-HOWTO how to configure your kernel on Linux. (a bit outdated!)

If you use not Linux but any other OS, you have to check the cdrecord documentation how to access your writer.

Note about configuring SCSI-emulation in Linux:

The trick are these two lines (Examples for two drives which are connected as master and slave on the secondary IDE controller):

Line for /etc/modules.conf

options ide-cd ignore='hdc hdd'
(This tells the IDE-driver to ignore the two devices you want to use within X-CD-Roast)

-

Line for /etc/lilo.conf (add anywhere before any "image=" lines)

append="hdc=ide-scsi hdd=ide-scsi" (Kernel 2.2.x and most 2.4.x)

or

append="hdc=scsi hdd=scsi" (Kernel 2.4.x only, if the above line does not work)

(And this tells the kernel to install scsi-emulation for two drives)

-

If you use grub instead of lilo you might try something like that:

Example line for /boot/grub/grub.conf or /etc/grub.conf

kernel /vmlinuz-2.2.19 ro root=/dev/hda6 hdc=ide-scsi hdd=ide-scsi (Kernel 2.2.x and most 2.4.x)

or

kernel /vmlinuz-2.4.7-10 ro root=/dev/hda6 hdc=scsi hdd=scsi (Kernel 2.4.x only, if the above line does not work)

You might have to load the scsi-emulation driver manually with the following command.
/sbin/insmod ide-scsi; /sbin/insmod sg
Now X-CD-Roast should detect your drives.

Please note that you want to change your /dev/cdrom link from /dev/hdc or /dev/hdd to /dev/sr0 or /dev/sr1, because the device files changed through the different driver.

Note:

Starting with version 0.98alpha12 there is experimental support for direct ATAPI support on linux kernels 2.4.x. Now X-CD-Roast should detect all your devices out-of-the-box on all current linux distributions. Please note, that the ATAPI interface does not support DMA transfers at all and therefore you might have high system load using it.
(Please see also question Nr. 28.)

For newer kernels 2.5.x or 2.6.x the automatic scanning might not work. If this is the case for you, you have to give all devices manually in the setup of X-CD-Roast, by clicking on "Manually add device" and entering the device name of your CD-Writer. (e.g. /dev/hdc or /dev/hdd)

Note 2: (NEW!)
On non-linux systems you have to enter often a manual device-ID to have your writer detected by cdrecord. See the documentation of cdrecord for details. Such an ID can be entered in the X-CD-Roast setup with the "Manually add device" button. Alternatively you can use the -f command line option. (see man page)


3. Why is there no more direct partition support in the new X-CD-Roast?

Partition support was introduced in X-CD-Roast about 4 years ago. At this time using a raw partition to save image-data was safer than going through a filesystem. Today the computers are so fast, that using a raw-partition is absolutly nonsense. The partitions were also a severe security risk, because if you set them wrong, you were able to delete your system. In version 0.98 of X-CD-Roast you can specify an unlimited number of directories where the image/audio-data can be stored. This is much more flexible and transparent. If you still have some extra partitions dedicated only for cdwriting with X-CD-Roast, you simple have to format them and mount them somewhere. Then you just specify this mountpoint in X-CD-Roast setup and you can use it like in former version of X-CD-Roast. (But you also can store any other data on it...X-CD-Roast will NOT delete any data it does not recognize)


4. My writer is not on the supported list! Is is supported anyway or when it will be supported?

Please look at the cdrecord-homepage for a current list of supported writers. But even when your writer is not on the list, chances are very high that it is supported. Newer writers (less than one year) usually are SCSI3/MMC conform, which means that they run anyway, even when their name is not on that list. All ATAPI-Writers are supported. Parallel-Writers are also all supported, when the parallel-port driver in the Linux kernel works. (See your Kernel-documentation)


5. I can't compile X-CD-Roast 0.98!

X-CD-Roast is by now very easy to compile. If you have problems you should read the README file which explains all step-by-step. However I recommend to install X-CD-Roast from source-RPMs. There it is almost impossible to do anything wrong. See the download section of www.xcdroast.org for instructions.


6. I think I found a bug! How do I report it to you?

If you think you found a bug you have first to find out if you can reproduce it reliably. Then run xcdroast in debug mode (-d 10 switch) and send me the output. Please describe what exactly you have done and what went wrong.

If you have no idea how to get the debug output into a file try this:

sh/ksh/bash: xcdroast -d 10 2>/tmp/debugoutput.txt

csh/tcsh: xcdroast -d 10 >& /tmp/debugoutput.txt


7. My language is not supported yet! Can I do the translation for you?

I am looking for people who volunteer to translate X-CD-Roast.
Starting with version 0.98alpha11 X-CD-Roast uses gettext as translation-engine. Please refer to the
TRANSLATION.HOWTO included with X-CD-Roast for more details.

A list of the current translation status can be found here.

Big thanks to all who sent me already translations!


8. When will you release the final version?

Good question. I really do not know. I have plenty of other things to do, but I try hard to make any release as quick as possible. There will be a lot of test versions before the final release which will be somewhere in the end of 2003.


9. The CDDB-lookup does not work! Why?

Starting with version 0.98alpha11 I support CDDB via HTTP and proxies. 0.98alpha12 even supports proxy-authentication. To use that feature you simply enter your proxy-server in the format "user:password@hostname" in the X-CD-Roast setup. Please send debug output if you still have problems.


10. Will there be multisession and bootable CD support?

Version 0.98alpha10 added full multisession support and with version 0.98alpha11 bootable CD creation got much simpler.


11. You say X-CD-Roast 0.98 will not need root or suid-bit? How is this possible? (Non-root-mode?)

Earlier version of X-CD-Roast needed root permissions to access the partition stuff. But because I've thrown this out there is no reason for root in the GUI. This is much safer and also disabled the need for a non-root mode. X-CD-Roast is automatically safe to be run by any user. This is possible because only the helper application will get suid-root to get access to the scsi-hardware. The tools itself will drop their root permissions as fast as possible to make it very hard to exploit them (buffer-overrun or stuff like that). Any security issues will be taken care of in the tools itself. Should be very hard to do any harm with them.

See the file README.nonroot for details.


12. What about audio-quick copy?

Version 0.98alpha15 supports quick copy of audio-CDs. You have to install a very new version of cdrecord for that, because earlier versions did not have this feature.

The cdrtools 2.01a13 and later will automatically unlock the quick audio copy mode. Please note using a burnproof writer is very recommended.


13. Why don't you offer CVS access?

At the moment I don't want anybody to get the sources without my approval. In this early stage are too many changes all the time and any CVS archive would only disappoint you because the code won't work at all.
Anyway - I created a CVS-repository at sourceforge. You are free to drop by.


14. I am a cdwriter-vendor and I want to sponsor you!

Fine! If you send me free hardware, I can test X-CD-Roast with it and recommend it to other users. I also will put your logo on my webpage. Please don't hesitate to contact me.

Current sponsors are:

  • RICOH, who gave me a CD-R/RW MP7060S, a DVD/CDRW MP9120 and a MP7125A
  • SANYO, who gave me a CRD-RW1, a CD-R CRD-R800S, a CRD-BP2 and CRD-BP1300P
  • SONY, who gave me a CRX-140S
  • AOPEN, who gave me a CRW4048
Also thanks to Netplace for hosting my domain.


15. Why does X-CD-Roast report to write up to 750 MB when only 650 MB do fit on a CD-R?

This or any other questions about the size-calculations of X-CD-Roast relate to the used sector sizes. First of all you have to understand that there is a big difference between writing a data CD or an audio CD. When you look at a standard CD-R there may be written on it: Capacity 74 Min / 650 MB. The first number is capacity that fits on an audio CD. The second relates only to data CDs. So how comes that X-CD-Roast insits on needing almost 750 MB space for 74 min audio? An audio CD consists of 2352 bytes sectors - as opposed to 2048 bytes needed for data! In reality also the data-sector takes up 2352 bytes - but only 2048 bytes are useable for you - the other 304 bytes are used for error-correction, sector numbers and stuff.
So, when a CD-R vendor tells you about 650 MB capacity this means that you calculate with 2048 byte sectors. And because the audio-sectors are bigger, you need more space to rip audio to the harddrive. So, reading a 74 Min CD to the harddisk takes up to

74 * 60 seconds * 44100 hz sample rate * 2 (16 bit) * 2 (stereo) = 783216000 bytes = 746 MB.
And 746 MB is the size X-CD-Roast reports! Because thats exactly the free size you need on your harddrive to save the audio-tracks. Don't worry that this might not fit on your CD-R just because the vendor wrote 650 MB on it - X-CD-Roast will warn you in any case when something might not fit. And if you don't believe X-CD-Roast, then calculate yourself!
As a rule of thumb - when creating audio CDs, watch the minute counter and when doing data watch the MB counter. Its just as simple as it sounds.


16. All seems to be fine, but I cannot write!!! X-CD-Roast 0.96e always worked great!

The old version did only write in Track-at-once mode (TAO), because at that time cdrecord did not support otherwise. X-CD-Roast 0.98 however does default to DAO (Disc-at-once) because this is the only mode for good audio copies. Most writers work with cdrecord and DAO fine, but yours obviously not. Switch to TAO mode in the write-menu and you have the same behaviour as with the old X-CD-Roast.
(DAO/SAO may work fine with the most recent version of cdrecord and your drive)

If DAO mode fails you should try the RAW modes - once you find the best write mode for your drive you should be happy.


17. Uh...I feel stupid but how to write downloaded ISO-images?

If you downloaded an ISO-image (e.g. a linux distribution) you have to copy that big file (extension should be .iso) first to an image-directory of X-CD-Roast. You specify these directories in Setup at the "HD Settings" tab. These are the places where X-CD-Roast will look for audio (.wav) or data tracks.
Now you enter the "Create CD" menu and you will see your image-file displayed nicely in the "Image-Information" window. Go to "Write Tracks" -> click on "Layout tracks" tab, add your image-file, click on "Accept track layout" and finally a click at "Write tracks" will write that image perfectly to your CD-R/RW.


18. Can I write an audio CD from mp3? Or from wav-files I created myself?

As X-CD-Roast 0.98alpha15 is not yet able to handle mp3-files directly, you have to convert the files yourself into wav-format. There are a lot of ways to do this - you can try mpg123 -w myfile.wav myfile.mp3.
In the end you have a lot of wav-files which should be written as audio-CD. Just make sure X-CD-Roast does find your wav-files in its image-directories and then just go ahead like described in FAQ Question 17.

Note: X-CD-Roast can only write CD-quality wav-files (44.1khz, 16 bit, stereo) - If your files do not meet this requirements they will be displayed with an audio-icon with a red slash through it. This files can't be written and will be ignored until you convert them into a proper format.


19. How to see the commands X-CD-Roast generates to learn something about cdrecord?

In order to learn how X-CD-Roast does call the cdrecord-tools you can start X-CD-Roast with the -d 1 flag, or set in the setup the loglevel to "verbose" and see the logfile.
This way its easy for you to try out new versions of cdrecord on the commandline to see if some problem is already fixed there.


20. Hmm...CD-Text not working yet?

Starting with version 0.98alpha10 CD-Text reading/editing/writing is fully supported.


21. Why are the tooltips no longer yellow?

Former versions of X-CD-Roast 0.98 set the tooltip color manually to yellow, overriding each setting that may came by a theme. This also broke multibyte fonts. If you no longer have yellow tooltips and you want them back, you have to edit your or the systemwide gtkrc file.

Add the following lines to your ~/.gtkrc file, or to /usr/local/etc/gtk/gtkrc (or /etc/gtk/gtkrc - depends where you installed GTK):

        style "gtk-tooltips-style" {
                bg[NORMAL] = "#ffffc0"
        }

        widget "gtk-tooltips" style "gtk-tooltips-style"


22. What is the meaning of "Warning: creating filesystem that does not conform to ISO-9660"?

Ignore this warning printed by mkisofs. If you use the various extensions of the ISO-9660 file system, you are no longer strictly following the ISO-9660 standard. The recorded cd will be readable nevertheless on most systems.
If you really want to get rid of that message, you have to deactivate all the master-options - the resulting CD will then just work good on DOS systems and is mostly useless everywhere else.


23. X-CD-Roast tells me that my "cdrtools binaries are not compatible with my system". What does this mean?

This is a common linux problem. cdrecord and cdda2wav use a technique called "memory-mapping" (mmap) to do their work. This requires however that the kernel and libc versions do exactly match to the system where these tools have been compiled. If you use binaries from other systems the memory adresses do not longer match and cdrecord aborts with this mmap-error. This means you have to install versions that are compiled for your system. Easiest to do so is to compile them yourself (just rebuild the cdrtools-source-rpm, see the xcdroast-download page) or to get the correct RPMs for your system. After you replaced the old cdrtools with the correct compiled versions X-CD-Roast should work fine.

You might run into that problem with the binary-only releases of cdrecord-ProDVD. On linux these require at least kernel 2.4.x to work - you have to update you kernel if you want to use it.


24. I wrote a second session to a multi session CD but I can't see it!

Chances are very high that the CD was written correctly, but you simply fail to read it the right way. Reading multi session requires support in the operating system and in the reading drive itself. Also keep in mind that some graphical GUIs like KDE or Gnome tend to cache CD-Contents and you DON'T see any changes on your CD until you force a refresh.
To check if a CD was correctly written always mount it manually or even check it on a different machine.


25. How to get this DVD-support working?

I included a file README.ProDVD with X-CD-Roast which explains how to install the DVD version of cdrecord (cdrecord-ProDVD). That file is with all the other Documention most likely in /usr/share/doc/xcdroast-0.98alpha15/ on your system when you installed the RPM version.

Also note that you can only create pure Data-DVDs only. Technically Video-DVDs are Data-DVDs too, but with a special directory-structure. Its impossible to try to copy an encrypted Video-DVD to a writeable DVD-media. (The DVD key sector cannot be written to a writeable DVD-media because they hardcoded that sector as "unwriteable"). Theoretically its possible to write unencrypted Video-DVDs, you just have to prepare the correct data yourself first and then master and burn it with X-CD-Roast. (Enable the "DVD Video" option in the ISO-settings)

With the most recent version of cdrecord-ProDVD DVD+R/RW is also supported in addition to DVD-R/RW. Just use your DVD+-writer as you would use a normal CD-writer.


26. Write performance is bad or my system freezes!

If your system is put into high stress while you write a CD you might get buffer underruns or in the worst case the system locks up completely. Almost always these problems hint towards an incorrectly configured system.

First check the transferrate of your harddrive - on linux there is a tool called hdparm which does a nice job here.

/sbin/hdparm -t /dev/hda
This will measure the raw read throughput of your drive - you should see values like 20-30MB/s for modern drives. If you are way below that value you cannot write CDs in high-speed. Check if DMA transfer is enabled for that drive. (See "man hdparm" for details).

Next thing is to check if you have other programs which also access the CD-ROM/CD-Writer. Desktop-Systems often have KDE or Gnome running which try to automount each inserted CD. This often kills cdrecord. Turn off all this automatic CD handling in the Setup of KDE/Gnome. There are also CD-Player applets in KDE and Gnome which should be disabled.

Now we check the writer device itself. Use hdparm again to see if DMA is enabled. For some systems DMA should be on, on others it should be disabled. You have to try for yourself which configuration gives you the best results.

/sbin/hdparm -d 0 -u 0 -k 1 /dev/hdc
This command disables DMA transfers /dev/hdc (possibly your CD-Writer). Some reports told me that this often fixed problems.

If you still have problems you can try to set the "Set SCSI IMMED flag" option within the X-CD-Roast write dialog. On systems where harddrive and writer are on the same IDE bus this can improve the behaviour.


27. What means "cdrecord: ISRC '5099750153420' has illegal length."?

When cdrecord aborts writing with a message about illegal ISRC or MCN numbers, then it means that you got bad data from the CD you read before. The manufacturer of that CD has put that illegal data on it and cdda2wav retrieved it from the disk as you read the tracks. cdrecord won't write illegal data and complains.

Starting with X-CD-Roast 0.98alpha14 this problem is automatically detected and can be resolved with a single click.


28. That new ATAPI mode (kernel 2.4.x) causes problems! Should I use it?

That new ATAPI mode is enabled by default in X-CD-Roast on linux. It requires a kernel 2.4.x and is able to access ATAPI devices directly through the IDE driver, without the help of SCSI emulation. However, that mode is still experimental and causes some problems. Using a CD writer in that mode is not recommended - please use always SCSI emulation here. The ATAPI mode on a device can cause great delays in all X-CD-Roast operations, because communication with it takes much more time. Having a media in the drive seems to have a positive effect. You will also notice a lot of driver errors in your system log files. This seems to be normal.

You can tell X-CD-Roast to ignore the ATAPI mode when you start it with the "-a" option.

There is also no DMA transfer supported at all though the ATAPI interface.

On some not correctly installed machines X-CD-Roast will find your devices both via SCSI emulation and via ATAPI - they are displayed double in the setup. Things could work nevertheless, but use the scsi-emulated devices only then. (The devices without the "ATAPI:"-marking)

Conclusion: Use your writer only with SCSI emulation, but a normal CD/DVD-ROM drive as read only device will work fine in ATAPI mode (if you don't mind 30 second delays when there is no medium in the drive). This is also the default setup for many Linux distributions.

Note: All this problems should be non-existant with 2.6.x kernels, here ATAPI is the recommended setup.


29. Why I am having problems with my real scsi devices after I installed scsi-emulation?

There should be no problem with real scsi devices - scsi emulation is just adding another virtual scsi-controller to your system. So you might have now several controllers and perhaps some device numbering is no longer correct. I have also heard of cases where the previous scsi-controller module no longer gets loaded automatically at startup.

In this case just load the module manually by putting this line into /etc/rc.d/rc.local:

/sbin/modprobe aic7xxx
(replace aic7xxx by the actual name of the scsi-module you need)


30. I burned an audio-CD, but all the tracks seem to be messed up.

X-CD-Roast writes by default audio-CDs in DAO mode. However, on some writers this does not work correctly and you might get an audio-CD which behaves strangely in a CD-player (displaying wrong track counts, not able to skip tracks...).
The fix is to write the CD in one of the RAW (e.g. RAW96R) modes instead.


31. How is this remote networked SCSI device support working?

The cdrtools support access to writers/readers over the network for a long time now. They utilize a protocol called "REMOTE-SCSI" (RSCSI) that is tunneled via a standard rsh-server between the client and server machine. On a 100mbit network it should be possible to even write with high speeds.

This makes it possible to use X-CD-Roast to write on a CD/DVD-writer that is built into a different machine over the network.

Please see the file "README.rscsi" included with the cdrecord documentation for details, but here are the basic installation steps outlined:

  • install the cdrtools on the server machine (machine with the writer- hardware) and verify that you can access your writer locally. (e.g. by cdrecord -scanbus)
    It does not matter how your writer is installed as long it can work locally with the cdrtools. Firewire, USB, ATAPI, SCSI, scsi-emulation... all works.
  • activate/install a rsh server on the server machine. rsh is usally spawned via the inetd (xinetd) daemon.
  • test if rsh works by creating a user without password on the server maschine and access it from the client (the machine where X-CD-Roast runs) with a command like this: "rsh serverhost -l user_without_password date"
    You should see the output of the date command. If not you might have to check if need to open up your firewall. If the command works ok, best remove the password-less user again.
  • create a rscsi-user on the server. It requires a home-directory, but you don't need to set a password. The login shell must be set to the cdrtools rscsi programm: e.g. /opt/schily/sbin/rscsi
    Then create a ~rscsi/.rhosts file where you write which user from which host will be able to use remote-scsi. (syntax: "hostname username" per line)
  • copy the "rscsi.dfl" file from the cdrtools sources to /etc/default/rscsi Edit as described within the file. Please take care that you always use i tabs instead of spaces in that file.
  • Now you should be able to do on the client a "cdrecord dev=REMOTE:rscsi@serverhost -scanbus" and get a list of the devices on the server maschine.
Within X-CD-Roast just enter setup and add "REMOTE:rscsi@serverhost" as manually configured device.


32. I changed something on the hardware and X-CD-Roast no longer sees the correct devices!

Starting with version 0.98alpha14 X-CD-Roast no longer scans devices at each startup. The devices are only scanned the first time and then saved into your configuration file. If you changed something on your hardware then the device names might got changed. You have to tell X-CD-Roast to rescan for devices (first panel in the setup menu) and save the new information.

If you use the non-root-mode then you have both to rescan as root and as normal user. If you forget to rescan as root then the devices the root user saw at his first startup are loaded everytime, even when you rescanned as normal user later.


33. The GTK2-port prints a lot of Gtk-CRITICAL errors on the terminal!

When you have compiled X-CD-Roast with GTK2 support you might see a lot messages like these in your terminal window:

(xcdroast:8460): Gtk-CRITICAL **: file gtkwidget.c: line 2927 (gtk_widget_event): assertion `WIDGET_REALIZED_FOR_EVENT (widget, event)' failed
I do not know what causes them, but according to the GTK documentation you can just ignore them. If anybody knows a way to fix that, please contact me.


Any FAQ I forgot? Please contact me...

29.10.2003 T.Niederreiter (tn@xcdroast.org)