Dell XPS 13 + firewire + AVL-MXE setup

Post fully complete "how to" guides and tutorials here. This is a great place to get feedback on stuff you might put in the wiki.

Moderators: MattKingUSA, khz

Post Reply
delete000
Established Member
Posts: 45
Joined: Fri Dec 31, 2021 7:48 pm
Has thanked: 12 times
Been thanked: 2 times

Dell XPS 13 + firewire + AVL-MXE setup

Post by delete000 »

I put together some notes on my setup for my own future use, since arriving at a stable setup took some trial and error. I'm copying them here, in case they're of some use to someone else. Note that this is a firewire setup running on a laptop with only USB C ports, so this might be of some use to people with newer laptops.

General comments

  • Trust the system: The first time I installed the OS (AV Linux MX edition -- see below) I found some things counterintuitive (openbox+xfce combo, some default audio settings, etc). I ended up reconfiguring things to death, literally. I ended up breaking something and had to reinstall the OS. The second time around I decided to work with the system already in place rather than against it. There's a learning curve, especially coming from different flavors of linux, but it's worth it.
  • Whenever I write "install" below, I mean the apt-get command. Synaptic will do too.
  • I do not claim this is the best or only or correct way to configure things. The fact that something works for me does not mean it will work to your liking.
  • I found the best information for how to configure MX Linux on reddit. That said, I've been using linux since 2009 and I have a minimal sense of what might be dangerous to just copy-paste from the internet. Use caution or risk catastrophic dismemberment.
  • I'm always happy to learn better ways to do things. Let me know if some of what I write below can be improved and I'll do my best to update this post.
  • I route pulseaudio through jack in my setup. Many people get rid of pulseaudio altogether, and I used to be one of them. I then realized that my efforts to completely eschew pulseaudio caused me more problems than keeping it. I now view pulseaudio as garbage collector of stray audio.

Hardware

  • Dell XPS 13 9300 laptop
  • RME Fireface 400 firewire audio+midi interface
  • Interface connected to laptop through the following series of cables / adapters:
    Apple Thunderbolt 3 (USB-C) to Thunderbolt 2 Adapter
    Apple Thunderbolt 2 to FireWire 800 Adapter
    Generic FireWire 800 (IEEE 1394b) 9-pin to 6-pin cable

OS & Installation

AV Linux MX edition

Code: Select all

$ uname -a
Linux stu 5.15.0-10.1-liquorix-amd64 #1 ZEN SMP PREEMPT liquorix 5.15-11~mx21+1 (2021-12-18) x86_64 GNU/Linux

Installation from the live media is as straightforward as it gets. I recommend creating different home and root partitions. Although not necessary, I created a root password.

Natural scrolling

This may be driving you nuts, so let me get this out of the way. I didn't find a way to set this globally using graphical settings. My attempts ended up creating a situation where scrolling is natural on some windows and reversed in others.

The only way I found to make this work was to paste the following into /etc/X11/xorg.conf.d/40-libinput.conf:

Code: Select all

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "Tapping" "On"
EndSection

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Wifi autoconnect

Next thing that might drive you spare. To autoconnect to a wifi network:

  • Connect to wifi network
  • Right-click on the network icon and click on "Edit Connections..."
  • Select active wifi connection and click on gear icon (bottom left)
  • "General" tab: tick "Connect automatically" and set priority; anything greater than zero will do.

Updater

Remove apt-notifier package to disable

Window & panel fonts

  • AVL-MXE Quick Setup -> System GTK Theme -> Fonts; this takes care of the panel and xfce windows
  • AVL-MXE Quick Setup -> Change window theme -> Fonts; this takes care of Openbox windows

Panel placement

If you are working with multiple monitors, you may want to tweak where the panel appears. Here's how to make the panel appear only on the primary monitor:

  • Panel settings -> "Display" tab -> "Output" dropdown -> "Primary"
  • Display settings -> Set primary monitor

Desktops

I dislike multiple desktops. Here's how to add / remove desktops:

  • Settings Manager -> Openbox config manager -> Desktops

FFADO drivers

  • Install ffado packages (libffado, ffado-tools, ffado-dbus).
  • Install jackd2-firewire

Configure jack / qjackctl

  • qjackctl -> Setup -> Settings: 48k-128-2 yields 5.33ms of latency, which is barely noticeable while playing my bass through Mixbus. Make sure to select the 'firewire' driver.
  • The default pulseaudio-jack setup doesn't work for me. To fix it: qjackctl -> Setup -> Options -> Execute script after startup:

    Code: Select all

    pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source; pacmd set-default-sink jack_out; a2jmidid &
Post Reply