Poor Performance Under Linux

Only thing which holds me back from moving to Ubuntu is that most of my tracks just overload the CPU and there is nothing to do about it. And this is a subject where no freezing VST wrapper can help me because I don’t use VST-s… But the thought about ‘Freezing Device’ or something like that casts a smile on my face. :D

This sounds more like a general problem where even frozen tracks would cause troubles, CPU spikes.

Are you using a realtime kernel or the the standard Ubuntu kernel? The standard kernel will in most cases not be responsive & fast enough for audio applications.

On ubuntu all you have to do to install a rt-kernel is “sudo apt-get install linux-rt”. Also take a look at our and various other Linux relatime audio FAQs please.


Regarding the when will be which Renoise update and which features released:

I can only promise that we are avidly working on a new release right now. We usually don’t promise release dates or strict roadmaps, because we do decide that its done when its done - when we are happy with it, and not because a marketing appartment means that we do need to release a new version.

Sorry, thats all info I can give you now.

I actually found that using realtime priority for threads is good enough for Ubuntu/Debian to be responsive, in my experience.

this is a very good compromise expecially for laptops, since using realtime kernel proved to be very expensive in terms of power consumption.

installing realtime kernel haven’t helped me much.
Testing with one of my tracks revealed that in WinXP the highest CPU peak is at 50% and in Ubuntu it overloads at the point where the peak in Windows is around 30%… It’s a huge difference.
:(

you know I found out that Renoise runs in Wine almost as fast as in Windows… This raised the question for me: What’s wrong with Renoise’s Linux version?

I only ran the linux version, and wouldn’t hope renoise is faster on windows! Is this a wellknown secret; windows renoise is faster than linux renoise?

I tried running through wine, just now, to see the difference, but after a succesful install ‘wine renoise.exe’ crashes like this:

[atte@vestbjerg Renoise 2.1.0]$ wine Renoise.exe
err:alsa:ALSA_CheckSetVolume Could not find ‘PCM Playback Volume’ element
ALSA lib pcm_dmix.c:949:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
err:alsa:ALSA_CheckSetVolume Could not find ‘PCM Playback Volume’ element
fixme:mixer:ALSA_MixerInit No master control found on VirMIDI, disabling mixer
fixme:heap:HeapSetInformation 0x110000 0 0x32ecc4 4
fixme:heap:HeapSetInformation 0x2f40000 0 0x32ecc4 4
fixme:heap:HeapSetInformation 0x2e30000 0 0x32ecc4 4
fixme:heap:HeapSetInformation 0x2d20000 0 0x32ecc4 4
fixme:heap:HeapSetInformation 0x2c10000 0 0x32ecc4 4
Renoise LOG> ============================================================
Renoise LOG> Version : Renoise V2.1.0 (May 26 2009)
Renoise LOG> Date : 2009-10-22
Renoise LOG> Time : 08:45:58
Renoise LOG> OS : WinXP Service Pack 3
Renoise LOG> ============================================================
Renoise LOG> CPU: Found 1 enabled unit(s) with 2 core(s) / 2 logical processor(s) per unit. 2 cores are enabled in total.
Renoise LOG> Application: Showing the splash window…
Renoise LOG> Application: Initializing the API…
Renoise LOG> QuickTime: Initializing…
Renoise LOG> QuickTime: Initializing QuickTime (QTML) FAILED (QuickTime might not be installed)…
Renoise LOG> QuickTime: Initializing QuickTime (EnterMovies) FAILED (QuickTime might not be installed)…
Renoise LOG> Graphport: Initializing Freeimage…
Renoise LOG> GraphPort: Initializing DirectX…
Renoise LOG> GraphPort: Checking the DirectX version…
Renoise LOG> GraphPort: Obtaining and configuring the DirectX interface…
Renoise LOG> CrashLog: Handling Exception! Code : C0000005
Renoise LOG> CrashLog: b735c313: intel_validate_framebuffer +00063
Renoise LOG> CrashLog: b7199569: _mesa_test_framebuffer_completeness +003C9
Renoise LOG> CrashLog: b71a1b9c: update_framebuffer +0013C
Renoise LOG> CrashLog: b71a1bd7: _mesa_update_framebuffer +00027
Renoise LOG> CrashLog: b73532a8: intel_draw_buffer +00258
Renoise LOG> CrashLog: b735cb6b: intel_render_texture +0011B
Renoise LOG> CrashLog: b7199a56: _mesa_set_texture_attachment +000A6
Renoise LOG> CrashLog: b7199cbd: framebuffer_texture +0021D
Renoise LOG> CrashLog: b719a040: _mesa_FramebufferTexture2DEXT +00070
Renoise LOG> CrashLog: b7553abf: initPixelFormats +008EF
Renoise LOG> CrashLog: b74cde8c: InitAdapters +0992C
Renoise LOG> CrashLog: b75586a3: WineDirect3DCreate +00063
Renoise LOG> CrashLog: 7e84e9c9: DDRAW_Create +00329
Renoise LOG> CrashLog: 7e84f042: DirectDrawCreateEx +00072
Renoise LOG> CrashLog: 008887a3: ??? +00000
Renoise LOG> CrashLog: 00a175fb: ??? +00000
Renoise LOG> CrashLog: 008b9720: ??? +00000
Renoise LOG> CrashLog: 008b97e1: ??? +00000
Renoise LOG> CrashLog: 7ee12024: start_process +00054
Renoise LOG> CrashLog: 7efbb384: call_thread_func +0000C
Renoise LOG> CrashLog: 7efbb590: call_thread_entry_point +00070
Renoise LOG> CrashLog: 7ef9802a: ??? +00000
Renoise LOG> Closing log file…

as a Renoise Windows/Linux user, I can tell that the performances are about the same on my PC, with Linux being a bit more responsive on the GUI side. Of course, songs using VST cannot be compared (I never used Renoise under Wine).

also check Bantai’ suggestion: try setting periods to 3 in Renoise audio preferences panel to see if it improves performances.

Strange but for me the GUI is laging awfully. Switching different views is mostly delayed and the the laging is affecting especially the level-meters…
And what pisses me off the most is that I’ve tried loads of different suggestions to improve this kind of situation, but it seems like there really isn’t much to do about it - This particular track I was testing in Ubuntu still loads the CPU over 90%. I know it’s not a high-end machine, but creating a song with a couple of tracks and a EQ + Compressor on them shouldn’t torture my computer like it does: cpu is already at 30% but it already acts like it’s 80% or something because scrolling gets really slow and I cannot work like this.
Yeah… At the moment the workaround is to use wine, but it has it’s own disadvantages. The most annoying one is that I can’t play long notes on my computer keyboard because there is some kind of global key-repeat set on and after half a second the note will be re-triggered…

Ey Eeter, maybe it helps to post your system specs, linux distro / more info for the tech heads to determine whats wrong? Sounds like a system specific issue.

The linux distro I was testing with Renoise was Ubuntu 9.10 Karmic Beta. Today I’ll give RC a try.
Anyway here are the specs when I ran sudo lshw:

description: Desktop Computer product: AMD690VM-FMH vendor: FUJITSU SIEMENS version: V5.09 serial: YSIC027268 width: 64 bits capabilities: smbios-2.5 dmi-2.5 vsyscall64 vsyscall32 configuration: boot=normal chassis=desktop uuid=00020003-0004-0005-0006-000700080009 *-core description: Motherboard product: AMD690VM-FMH vendor: FUJITSU SIEMENS physical id: 0 version: V5.09 *-firmware description: BIOS vendor: Phoenix Technologies, LTD physical id: 0 version: V5.09 (02/20/2008) size: 128KiB capacity: 448KiB capabilities: isa pci pnp apm upgrade shadowing cdboot bootselect socketedrom edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb agp ls120boot zipboot biosbootspecification *-cpu description: CPU product: AMD Athlon(tm) 64 Processor 4000+ vendor: Advanced Micro Devices [AMD] physical id: 4 bus info: cpu@0 version: AMD Athlon(tm) 64 Processor 4000+ slot: Socket AM2 size: 1GHz capacity: 3GHz width: 64 bits clock: 200MHz capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp x86-64 3dnowext 3dnow up rep_good extd_apicid pni cx16 lahf_lm svm extapic cr8_legacy cpufreq *-cache:0 description: L1 cache physical id: a slot: Internal Cache size: 128KiB capacity: 128KiB capabilities: synchronous internal write-back *-cache:1 description: L2 cache physical id: b slot: External Cache size: 512KiB capacity: 512KiB capabilities: synchronous internal write-back *-memory description: System Memory physical id: 23 slot: System board or motherboard size: 1GiB capacity: 2GiB *-bank:0 description: DIMM DDR2 1639 MHz (0.6 ns) [empty] product: None physical id: 0 slot: A0 width: 64 bits clock: 1639MHz (0.6ns) *-bank:1 description: DIMM DDR2 1639 MHz (0.6 ns) [empty] product: None physical id: 1 slot: A1 width: 64 bits clock: 1639MHz (0.6ns) *-bank:2 description: DIMM DDR2 1639 MHz (0.6 ns) product: None physical id: 2 slot: A2 size: 512MiB width: 64 bits clock: 1639MHz (0.6ns) *-bank:3 description: DIMM DDR2 1639 MHz (0.6 ns) product: None physical id: 3 slot: A3 size: 512MiB width: 64 bits clock: 1639MHz (0.6ns) *-pci:0 description: Host bridge product: RS690 Host Bridge vendor: ATI Technologies Inc physical id: 100 bus info: pci@0000:00:00.0 version: 00 width: 32 bits clock: 66MHz configuration: latency=64 *-pci:0 description: PCI bridge product: RS690 PCI to PCI Bridge (Internal gfx) vendor: ATI Technologies Inc physical id: 1 bus info: pci@0000:00:01.0 version: 00 width: 32 bits clock: 66MHz capabilities: pci ht bus_master cap_list resources: ioport:d000(size=4096) memory:fda00000-fdbfffff ioport:d8000000(size=134217728) *-display UNCLAIMED description: VGA compatible controller product: RS690 [Radeon X1200 Series] vendor: ATI Technologies Inc physical id: 5 bus info: pci@0000:01:05.0 version: 00 width: 64 bits clock: 33MHz capabilities: pm msi bus_master cap_list configuration: latency=64 resources: memory:d8000000-dfffffff(prefetchable) memory:fdbf0000-fdbfffff ioport:de00(size=256) memory:fda00000-fdafffff *-pci:1 description: PCI bridge product: RS690 PCI to PCI Bridge (PCI Express Port 3) vendor: ATI Technologies Inc physical id: 7 bus info: pci@0000:00:07.0 version: 00 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi ht bus_master cap_list configuration: driver=pcieport-driver resources: irq:24 ioport:e000(size=4096) memory:fdf00000-fdffffff ioport:fdc00000(size=1048576) *-network description: Ethernet interface product: RTL8111/8168B PCI Express Gigabit Ethernet controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:02:00.0 logical name: eth0 version: 01 serial: 00:1e:90:15:92:bd size: 10MB/s capacity: 1GB/s width: 64 bits clock: 33MHz capabilities: pm vpd msi pciexpress bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=0 link=no multicast=yes port=MII speed=10MB/s resources: irq:25 ioport:ee00(size=256) memory:fdfff000-fdffffff memory:fdc00000-fdc1ffff(prefetchable) *-storage description: SATA controller product: SB600 Non-Raid-5 SATA vendor: ATI Technologies Inc physical id: 12 bus info: pci@0000:00:12.0 logical name: scsi0 logical name: scsi1 logical name: scsi2 version: 00 width: 32 bits clock: 66MHz capabilities: storage pm bus_master cap_list emulated configuration: driver=ahci latency=64 resources: irq:16 ioport:ff00(size=8) ioport:fe00(size=4) ioport:fd00(size=8) ioport:fc00(size=4) ioport:fb00(size=16) memory:fe02f000-fe02f3ff *-disk:0 description: ATA Disk product: ST3160815AS vendor: Seagate physical id: 0 bus info: scsi@0:0.0.0 logical name: /dev/sda version: 3.AA serial: 6RX1YME8 size: 149GiB (160GB) capabilities: partitioned partitioned:dos configuration: ansiversion=5 signature=6dc51263 *-volume description: Windows NTFS volume physical id: 1 bus info: scsi@0:0.0.0,1 logical name: /dev/sda1 logical name: /media/3A2418D42418954B version: 3.1 serial: 7c4c2b2d-3d2b-524c-8154-c5238cb0b6ca size: 149GiB capacity: 149GiB capabilities: primary bootable ntfs initialized configuration: clustersize=4096 created=2008-10-10 23:30:51 filesystem=ntfs modified_by_chkdsk=true mount.fstype=fuseblk mount.options=rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 mounted_on_nt4=true resize_log_file=true state=mounted upgrade_on_mount=true *-cdrom description: DVD-RAM writer product: DVDRAM GSA-H60N vendor: HL-DT-ST physical id: 1 bus info: scsi@1:0.0.0 logical name: /dev/cdrom logical name: /dev/cdrw logical name: /dev/dvd logical name: /dev/dvdrw logical name: /dev/scd0 logical name: /dev/sr0 version: CV02 capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram configuration: ansiversion=5 status=nodisc *-disk:1 description: ATA Disk product: SAMSUNG HD160JJ physical id: 0.0.0 bus info: scsi@2:0.0.0 logical name: /dev/sdb version: ZM10 serial: S08HJ1RLC04454 size: 149GiB (160GB) capabilities: partitioned partitioned:dos configuration: ansiversion=5 signature=19df19de *-volume:0 description: EXT4 volume vendor: Linux physical id: 1 bus info: scsi@2:0.0.0,1 logical name: /dev/sdb1 logical name: / version: 1.0 serial: 89fe5eff-a369-42fa-9fde-09a1fd3f9196 size: 146GiB capacity: 146GiB capabilities: primary journaled extended_attributes large_files huge_files dir_nlink recover extents ext4 ext2 initialized configuration: created=2009-10-16 15:51:35 filesystem=ext4 lastmountpoint=/8]�4���mǜ�h]�4�����)����)��� �$3����.������{%3� modified=2009-10-16 16:09:25 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro,barrier=1,data=ordered mounted=2009-10-22 11:15:40 state=mounted *-volume:1 description: Extended partition physical id: 2 bus info: scsi@2:0.0.0,2 logical name: /dev/sdb2 size: 2549MiB capacity: 2549MiB capabilities: primary extended partitioned partitioned:extended *-logicalvolume description: Linux swap / Solaris partition physical id: 5 logical name: /dev/sdb5 capacity: 2549MiB capabilities: nofs *-usb:0 description: USB Controller product: SB600 USB (OHCI0) vendor: ATI Technologies Inc physical id: 13 bus info: pci@0000:00:13.0 version: 00 width: 32 bits clock: 66MHz capabilities: bus_master configuration: driver=ohci_hcd latency=64 resources: irq:16 memory:fe02e000-fe02efff *-usb:1 description: USB Controller product: SB600 USB (OHCI1) vendor: ATI Technologies Inc physical id: 13.1 bus info: pci@0000:00:13.1 version: 00 width: 32 bits clock: 66MHz capabilities: bus_master configuration: driver=ohci_hcd latency=64 resources: irq:17 memory:fe02d000-fe02dfff *-usb:2 description: USB Controller product: SB600 USB (OHCI2) vendor: ATI Technologies Inc physical id: 13.2 bus info: pci@0000:00:13.2 version: 00 width: 32 bits clock: 66MHz capabilities: bus_master configuration: driver=ohci_hcd latency=64 resources: irq:18 memory:fe02c000-fe02cfff *-usb:3 description: USB Controller product: SB600 USB (OHCI3) vendor: ATI Technologies Inc physical id: 13.3 bus info: pci@0000:00:13.3 version: 00 width: 32 bits clock: 66MHz capabilities: bus_master configuration: driver=ohci_hcd latency=64 resources: irq:17 memory:fe02b000-fe02bfff *-usb:4 description: USB Controller product: SB600 USB (OHCI4) vendor: ATI Technologies Inc physical id: 13.4 bus info: pci@0000:00:13.4 version: 00 width: 32 bits clock: 66MHz capabilities: bus_master configuration: driver=ohci_hcd latency=64 resources: irq:18 memory:fe02a000-fe02afff *-usb:5 description: USB Controller product: SB600 USB Controller (EHCI) vendor: ATI Technologies Inc physical id: 13.5 bus info: pci@0000:00:13.5 version: 00 width: 32 bits clock: 66MHz capabilities: pm debug bus_master cap_list configuration: driver=ehci_hcd latency=64 resources: irq:19 memory:fe029000-fe0290ff *-serial description: SMBus product: SBx00 SMBus Controller vendor: ATI Technologies Inc physical id: 14 bus info: pci@0000:00:14.0 version: 14 width: 32 bits clock: 66MHz capabilities: ht cap_list configuration: driver=piix4_smbus latency=0 resources: irq:0 ioport:fa00(size=16) *-ide description: IDE interface product: SB600 IDE vendor: ATI Technologies Inc physical id: 14.1 bus info: pci@0000:00:14.1 version: 00 width: 32 bits clock: 66MHz capabilities: ide bus_master configuration: driver=pata_atiixp latency=64 resources: irq:16 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:f900(size=16) *-multimedia description: Audio device product: SBx00 Azalia (Intel HDA) vendor: ATI Technologies Inc physical id: 14.2 bus info: pci@0000:00:14.2 version: 00 width: 64 bits clock: 33MHz capabilities: pm bus_master cap_list configuration: driver=HDA Intel latency=64 resources: irq:16 memory:fe020000-fe023fff *-isa description: ISA bridge product: SB600 PCI to LPC Bridge vendor: ATI Technologies Inc physical id: 14.3 bus info: pci@0000:00:14.3 version: 00 width: 32 bits clock: 66MHz capabilities: isa bus_master configuration: latency=0 *-pci:2 description: PCI bridge product: SBx00 PCI to PCI Bridge vendor: ATI Technologies Inc physical id: 14.4 bus info: pci@0000:00:14.4 version: 00 width: 32 bits clock: 66MHz capabilities: pci bus_master vga_palette resources: ioport:c000(size=4096) memory:fde00000-fdefffff memory:fdd00000-fddfffff(prefetchable) *-network description: Ethernet interface product: RTL-8139/8139C/8139C+ vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:03:00.0 logical name: eth1 version: 10 serial: 00:40:f4:cc:00:29 size: 100MB/s capacity: 100MB/s width: 32 bits clock: 33MHz capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=full ip=88.196.110.32 latency=64 link=yes maxlatency=64 mingnt=32 multicast=yes port=MII speed=100MB/s resources: irq:20 ioport:cc00(size=256) memory:fdeff000-fdeff0ff *-firewire description: FireWire (IEEE 1394) product: VT6306 Fire II IEEE 1394 OHCI Link Layer Controller vendor: VIA Technologies, Inc. physical id: 8 bus info: pci@0000:03:08.0 version: c0 width: 32 bits clock: 33MHz capabilities: pm bus_master cap_list configuration: driver=ohci1394 latency=64 maxlatency=32 resources: irq:23 memory:fdefe000-fdefe7ff ioport:cf00(size=128) *-pci:1 description: Host bridge product: K8 [Athlon64/Opteron] HyperTransport Technology Configuration vendor: Advanced Micro Devices [AMD] physical id: 101 bus info: pci@0000:00:18.0 version: 00 width: 32 bits clock: 33MHz *-pci:2 description: Host bridge product: K8 [Athlon64/Opteron] Address Map vendor: Advanced Micro Devices [AMD] physical id: 102 bus info: pci@0000:00:18.1 version: 00 width: 32 bits clock: 33MHz *-pci:3 description: Host bridge product: K8 [Athlon64/Opteron] DRAM Controller vendor: Advanced Micro Devices [AMD] physical id: 103 bus info: pci@0000:00:18.2 version: 00 width: 32 bits clock: 33MHz *-pci:4 description: Host bridge product: K8 [Athlon64/Opteron] Miscellaneous Control vendor: Advanced Micro Devices [AMD] physical id: 104 bus info: pci@0000:00:18.3 version: 00 width: 32 bits clock: 33MHz configuration: driver=k8temp resources: irq:0 *-scsi physical id: 1 bus info: usb@1:4 logical name: scsi6 capabilities: emulated scsi-host configuration: driver=usb-storage *-disk description: SCSI Disk physical id: 0.0.0 bus info: scsi@6:0.0.0 logical name: /dev/sdc size: 995MiB (1043MB) capabilities: partitioned partitioned:dos configuration: signature=8f52ef50 *-volume description: Windows FAT volume vendor: MSDOS5.0 physical id: 1 bus info: scsi@6:0.0.0,1 logical name: /dev/sdc1 logical name: /media/UMMIOMA version: FAT32 serial: b444-2f4f size: 992MiB capacity: 995MiB capabilities: primary bootable fat initialized configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=iso8859-1,utf8,flush,errors=remount-ro state=mounted

(thanks for splitting the topic)

Indeed this sounds logical and true if it’s working in Wine quite nearly as good as in WinXp, my hardware and drivers must be fine (though I have Intel HDA chipset)…
I was thinking about that maybe it’s some kind of architecture conflict, but I really don’t understand those things so well that I could figure it out:S