Enable software acess to USB device

Hi all.

Just to make things more understandable. I’m ‘building’ a workstation to work with 3D production and this include Blender and game Engines like Unity and GODOT, and off course GIMP and Krita are on the party.

So I’ve got a DELL Ultra Sharp with all the necessary fancy stuff tech to get the ‘real’ colors on screen through a colorimeter, a device that measure the light and do some heavy math on the colors and than creates a ICC profile. This helps to get the ‘real world’ colors on the screen, not to bright, not to dark, just the right tone.

And for this a software called DISPLAY CAL is used.

There is a flatpak for this software (that I’m using), and It never causes problems before with other distros, but inside of Rocky it gives me a error message.

The main window of the application recognize the colorimeter (Spider X) on the device list and goes to the calibration window, but after this window I receive a message:

Error - new_disprd failed with 'Instrument Access Failed'

So, how do I give access to the application to use the hardware inside of Rocky? It’s a Rocky thing or a flatpak thing?


It’s possible that SELinux is denying this. Can you try setenforce 0, then try again (without rebooting in between)? If it works, you may have to write a quick SELinux policy to allow it in the future.

But would it not make more sense to check for selinux errors first?


sudo setenforce 0

And them run DisplayCAL, got the same error. I’ve noticed that GNOME music is not able to read my music folder also.

SELinux GUI doesn’t show any error after run DisplayCAL or GNOME music.

After some research, I’ve found a couple of ways to try to ‘avoid’ the problem on non “preconfigured installs of flatpak” like Manjaro or OpenSUSE usually have.

In my case the error wast:

usb_open_port: open '/dev/bus/usb/007/005' config 1 failed (-1) (Permissions ?)
usb_open_port: open '/dev/bus/usb/007/005' config 1 failed (-1) (Permissions ?)

The ‘safe’ way to define permissions it’s try to use FLATSEAL or command line to configure FLATPAK apps, but doesn’t work all the time. My video download is fixed by command line but Gnome Music is just a dead body under any circumstances.

There is a “UDEV RULE” turnaround to try to override the problem, but I’m not experienced enough to know if this still usable or not, and it’s also doesn’t seem to work to everyone.

DisplayCAL forum

What worked for me it’s a ‘unsafe’ method.

List the USB ports and them set a new CHMOD persmission for the SpiderX BUS port.

This is a bad idea because CHMOD will override (for a session in this version of Rocky Linux) the readings, writings and the execution of things like USB storage, what can be dangerous in some cases, like public computers.

In my case, I’m the only user of this machine and I also have LUCKS encryption in / and /home, so after set the ICC profile and reboot, things are safe again. But I’m not sure on different OS’s.

So do it by your own risk.

Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 005: ID 085c:0a00 ColorVision, Inc. Datacolor SpyderX
Bus 007 Device 004: ID 0951:16fe Kingston Technology HyperX Cloud Orbit 3D 8Ch
Bus 007 Device 003: ID 1b1c:1b2d Corsair K95 RGB Platinum Keyboard [RGP0056]
Bus 007 Device 002: ID 056a:030e Wacom Co., Ltd CTL-480 [Intuos Pen (S)]
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 002: ID 0b05:18f3 ASUSTek Computer, Inc. AURA LED Controller
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 096e:0201 Feitian Technologies, Inc. USB DONGLE
Bus 003 Device 002: ID 1b1c:1b3e Corsair Corsair Gaming SCIMITAR PRO RGB Mouse
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And then:

 sudo chmod -R 777 /dev/bus/usb/007/005

Where 007 is the number after the BUS column and 005 the hardware ID.

There is also a python 3 port of DisplayCAL on PyPI (Python Package Index) or github for more experienced users .

After install PIP version I need to upgrade the current user privileges to build it, but I got a Python compiling problem, and I don’t find a solution yet.

sudo dnf install python3-pip-wheel python3-pip

python -m pip install --upgrade pip --user

pip install DisplayCAL

And the last, for some reason GNOME do not install the ICC profile from DisplayCAL (flatpak at least), so it’s necessary to save it into a zip file, decompress and install the ICC file inside of it through gnome color settings.