Summary

  Subject:

Run Rocky Linux as a Desktop OS: Drivers and Hardware

  Updated:

2023-06-15

  Author:

Tim Hammond ([email protected])

  Operating Systems:

Rocky 8

Rocky 9

  Background:

This guide was written to help users get setup on a desktop computer and either run KDE or Xfce. There are a host of other applications that are installed as well.

This guide's was origanlly targeted for Fedora 36, but after testing, I came to the following conclustions:

  1. Fedora is too leading and bleeding for my taste.
  2. Secure CRT will only work on CentOS/Rocky 8 and BELOW. They have dropped all support for RHEL based distros.
  3. VMware console is now supported on RHEL 9 based distros.
  4. I didn't want to get into supporting more operating systems (Windows (desktop and server), Rocky, and Ubuntu).

Due to the length of the content, I opted to break the article into the following sections:

  1. Rocky Desktop: OS Install
  2. Rocky Desktop: Desktop Environment
  3. Rocky Desktop: Drivers and Hardware
  4. Rocky Desktop: Additional Software (Email, Office Suite, etc)
  5. Rocky Desktop: Helpful Commands
  6. Rocky Desktop: References
 

Table of Contents

AMD GPU

This does not seem to be required as Fedora and Rocky install the approved repo / no annoying AMD branding.

The commands below accomplish the following tasks:

  1. Install the pciutils packaged.
  2. Verify the AMD driver is in use.
  3. Verify the Radeon driver is NOT in use.
sudo dnf -y install pciutils sudo lspci -v | grep amdgpu sudo lspci -v | grep radeon

Verify the driver is installed:

sudo dnf list --installed | grep xorg-x11-drv-a*

If the driver did not install for whatever reason, you can run this.

sudo dnf -y install xorg-x11-drv-amdgpu

Brother Printer

KDE installs has the system-config-printer / CUPS management built into the systems settings. Xfce relies on traditional interfaces. CUPS must be installed and configured.

  1. Install, start, and enable CUPS to load at startup.
sudo dnf -y install cups sudo systemctl start cups sudo systemctl enable cups
  1. Verify the contents of these folders:
sudo ls -lah /etc/cups/ppd/ sudo ls -lah /usr/share/cups/model/ sudo ls -lah /opt/brother/Printers/MFCL2750DW/cupswrapper/
  1. Download the bits:
    1. Go to: https://www.brother-usa.com/brother-support/
    2. Search for Model: MFCL2750DW
    3. OS Family: Linux
    4. OS Version: rpm
    5. File name: Linux printer driver (rpm package)
  2. Install the Brother RPM.
sudo dnf -y install /home/thammond/Downloads/mfcl2750dwpdrv-*.i386.rpm
  1. Create a symbolic link where: /usr/share/etc points to: /opt/brother/Printers/etc.
sudo ln -s /opt/brother/Printers/MFCL2750DW/cupswrapper/brother-MFCL2750DW-cups-en.ppd /usr/share/cups/model/brother-MFCL2750DW-cups-en.ppd
  1. Verify the following:
    1. The driver is: pressent
    2. The permissions are set to: 777.
    3. Verify the ownership is set to: root:root.
sudo ls -lah /usr/share/cups/model/
  1. Get a list of installed printers:
sudo lpstat -v
  1. Delete the pre-installed printer. If cups is installed first and then the Brother drivers a local printer may be installed.
sudo lpadmin -x MFCL2750DW
  1. In addition to the main cups.service, there’s also cups-browsed.service, which is used to scan and add printer from the local network. If you want your CentOS 8/RHEL 8 computer to be able to use other printers on the local network, start this service.
    • sudo systemctl start cups-browsed
    • sudo systemctl enable cups-browsed
  1. CUPS can be admistered from: http://localhost:631.
  2. This command creates a networked printer. Going through the wizard is not needed now.
sudo lpadmin -p MFCL2750DW -v socket://192.168.31.50 -E -P /usr/share/cups/model/brother-MFCL2750DW-cups-en.ppd
  1. The following commands:
    1. Set the printer as the default.
    2. Disable printer sharing.
    3. Set the media to letter.
    4. Set the type to plain paper.
    5. Enable duplex printing.
sudo lpadmin -d MFCL2750DW sudo lpadmin -p MFCL2750DW -o printer-is-shared=false sudo lpadmin -p MFCL2750DW -o Media=Letter sudo lpadmin -p MFCL2750DW -o BrMediaType=PLAIN sudo lpadmin -p MFCL2750DW -o Duplex=DuplexNoTumble
  1. If you need to remove the driver for whatever reason:
sudo dnf -y remove mfcl2750dwpdrv.i386

Cambridge Magic 200 DAC

Install USB utilities to verify if the DAC is seen.

sudo dnf -y install usbutils lsusb | grep -i Cambridge

This kernel moduel should be loaded, but just in case.

sudo modprobe snd-usb-audio

Make a backup of the Pulse Config.

sudo cp /etc/pulse/daemon.conf /etc/pulse/daemon.conf.bak

Make a few changes to dramaticlly increase the quality.

sudo sed -i 's/; resample-method = speex-float-1/resample-method = src-sinc-best-quality/g' /etc/pulse/daemon.conf sudo sed -i 's/; default-sample-format = s16le/default-sample-format = s24le/g' /etc/pulse/daemon.conf sudo sed -i 's/; default-sample-rate = 44100/default-sample-rate = 192000/g' /etc/pulse/daemon.conf sudo sed -i 's/; default-sample-channels = 2/default-sample-channels = 2/g' /etc/pulse/daemon.conf sudo sed -i 's/; default-channel-map = front-left,front-right/default-channel-map = front-left,front-right/g' /etc/pulse/daemon.conf

Verify changes.

sudo cat /etc/pulse/daemon.conf | grep sample

Restart the Pulse Audio app within the current user.

killall pulseaudio systemctl --user restart pulseaudio

Netgear USB WiFi NIC Setup

Install the pre-req.

sudo dnf -y install usbutils traceroute NetworkManager-wifi

Verify the OS sees the wireless NIC.

sudo lsusb | grep -i netgear sudo modprobe mt76x2u

You should see something along these lines:

  • wlp6s0f1u3: unmanaged
  • NetGear A6210
  • wifi (mt76x2u), 80:CC:9C:82:XY:ZY, plugin missing, hw, mtu 1500

To enable the WiFi card.

sudo ifconfig wlp6s0f1u3 up

To connect to the wireless network in a single string.

nmcli connection add type wifi con-name wlp6s0f1u3 ssid 'Irish Oaks Guest' ifname wlp6s0f1u3

Start the text based wizard. Note: sudo is not required.

nmcli

There may be problems having multiple interfaces, so I had to down some devices to get the WiFi to be the primary.

nmcli # de-activate bond0 sudo ifconfig bond0 down sudo ifconfig enp12s0f0 down # This is a leg of the LACP LAG (bond0) sudo ifconfig enp12s0f1 down # This is a leg of the LACP LAG (bond0)

You shouldn't have to, but just to document it.

sudo systemctl restart NetworkManager