#GUIDE - Linux Fedora 40 (and others distros)

50 messages · Page 1 of 1 (latest)

vale elbow
#

Has anyone managed to compile Deej on Fedora? I'm not new to Linux but have never had to compile something with Go before and I'm completely lost.
Any help would be fantastic!

vale elbow
#

I've managed to follow this guide #1223125654891921449 message
However I'm getting "Failed to establish PulseAudio Connection" after running 'main.go'

vale elbow
#

Ok. So I figured it out. (Guide below)
Not sure if this is the best way to install Deej on Fedora but it worked for me. I hope this helps someone.
Reach out if you have any trouble. I'm no expert but I'll see what I can do.

#

---RUN ALL THESE COMMANDS THROUGH TERMINAL. SUDO REQUIRED.---

The basic flow of this guide is should work for ARCH or UBUNTU too by changing dnf with your repo command (pacman or apt etc) and any other system specific commands.

The commands are listed next to the dot points and assumes being run from your home directory.

0. Go to your home directory

  • cd ~

1. If 'git' is not installed, install with:

  • sudo dnf install git

2. If 'Golang' is not installed, install with:

  • sudo dnf install golang

3. Download the Deej files from github. DO NOT USE SUDO HERE

  • git clone https://github.com/omriharel/deej.git

4. Install the dependencies/libraries. The ones listed below work for me with Fedora as opposed to the ones in the offical guide.

ubunutu 'libgtk-3-dev' alternative

  • sudo dnf install gtk3-devel

5. ubunutu 'libappindicator3-dev' alternative

  • sudo dnf install libayatana-appindicator-gtk3-devel

6. ubunutu 'libwebkit2gtk-4.0-dev' alternative

  • sudo dnf install webkit2gtk4.0-devel
#

7. Go to the deej directory (Should be in your home directory. example /home/chonky/deej)

  • cd ~/deej

8. Install systray - This can take a little while to complete

  • go get -u github.com/getlantern/systray

9. Find the COM port of the Arduino in Ardunio IDE or via the this command

  • sudo dmesg | grep tty

---You'll see something like this:

"266.231205] cdc_acm 3-3.2.3:1.0: ttyACM0: USB ACM device"

--- You want to take note of the ttyAMC# device. This is your COM port. Your COM port may be different. Like "ttyACM1"

#

10. Open the config.yaml file

  • nano config.yaml

11. Edit the 'com_port:' section with YOUR COM port.

--- Note, it uses the absolute path i.e "/dev/ttyACM0" in my case it's using /dev/ttyACM0

--- example: of my config.yaml file.

-# settings for connecting to the arduino board
com_port: /dev/ttyACM0 <--HERE
baud_rate: 9600

12. Give user permissions to access the USB port - DON'T FORGET TO CHANGE <username> TO YOUR USERNAME (This step would probably have been needed while uploading the sketch to the arduino anyway)

  • sudo usermod -a -G dialout <username>
  • sudo chmod a+rw /dev/ttyACM*

13. Run the build script from the deej root directory

  • ./pkg/deej/scripts/linux/build-release.sh

13. If you encounter 'missing go.sum' errors, follow the instructions following the 'to add:' message. There may be more than one.

example: ../go/pkg/mod/github.com/spf13/[email protected]/util.go:28:2: missing go.sum entry for module providing package golang.org/x/text/transform (imported by github.com/spf13/afero); to add:
go get github.com/spf13/[email protected]

14. Run Deej and enjoy!

  • ./deej-release

OPTIONAL '> /dev/null 2>&1 &' will run Deej without a terminal output.

  • ./deej-release > /dev/null 2>&1 &

If you have permission issues with the COM port on last step, log out or try a restart.

-- Example error:

WARN deej.serial Failed to open serial connection {"error": "open /dev/ttyACM0: permission denied"}

#

Linux Fedora KDE 39 help compiling (SOLVED)

vale elbow
#

--EXTRAS--

Start Deej at startup.

  1. Open 'Autostart' app in KDE
  2. add the deej-release file
  3. click the 'Application' tab
  4. add the 'Work path:" to your 'deej-release' file.

"Edit configuration" context option.

The context menu option on the tray icon to edit the configuration requires 'gedit' to open.

  • sudo dnf install gedit
    I'm currently having an issue where the file will save but it doesn't apply when editing this way??

Editing the 'slider mapping:'

In the config.yaml file with linux requires you to use the application name. I found the easiest way to find the application name is to open 'System Monitor' and grab the name from the 'Applications' tab.

  • Windows uses something like 'firefox.exe' - but in Fedora it's just 'firefox'
    Or
    *Be sure to close deej-release first then Run:
  • ./pkg/deej/scripts/linux/build-dev.sh
    Then run the deej-dev file
  • ./deej-dev
    This will run the debug and you can see the session names there.

If you unplug the cable at any point the COM port can change.

I found this guide to create a symlink to the usb device.
I created a symlink called 'ttyDEEJ' and put that in the config.yaml so I don't have to edit it again.
https://gist.github.com/edro15/1c6cd63894836ed982a7d88bef26e4af

Crashing Randomly

Deej seems to crash randomly however it is crashing when a ‘wine’ program open/closes.

This can be overcome by creating a script to restart Deej when a ‘wine’ program closes through ‘gamemode’ and the 'gamemode.ini.

Create a script to find and kill deej if it's running.

  • nano ~/deejreset.sh

Add the contents of this pastebin to the script and save it.
https://pastebin.com/6y46r6Ds

Make it executable.

chmod +x ~/deejreset.sh

Open the 'gamemode.ini'

sudo nano /usr/share/gamemode/gamemode.ini

Add this to the [custom] section

start=/home/(YourUserName)/deejreset.sh
end=/home/(YourUserName)/deejreset.sh

Gist

[How To] Force a specific USB device to a certain TTY - ForceUSBtoTTY.md

vale elbow
#

(GUIDE) Linux Fedora KDE 39 help compiling (SOLVED)

noble bluff
#

GUIDE - Linux Fedora KDE 39 help compiling

vale elbow
#

GUIDE - Linux Fedora (and others)

#

GUIDE - Linux Fedora 40 (and others distros)

keen prism
#

Some packages are not able to be anstalled via pacman (arch)

vale elbow
#

@keen prism Some packages are different between distros or they become unavailable after system upgrades. Which ones are you having trouble with?

keen prism
#

I am heaving trouble finding the com port

vale elbow
#

What's the output when you run
sudo dmesg | grep tty

#

Also, Are you still having issues with the packages? If you solved it it'd be good to know for other users that may have the same problem.

keen prism
keen prism
#

I did some internetting and i found that i should have /dev/ttyUSB0 and not just the ttyUSB0 in the .yaml. That worked. Still thank you for helping me with this. And thank your for the tutorial

vale elbow
#

No problem

crystal perch
#

Can confirm this worked on debian 12. thanks my man!

blazing dove
#

Can confirm this also works on Fedora 41. Excellent guide!

mellow pumice
#

trying to get this working with ubuntu mate, stuck at # 13. These are the errors I'm getting. giving it a break for now.
I am 3 days new to linux and am pretty tard with all of this, friend is trying to help

vale elbow
#

Try running go get -u to update the go packages in the deej directory.
This should find the packages needed.

mellow pumice
#

I think I already tried that

#

yea not much

mellow pumice
#

figured it out, it was this:

mellow pumice
#

everythings working! yay thank you for the guide

runic radish
#

Hello im new to this but im using fedora gnome linux and i started my deej but only my master potenciometer is working i think linux does not use like spotify.exe can someone help me with that here is my config file serial:
port: /dev/ttyUSB0
baud_rate: 9600

volume:
min: 0
max: 100

sliders:

  • channel: master
  • channel: firefox
  • channel: spotify
  • channel:
    • pathofexile_x64.exe
    • rocketleague.exe
  • channel: discord

invert_sliders: false

noise:
reduction: default

vale elbow
#

You can run the build-dev.sh version of deej which will tell you the process names of anything that is running. Or you can System Monitor to see them there.

dusty dome
#

Not sure, what I'm doing wrong:

#

Also

Gtk-Message: 15:28:38.860: Failed to load module "appmenu-gtk-module"```
dusty dome
#

Ah, Arch Linux

vale elbow
#

Try installing appmenu-gtk-module through your package manager

#

Would be my guess. Not familiar with arch

dusty dome
#

Yeah, that's just a warning

#

The port thing is more serious

vale elbow
#

You sure that's the correct port? Or you don't have another instance of deej or Arduino IDE serial monitor running?

dusty dome
vale elbow
#

Different devices can take different ports on reboot or when unplugging/plugging. Confirm you have the right port (step 9) and then take a look at the (extras) section for when you unplug it. The link will help make it won't matter what port deej is on

dusty dome
#

Okay, restart solved it 🙂

hearty depot
#

Don't know how this site works but thanks this helped me also.

hearty depot
#

i got my browser coming through on the "main" any ideas?

bold marten
#

Can confirm this works on Fedora 43

Thanks so much for this...coming from Windows, deej was just so convenient, would hate to lose it going to Linux 🙂

One thing: -webkit2gtk4.0-dev did not install, does not seem to have any effect on the build though, deej still works

plush holly
mighty sequoia
plush holly
mighty sequoia
gentle monolith
#

I'm very new to Linux, but I'm trying out Fedora for a while. While your guide has been immensely helpful in getting things up and running, I'm still struggling to get my mapping to work. Initially I was including .exe and realized the error of my ways. I can't seem to get it to pick up Firefox whether I map just "firefox" or if I try using the file location. Any guidance on what I'm doing wrong?