Xfburn - a simple CD/DVD/Blu-ray burning tool
Xfburn is a simple CD/DVD/Blu-ray burning tool based on libburnia, which are set of libraries and CLI apps. It can blank/erase rewritable media (CD-RW/DVD-RW), compcreate and burn/write ISO images, create and burn audio CDs, as well as burn personal compositions of data to either CD or DVD.
For more detailed information, please have a look at the README or the NEWS file.
Xfburn is still a new program, and does not yet do all common burning related tasks.
Currently implemented is:
- Create data compositions
- Burn to CD, DVD, or BluRay (BD)
- Create ISO images
- Burn ISO images
- Create and burn audio CDs
- Blank discs
- Format and deformat DVD-RW discs
Xfburn has 3 write modes, which are Auto, TAO (Track-at-Once) and SAO (Session-at-Once). TAO records with the laser stopping after each track is finished and SAO allows the recording over multiple sessions, which will all be read by a computer drive, but CD equipment will only read the first session. At this time there is no multi-session support. (#25)
BurnFree, like BurnProof and similar technologies, is a feature designed to allow Xfburn to recover if at some point the drive is burning data faster than the application can send it, which decreases the risk of failures.
Stream Recording disables error management for BD only, which increases the burning speed. Using it seems to be the best option since discs with errors tend to fail even when stream recording is disabled.
Audio CD support details
Included are two transcoders: basic, which just passes through uncompressed wav data, and gst (gstreamer), which can decode any audio file for which a gstreamer plugin is present.
The basic transcoder
Only CD-quality, uncompressed (PCM) Wave files can be added to an audio compilation. Use i.e. your favority audio player with a disc writer output mode / plugin to decompress your existing audio files. If .wav files are added to the compilation, their headers get checked to make sure they are of the right format. Note that this check is not very well tested (in particular it's not likely to work on big-endian machines like PowerPC). It does not require any external libraries
The gst transcoder
Based on the gstreamer library, it can decode pretty much any audio content, as long as you have the appropriate plugins installed. Note that by default most distributions do _not_ install these plugins. But a simple search for gstreamer plugins in your package manager should quickly allow you to install them.
You can at startup switch between the transcoders, see the command line help for more information.
- libisofs version 0.6.2 or newer
- libburn version 0.4.2 or newer
- WARNING: libburn 0.4.2 - 0.5.4 are API compatible, but might trigger an error in libburn's fifo code.
RECOMMENDED is version 0.5.6 or newer, where the bug was fixed.
Optional, but highly recommended
- gstreamer (1.0+, required for burning audio CDs from compressed music files)
- gstreamer pbutils (they usually come with gstreamer as far as I know)
- gstreamer plugins (look for the good, the bad and the ugly plugin pack, most likely you want all of these)
Let the highly recommended part be highlighted once more. Of course gstreamer will not matter if you do not plan on burning audio CDs, but the other two libraries will come in handy in almost all situations.
Optional, for maintenance
- libxslt (for creating docs)
The author works with both hal and thunar-vfs enabled, so there might be the occasional bug that breaks compilation without these components. Xfburn should work without these optional components, but it is not well tested at all. Should something not compile or work as expected, please report a bug, and it will get fixed.
If xfburn crashes, freezes, or somehow makes no progress for you, then you can help greatly in debugging the problem. It does require you to build xfburn from the sources, and to install gdb. If you can handle that, here are the exact instructions:
1. Rebuild xfburn with debugging support - grab the sources, and run (you can update
`-j4` to match your core count): ``` $ autoconf $ ./configure && make clean all -j4 ```
2. Enable core dumps, then run xfburn until it hangs, or crashes:
``` $ ulimit -c unlimited; xfburn/xfburn 2>&1 | tee xfburn.output ```
3. From another terminal, kill xfburn (only if it hasn't crashed already, of coures)
``` $ kill -SEGV `pidof xfburn` ```
4. Get a backtrace from the coredump:
``` $ gdb xfburn/xfburn core.32270 --batch -ex 'thread apply all bt' > xfburn.backtrace ``` (Note that sometimes the core.xxxxxx file is just called core, and that 32270 is just an arbitrary number which was the process id - yours will be different)
5. Open up a bug report at our issue tracker for xfburn, and add
both the xfburn.output and the xfburn.backtrace files to it. Done! There is no need to attach the core dump, as it is heavily system dependent.
Missing functionality that would be nice to have:
- Save and load compositions (#18)
- Verification (#7)
- Copy discs (needs backend support) (#26)
- Automatic checksum creation
- Plugin support
- Multi-session support (#25)
There is no, and never will be, a timeline for these. Let us know if you think something is missing on this list. If you really need something implemented, feel free to help us out .
At present development is in maintenance mode, as the author does not have a lot of time.
- David Mohr [david at mcbf.net]
- Mario Đanić [mario.danic at gmail.com]
- (retired) Jean-François Wauthy [pollux at xfce.org]
- Rene Kjellerup [rk.katana.steel at gmail.com]
- xfburn 0.7.0 released (2023/03/03 22:55)
xfburn 0.7.0 is now available for download from https://archive.xfce.org/src/apps/xfburn/0.7/xfburn-0.7.0.tar.bz2 https://archive.xfce.org/src/apps/xfburn/0.7/xfburn-0.7.0.tar.bz2?sha1 https://archive.xfce.org/src/apps/xfburn/0.7/xfburn-0.7.0.tar.bz2?sha256 What is xfburn? =============== A simple CD/DVD/BD burning application which supports erasing, formatting of discs; burning of iso images, audio, and data compositions. Website: https://docs.xfce.org/apps/xfburn/start Release notes for 0.7.0 ======================= This release mainly focuses on improving the stability of the application. - Add MIME types to open blank and audio CDs - Automatically update burner list as burners are plugged and unplugged - Change default temporary directory to /var/tmp - Improve text of write modes - Replace some icons with symbolic versions that better respect light/dark mode - Support delete key in audio compositions - Fix adding progress dialog not appearing after dragging files - Fix adding progress dialog cancel button not working - Fix adding progress dialog not being modal - Fix assertion failure when burner not present - Fix composition term not being used consistently - Fix crash when adding files to a data composition - Fix dragged audio composition tracks being copied instead of moved - Fix excessive minimum width of main window - Fix icons not appearing on dialogs - Fix intltool lock file bug in `make distcheck` - Fix multiple selection being instantly deselected upon right click - Fix multithreading issue when initializing an audio composition - Fix out-of-date address in COPYING - Fix project homepage URL - Fix removed audio composition tracks not reducing total composition length - Fix some compilation warnings - Fix typo in burn failure dialog - Fix XSLT processor warnings - Add basic GitLab pipeline - Add Markdown version of the README - Add more translatable content to the AppStream/AppData - Bump GLib minimum required to 2.38 - Modernize build system - Resolve AppStream warnings from Debian - Strip trailing whitespace like as in Debian's build process - Update bug tracker links in readme - Update information on how to build xfburn - Translation Updates: Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian, Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, Eastern Armenian, English (Australia), English (United Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Norwegian Nynorsk, Occitan (post 1500), Polish, Portuguese, Portuguese (Brazil), Russian, Serbian, Sinhala, Slovak, Slovenian, Spanish, Swedish, Telugu, Thai, Turkish, Ukrainian, Uyghur
We recommend to use a packaged version of Xfburn if it is available. Xfburn is packaged for several distributions, for example:
- Foresight Linux
And probably many more…
Source Code Repository
- Reporting Bugs – Open bug reports and how to report new bugs
Any comments are welcome! We aim to make xfburn a very easily usable program. So if you think something could be implemented differently, feel free to speak up and it will be considered.