--------------------------------------------------

          FAQ for X-CD-Roast Version 1.18

23.12.2017 Thomas Niederreiter <tn@xcdroast.org>

--------------------------------------------------


 Note: The most current version is always available at
       http://www.xcdroast.org/faq

 Also check out the X-CD-Roast manual for basic usage
 instructions:  http://www.xcdroast.org/manual

 Overview:

    *  1. What is X-CD-Roast and who is working on it?
    *  2. I have a Blu-ray Disc writer. Can I burn BDs with X-CD-Roast?
    *  3. I changed something on the hardware and X-CD-Roast no longer
	  sees the correct devices! 
    *  4. I use an external USB CD/DVD/BD Writer. If I plug it into my
	  notebook while this is already running, it works perfectly.
	  But if I first plug in that USB Disc Writer and then boot the
	  notebook, X-CD-Roast does not handle it.
    *  5. How is this remote networked SCSI device support working?
    *  6. There is an updated translation file for my language on the
	  X-CD-Roast homepage. How can I install that now?
    *  7. My language is not supported yet! Can I do the translation for you? 
    *  8. X-CD-Roast tells me that my "cdrtools binaries are not
	  compatible with my system". What does this mean?
    *  9. I can't compile X-CD-Roast! 
    * 10. The tooltips are hard to read. They are white on light grey.
    * 11. I can't find a DSP-Device in the setup menu!
    * 12. The CDDB-lookup does not work! Why?
    * 13. I don't know how to write a downloaded ISO image!
    * 14. Can I write an audio CD from mp3 / ogg / flac or
	  from wav files I created myself?
    * 15. Why does X-CD-Roast report to write up to 807 MiB when only 700 MiB 
	  do fit on a CD-R?
    * 16. Why do only fit 4482 MiB on a 4.7 GB DVD?
    * 17. What is the meaning of "Warning: creating filesystem that does
	  not conform to ISO-9660"?
    * 18. I wrote a second session to a multi session Disc but I can't see it!
    * 19. I burned an audio CD, but all the tracks seem to be messed up.
    * 20. The write performance is bad or my system freezes!
    * 21. If I copy a Disc on-the-fly the write speed alternates a lot, the Fifo
	  drops quite often to 0% and finally in the output window there is a note
	  "BURN-Free was 131 times used"!
    * 22. How to see the commands X-CD-Roast generates to learn
	  something about cdrecord? 
    * 23. Why don't you offer Git access for X-CD-Roast? 
    * 24. I think I found a bug! How do I report it to you? 
    * 25. I am a CD/DVD/BD writer vendor and I want to sponsor you!

------------------------------------------------------------------------------

* 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 front-end. The cdrtools contain
"cdrecord" (does do the hard job supporting all the writers and is doing
the actual writing of Discs), "readcd" (reads data tracks of Discs -
it's a portable replacement of "dd"), "mkisofs" (masters Disc images from
given file trees on the hard disk) and "cdda2wav" (reads audio tracks).
cdrecord, readcd, cdda2wav and mkisofs are maintained by Jörg Schilling 
and X-CD-Roast by me, Thomas Niederreiter.

------------------------------------------------------------------------------

* 2. I have a Blu-ray Disc writer. Can I burn BDs with X-CD-Roast?

The cdrtools do support it, but in X-CD-Roast the extensions for writing
Blu-ray Discs have not been written yet. Nevertheless you can write
CDs and DVDs with that device.

------------------------------------------------------------------------------

* 3. 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 
you have to save the new configuration. 

If you use the "user-host-mode" then all users and the root as well
have to rescan devices. If you forget to rescan as root then the devices
the root saw at his first startup are loaded every time, even when you
re-scanned as normal user later.

------------------------------------------------------------------------------

* 4. I use an external USB CD/DVD/BD Writer. If I plug it into my
     notebook while this is already running, it works perfectly.
     But if I first plug in that USB Disc Writer and then boot the
     notebook, X-CD-Roast does not handle it.

Unfortunately, your notebook assigns the USB devices in both cases differently
because there is another internal USB storage device (e.g. a card reader).
You need to manually add your optical drive again in the Setup -> Device-Scan,
so that you always have two entries of your drive which only differ in the
Device-Id. Then just choose the Read Device and Write Device when you are
in the "Duplicate Disc" or "Create Disc" menu of X-CD-Roast. You can check
easily if it's the right one by clicking the 'Eject' button on the right.

Hint: The command "sudo cdrecord -scanbus" shows all current Device-Ids.

Since you have the opportunity to save several device settings for reading
and writing Discs for each drive in the setup menu, X-CD-Roast does not scan
for devices at every startup.

------------------------------------------------------------------------------

* 5: How is this remote networked SCSI device support working?

The cdrtools have been supporting 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.

This makes it possible to use X-CD-Roast to write on a CD/DVD/BD 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. S-ATA, Firewire, USB, ATAPI, SCSI, SCSI-emulation ...
   - all works.

- Activate/install a rsh server on the server machine. rsh is usually spawned
  via the inetd (xinetd) daemon.

- Test if rsh works by creating a user without password on the server machine
  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 a port of your firewall. If the command works fine,
  it is the best to 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 programme: 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 machine.

  Within X-CD-Roast just enter setup and add "REMOTE:rscsi@serverhost" as
  manually configured device. 

------------------------------------------------------------------------------

* 6. There is an updated translation file for my language on the X-CD-Roast
     homepage. How can I install that now?

Just copy the new 'xx.po' file into the po subdirectory and compile X-CD-Roast.
You need to have the gettext-tools installed on your system.

In case you compiled X-CD-Roast previously then after copying the new po file
you have to enter the subdirectory po and to type "make update-gmo",
then leave "cd .." and type "sudo make install".

If you want to build a new SRPM please do not touch the original tar file!
Create a patch file by comparing the old and the new po file using "diff -u"
and copy this patch into the subdirectory SOURCES. Then add a new patch entry
in the main and %prep section of the xcdroast.spec file and do document this
in the %changelog section.

Another possibility, if you have X-CD-Roast installed by a binary RPM/DEB
from your distributor, is simply to copy the 'xx.mo' file into your system,
where the old 'xcdroast.mo' file is.

For instance: "sudo cp fr.mo /usr/share/locale/fr/LC_MESSAGES/xcdroast.mo"

'fr' stands for french here, but the absolute path depends on the language
and on your system.

------------------------------------------------------------------------------

* 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 gettext is used as translation engine.
Please refer to the file TRANSLATION.HOWTO for more details.

  	http://www.xcdroast.org/release/TRANSLATION.HOWTO.txt

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

	http://www.xcdroast.org/release/translations.html

Big thanks to all who already sent me translations!

------------------------------------------------------------------------------

* 8. 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 addresses do no longer match and cdrecord aborts with this
"mmap-error" which X-CD-Roast detects. This means you have to install
versions that are compiled for your system. The easiest to do so is to
compile them yourself.  You can just rebuild the cdrtools from a 'tar'
or a 'SRPM' file. (see X-CD-Roast homepage download section)
or to get the correct RPMs for your system. After you replaced the old 
cdrtools with the correctly compiled version X-CD-Roast should work fine.

------------------------------------------------------------------------------

* 9. I can't compile X-CD-Roast!

X-CD-Roast is quite 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 a source RPM.
See the download section of www.xcdroast.org for instructions.

If you want to build a SRPM, there is a xcdroast.spec and a xcdroast.desktop
file in the subdirectory extra of xcdroast-1.18 which you can use as template.
Remember the SUID bit (Set User ID) on %{prefix}/lib/xcdroast/bin/xcdrwrap.
See file README for explanations why this is needed.

Some Linux distributors may already have a RPM/DEB-binary package
in their online repositories. Use this one unless it is an old version.
If it just does not contain an updated po file for your language, then replace
the 'xcdroast.mo' file afterwards as described in FAQ *6.

------------------------------------------------------------------------------

*10. The tooltips are hard to read. They are white on light grey.

You probably use KDE Plasma 5. Therefore go to System Settings -> Color
and disable the checkbox "Apply colors to non-Qt applications".

------------------------------------------------------------------------------

*11. I can't find a DSP-Device in the setup menu.

The OSS (Open Sound Systen) has been replaced with ALSA (Advanced Linux
Sound Architecture) long ago. Two possible solutions are:

a) Emulate /dev/dsp by PulseAudio: "padsp xcdroast".
b) Load the kernel module 'snd-pcm-oss': "sudo modprobe snd-pcm-oss".
c) Install the OSS Proxy Daemon (e.g. available on Ubuntu systems): 
   "sudo apt-get install osspd". Reboot to make this setting active. 

A future version of X-CD-Roast will implement native ALSA support. 

------------------------------------------------------------------------------

*12. 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 a debug output if you still have problems.

------------------------------------------------------------------------------

*13. I don't know how to write a downloaded ISO image!

If you have an ISO image (e.g. a Linux distribution or SystemRescueCd)
then you have to copy that file (extension should be .iso) first to an
"Image Directory" of X-CD-Roast you specified in Setup at 'HD Settings'.
Those are the directories where X-CD-Roast will look for audio (.wav) or
data tracks. Of course, instead of copying each of your big files,
you can also add your preferred download directory in the setup. But there
is one limitation: You can only determine one "Image Directory" per partition.

Now you enter the "Create Disc" menu and you will see your image file
displayed nicely in the "Image-Information" window. Go to "Write Tracks",
-> "Layout tracks", add your image file, click on "Accept track layout",
select the Disc type and finally a click at "Write tracks"
will write that image perfectly to your CD-R/RW or DVD+-R/RW.

------------------------------------------------------------------------------

*14. Can I write an audio CD from mp3 / ogg / flac or
     from wav files I created myself?

As X-CD-Roast 1.18 is not yet able to handle compressed files directly,
you have to convert the audio files yourself into the wav format. There are
a lot of ways to do this. You can use:

	lame --decode myfile.mp3
	flac --decode myfile.ogg
	flac --decode myfile.flac

Make sure X-CD-Roast does find your wav files in one of its
image directories and then just go ahead as described in FAQ *13.

Note: 
X-CD-Roast can only write Audio CD conformal files (44.1 kHz, 16 bit, stereo).
If your files do not meet these requirements they will be displayed with an
audio icon crossed out in red. Those files can't be written and will be ignored
until you convert them into the correct format.

------------------------------------------------------------------------------

*15. Why does X-CD-Roast report to write up to 807 MiB when only 700 MiB
     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 and an audio CD.
When you look at an ordinary CD-R there may be written on it: Capacity 80
min / 700 MB. The first number is the capacity that fits on an audio CD.
The second one relates only to data CDs. So how does it come that X-CD-Roast
insists on needing almost 807 MiB space for 80 min of 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 usable for you - the other 304 Bytes are used for error correction,
sector numbers and other stuff.
So, when a CD-R manufacturer tells you about 700 MB capacity this means that
one calculates with 2048 Byte sectors. And because the audio sectors are
bigger, you need more space to rip audio to the hard drive. Let's calculate
how much space an 80 minutes Audio CD needs on the hard disk:

    80 (minutes) × 60 seconds × 44100 Hz sample rate × 2 (16 bit) × 2 (stereo)
    = 846720000 Bytes ÷ 1024 ÷ 1024
    = 807.49.. MiB

And 807 MiB is the size X-CD-Roast reports for that's exactly the free size
you need on your hard drive to save 80 minutes of audio from a CD. Don't worry
that this might not fit on your CD-R just because there is written 700 MB
on it. X-CD-Roast will warn you in any case when something will not match.
And if you don't believe X-CD-Roast, then use your favorite file manager!
But do consider that for example the KDE Dolphin shows the file sizes in
Mebibyte (MiB) whereas the GNOME Nautilus displays Megabyte (MB).
Hence 80 minutes of audio result in 807 MiB respectively in 846 MB.

As a rule of thumb: When creating audio CDs, watch the minute counter and when
handling with data, watch the MiB counter. It's just as simple as it sounds.

------------------------------------------------------------------------------

*16. Why do only fit 4482 MiB on a 4.7 GB DVD?

4.7 GB is a size advertised by manufacturers, who use decimal units.
You must calculate: 4.7 GB × 1000 × 1000 × 1000 ÷ 1024 ÷ 1024 = 4482 MiB.

To avoid confusion, X-CD-Roast uses binary and decimal prefixes according to
IEC 60027-2 (January 1999). For instance:

1 MiB (Mebibyte) = 1 048 576 Bytes = 2²⁰ Bytes
1 MB  (Megabyte) = 1 000 000 Bytes = 10⁶ Bytes

vice versa:

1 000 000 Bytes = 0.9536743.. MiB (Mebibyte)

Q: But why do fit 703 MiB on a 700 MB CD then?
A: Here, although writing MB, the manufacturers have the binary units in mind
    and 700 is just a rounded value.

------------------------------------------------------------------------------

*17. 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 Disc will be readable
nevertheless on most systems.
If you really want to get rid of that message, then you have to deactivate
all the ISO9660 options in the menu 'Master Tracks'. The resulting Disc will
then just work good on DOS systems and is mostly useless everywhere else.

------------------------------------------------------------------------------

*18. I wrote a second session to a multi session Disc but I can't see it!

The chances are very high that the Disc was written correctly, but you simply
fail to read it the right way. You have to keep in mind that some desktop
environments like KDE or GNOME tend to cache Disc-Contents and thus you DON'T
see any changes on your Disc until you force a refresh. To check if a Disc was
correctly written, always remount it or check it on a different machine.

------------------------------------------------------------------------------

*19: I burned an audio CD, but all the tracks seem to be messed up.

X-CD-Roast writes audio CDs by default in DAO mode. However, on some very
old 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 modes (e.g. RAW96R) instead.

------------------------------------------------------------------------------

*20. The write performance is bad or my system freezes!

If your system is put into high stress while it is writing a Disc, you
might get buffer underruns and your disc writer stops and starts burning
constantly. In the worst case the system hangs up.

First check the transfer rate of your hard drive. On Linux there is a tool
called hdparm which does a nice job here.

    sudo /sbin/hdparm -t /dev/sda 

This will measure the raw read throughput of your drive. You should see
values like 100 MB/s or 500 MB/s for modern HDDs or SSDs. If your drive is
far below the value 50 MB/s you cannot write DVDs at the highest speed.
Anyway, if you create Audio CDs do not write them at maximum speed, since
the quality gets worse and the audio error correction during playback is
quite simple. Use 8x or 16x speed instead.

The next thing is to set the "Set SCSI IMMED flag" in 'Advanced options'
within the X-CD-Roast 'Write Tracks / Write Disc' dialog.
On systems where the hard drive and the writer share the same IDE bus
this can improve the behaviour.

Desktop systems like KDE, GNOME or XFCE normally try to automount each
inserted Disc. In the distant past this sometimes killed cdrecord. Turn off
tentatively all this automatic Disc handling in the setup of the Desktop
Environment. There may also be player applets which need to be disabled.

------------------------------------------------------------------------------

*21. If I copy a Disc on-the-fly the write speed alternates a lot, the Fifo 
     drops quite often to 0% and finally in the output window there is a note 
     "BURN-Free was 131 times used"!

This is the effect if the destination Disc is written more quickly than the
source Disc is read. All modern Disc Writers cannot burn a CD-R more slowly than
8x or even 16x. By contrast, Audio CDs are ripped at a speed of around 4-6x in
paranoia mode and of around 12x in non-paranoia mode. As a consequence copying
an Audio CD on-the-fly in paranoia mode does not make sense anymore nowadays.

Nonetheless you have the opportunity to raise the 'Disc Writer FIFO-Buffer-Size'
even up to 128 MiB in the 'Setup - CD/DVD/BD Writer Configuration' to avoid a
buffer underrun if the burner is a bit faster than the reader. You do not have
to 'Save configuration' each time you change a value. Just click 'Ok' and all
settings are kept until you quit X-CD-Roast.

------------------------------------------------------------------------------

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

In order to learn how X-CD-Roast calls the cdrtools you can start
X-CD-Roast with the "-d 1" flag or set the loglevel in the setup to
"verbose" and watch the logfile.
This way it is easy for you to try out new versions of the cdrtools on
the command line and to see if problems are already fixed there.

------------------------------------------------------------------------------

*23. Why don't you offer Git access for X-CD-Roast?

At the moment I don't want anybody to get the cutting-edge sources without
my approval. At these early stages there are too many changes all the time
and any Git archive would only disappoint you because the code may not work.

------------------------------------------------------------------------------

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

If you think you have found a bug, you have to find out first if you can
reproduce it reliably. Then run xcdroast in debug mode (-d 10 switch) and send
me the output. Please describe what you exactly did and what went wrong. Also,
set the language to English in the setup menu, so that I can understand all your
error messages myself.

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

     	$ xcdroast -d 10 2> ~/debugoutput.txt

------------------------------------------------------------------------------

*25. I am a CD/DVD/BD writer 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 will also put your logo on the homepage of X-CD-Roast.
Please don't hesitate to contact me.

Current sponsors are:

    * RICOH <http://www.ricoh.com>, who gave me a CD-R/RW MP7060S,
      a DVD/CDRW MP9120 and a MP7125A
    * SANYO <http://www.sanyo.com>, who gave me a CRD-RW1,
      a CRD-R800S, a CRD-BP2 and a CRD-BP1300P
    * SONY <http://www.sony.com>, who gave me a CRX-140S
    * AOPEN <http://www.aopen.com>, who gave me a CRW4048

Also thanks to netplace Telematic GmbH <http://www.netplace.com> for 
hosting my domain.

------------------------------------------------------------------------------

Any more questions? - Please contact me in English or in German.

23.12.2017 Thomas Niederreiter (tn@xcdroast.org)
