Testers needed: Manjaro Data Donor

Tested it and noticed also that the refresh rate of the monitor seems to not be picked up correctly by inxi. I use the X11-Server and have only one monitor.

xrandr ouput:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x1080     60.00*+
   1680x1050     60.00  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1440x900      60.00  
   1280x800      60.00  
   1152x864      75.00  
   1280x720      60.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
   720x400       70.08  
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
HDMI-A-3 disconnected (normal left inverted right x axis y axis)
HDMI-A-4 disconnected (normal left inverted right x axis y axis)
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
DP-1-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-2 disconnected (normal left inverted right x axis y axis)
DP-1-2 disconnected (normal left inverted right x axis y axis)
HDMI-1-3 disconnected (normal left inverted right x axis y axis)

I created a patch for the missing refresh rate and other output data: feat: fallback to xrandr by romangg · Pull Request #4 · manjaro/mdd · GitHub

If you have that issue, could you give it a try? You can also simply copy-paste this file content to /usr/bin/mdd and then run it.

I still get no refresh rate:

    "graphics": {
        "comp": "kwin_x11",
        "dri": "radeonsi",
        "gpus": [
            {
                "vendor": "XFX",
                "model": "Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]",
                "driver": "amdgpu"
            }
        ],
        "outputs": [
            {
                "model": "PA248QV",
                "res": "1920x1200",
                "refresh": null,
                "dpi": 94.0,
                "size": "518x324",
                "mapped": "DisplayPort-2"
            },
            {
                "model": "FUNAI TV",
                "res": "1920x1200",
                "refresh": null,
                "dpi": null,
                "size": "16x9",
                "mapped": "HDMI-A-0"
            }
        ]
    },

and I also can not run it with sudo:

 omano  ~ $  sudo mdd --dry-run
Welcome to MDD - The Manjaro Data Donor
Preparing data submission...
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
Traceback (most recent call last):
  File "/usr/bin/mdd", line 794, in <module>
    main()
  File "/usr/bin/mdd", line 759, in main
    data = get_device_data(args.telemetry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/mdd", line 704, in get_device_data
    "audio": get_audio_info(),
             ^^^^^^^^^^^^^^^^
  File "/usr/bin/mdd", line 453, in get_audio_info
    pulse_out = get_command_output("pactl info").split("\n")
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'
 omano  ~ $  pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 13
Tile Size: 65472
User Name: omano
Host Name: omano-nvme
Server Name: pulseaudio
Server Version: 17.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_0b_00.4.analog-stereo
Default Source: alsa_input.usb-HP__Inc_HyperX_Cloud_III_000000000000-00.mono-fallback
Cookie: ef38:52df

 omano  ~ $  sudo pactl info
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

I notice my locale is “wrong”

    "locale": {
        "region": "fr_FR.UTF-8",
        "language": "C",
        "timezone": "Europe/Paris"
    },

This is my language in my current terminal, not on the system. System language is French.

I updated the monitor fallback code. Can you try again? The pactl issue I look into later.

    "graphics": {
        "comp": "kwin_x11",
        "dri": "radeonsi",
        "gpus": [
            {
                "vendor": "XFX",
                "model": "Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]",
                "driver": "amdgpu"
            }
        ],
        "outputs": [
            {
                "model": "PA248QV",
                "res": "1920x1200",
                "refresh": 74.93,
                "dpi": 94.0,
                "size": "518x324",
                "mapped": "DisplayPort-2"
            },
            {
                "model": "FUNAI TV",
                "res": "1920x1200",
                "refresh": null,
                "dpi": null,
                "size": "16x9",
                "mapped": "HDMI-A-0"
            }
        ]
    },

Working now.

1 Like

Not for the second one though. And why does it have a size of 16mm x 9mm? :laughing:

"outputs": [
            {
                "model": null,
                "res": "1920x1080",
                "refresh": 0,
                "dpi": 0,
                "size": "N/A"

Now that I notice it, there isn’t much information about the monitor, just the resolution. It seems to be the same problem as Omano, I’ve updated the mdd package just now, but it still doesn’t show that information.

But this only applies to outputs such as HDMI? It’s a laptop.

Can you provide me with your inxi --output json --output-file print -Fxxx output so I can debug it more easily?

@romangg

There’s an issue with the audio information in my case, I use pulse:
mdd output:

"audio": {
        "servers": [
            {
                "name": "PulseAudio",
                "active": false
            },
            {
                "name": "PipeWire",
                "active": true
            }
        ]
    },

pactl info output:

Summary
LANG=C pactl info                                                                                       ✔ 
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 32
Tile Size: 65472
User Name: geggo
Host Name: geggOS
Server Name: pulseaudio
Server Version: 17.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_0e_00.4.analog-stereo
Default Source: alsa_output.pci-0000_0e_00.4.analog-stereo.monitor
Cookie: 11e1:5f47

Code in question: mdd/mdd.py at 7c1d8ae990e2ded633cf6a931e11232491e3786f · manjaro/mdd · GitHub

pw-cli info 0 output:

Summary
	id: 0
	permissions: r-xm-
	type: PipeWire:Interface:Core/4
	cookie: 2939451611
	user-name: "geggo"
	host-name: "geggOS"
	version: "1.2.6"
	name: "pipewire-0"
*	properties:
*		config.name = "pipewire.conf"
*		application.name = "pipewire"
*		application.process.binary = "pipewire"
*		application.language = "de_DE.UTF-8"
*		application.process.id = "1978"
*		application.process.user = "geggo"
*		application.process.host = "geggOS"
*		window.x11.display = ":0"
*		link.max-buffers = "16"
*		core.daemon = "true"
*		core.name = "pipewire-0"
*		module.x11.bell = "true"
*		module.access = "true"
*		module.jackdbus-detect = "true"
*		cpu.max-align = "32"
*		default.clock.rate = "48000"
*		default.clock.quantum = "1024"
*		default.clock.min-quantum = "32"
*		default.clock.max-quantum = "2048"
*		default.clock.quantum-limit = "8192"
*		default.clock.quantum-floor = "4"
*		default.video.width = "640"
*		default.video.height = "480"
*		default.video.rate.num = "25"
*		default.video.rate.denom = "1"
*		log.level = "2"
*		clock.power-of-two-quantum = "true"
*		mem.warn-mlock = "false"
*		mem.allow-mlock = "true"
*		settings.check-quantum = "false"
*		settings.check-rate = "false"
*		object.id = "0"
*		object.serial = "0"

Code in question: mdd/mdd.py at 7c1d8ae990e2ded633cf6a931e11232491e3786f · manjaro/mdd · GitHub


Maybe you need to try a different approach?
Cheers

Maybe the issue is that I didn’t put the LANG=C before the call like you did? What’s the output without LANG=C on your machine?

We added a variant of mdd to aarch64 branches now too.

2 Likes

Yeah it seems like that, here the output.

pactl info:

Server-Zeichenkette: /run/user/1000/pulse/native
Bibliotheks-Protokollversion: 35
Server-Protokollversion: 35
ist lokal: ja
Client-Index: 33
Tile-Größe: 65472
Name des Benutzers: geggo
Rechnername: geggOS
Name des Servers: pulseaudio
Version des Servers: 17.0
Standard-Abtastwert-Angabe: s16le 2ch 44100Hz
Standard-Kanal-Zuordnung: front-left,front-right
Standard-Ziel: alsa_output.pci-0000_0e_00.4.analog-stereo
Standard-Quelle: alsa_output.pci-0000_0e_00.4.analog-stereo.monitor

pw-cli info 0:

	id: 0
	permissions: r-xm-
	type: PipeWire:Interface:Core/4
	cookie: 2939451611
	user-name: "geggo"
	host-name: "geggOS"
	version: "1.2.6"
	name: "pipewire-0"
*	properties:
*		config.name = "pipewire.conf"
*		application.name = "pipewire"
*		application.process.binary = "pipewire"
*		application.language = "de_DE.UTF-8"
*		application.process.id = "1978"
*		application.process.user = "geggo"
*		application.process.host = "geggOS"
*		window.x11.display = ":0"
*		link.max-buffers = "16"
*		core.daemon = "true"
*		core.name = "pipewire-0"
*		module.x11.bell = "true"
*		module.access = "true"
*		module.jackdbus-detect = "true"
*		cpu.max-align = "32"
*		default.clock.rate = "48000"
*		default.clock.quantum = "1024"
*		default.clock.min-quantum = "32"
*		default.clock.max-quantum = "2048"
*		default.clock.quantum-limit = "8192"
*		default.clock.quantum-floor = "4"
*		default.video.width = "640"
*		default.video.height = "480"
*		default.video.rate.num = "25"
*		default.video.rate.denom = "1"
*		log.level = "2"
*		clock.power-of-two-quantum = "true"
*		mem.warn-mlock = "false"
*		mem.allow-mlock = "true"
*		settings.check-quantum = "false"
*		settings.check-rate = "false"
*		object.id = "0"
*		object.serial = "0"
1 Like

I merged the fixes for refresh rate and audio detection. The tool should now also run under root.

There has been an issue with one of the refresh rates still not being set in @omano’s last output of the tool. I would be interested in feedback from other people who also had the issue with the refresh rate not being set before. If it now works for them.

Can confirm audio being detected correctly now.

"audio": {
        "servers": [
            {
                "name": "PulseAudio",
                "active": true
            },
            {
                "name": "PipeWire",
                "active": false
            }
        ]

I had the same issue, which seems to be resolved with the new version.

output old version:

"outputs": [
            {
                "model": null,
                "res": "3840x2160",
                "refresh": 0,
                "dpi": 0,
                "size": "N/A"
            }

output current version:

"outputs": [
            {
                "model": null,
                "res": "3840x2160",
                "refresh": 59.98,
                "dpi": null,
                "size": "610x350",
                "mapped": "DP-3"
            }

However, not sure why model and dpi is “null”.
Edit:
Running as root fills in the missing pieces:

"outputs": [
            {
                "model": "Samsung U28E590",
                "res": "3840x2160",
                "refresh": 60.0,
                "dpi": 160.0,
                "size": "610x350",
                "mapped": "DP-3"
            }
        ]

Thanks. xrandr doesn’t provide the model and dpi info in any case. So if we fallback to that we only get this info.

Before xrandr we try inxi, but this doesn’t seem to get most of the info on some systems when not run as root. When you run as root, inxi gets apparently model and I assume refresh and so too as it’s now at 60 instead of 59.98, what was probably before provided by xrandr.

1 Like

The second monitor is plugged but disabled currently.

The monitor has no info for the size, so I guess it puts the ratio 16/9. // edit: no, inxi gives size: 16x9mm (0.63x0.35") diag: 6mm (0.2") :rofl:

inxi Graphics with sudo (full json without sudo here):

Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT
    / 6900 XT] vendor: XFX driver: amdgpu v: kernel arch: RDNA-2 pcie:
    speed: 16 GT/s lanes: 16 ports: active: DP-3 off: HDMI-A-1
    empty: DP-1,DP-2 bus-ID: 09:00.0 chip-ID: 1002:73bf class-ID: 0300
  Display: unspecified server: X.Org v: 21.1.14 with: Xwayland v: 24.1.4
    compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting,radeon
    alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1200 s-dpi: 96 s-size: 507x317mm (19.96x12.48")
    s-diag: 598mm (23.54")
  Monitor-1: DP-3 mapped: DisplayPort-2 pos: primary model: PA248QV
    serial: MCLMQS198106 res: 1920x1200 dpi: 94 size: 518x324mm (20.39x12.76")
    diag: 611mm (24.1") modes: max: 1920x1200 min: 720x400
  Monitor-2: HDMI-A-1 mapped: HDMI-A-0 note: disabled model: FUNAI TV
    res: 1920x1200 size: 16x9mm (0.63x0.35") diag: 6mm (0.2") modes:
    max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: radeonsi surfaceless: drv: radeonsi x11:
    drv: radeonsi inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.2.6-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6800 (radeonsi navi21
    LLVM 18.1.8 DRM 3.54 6.6.59-1-MANJARO) device-ID: 1002:73bf
  API: Vulkan v: 1.3.295 layers: 4 surfaces: xcb,xlib device: 0
    type: discrete-gpu hw: amd driver: mesa radv device-ID: 1002:73bf
 omano  ~ $  xrandr
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95 +  74.93*   72.00    60.01    50.02  
   1920x1080     60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      59.89  
   1280x960      60.00  
   1280x800      59.95  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
HDMI-A-0 connected (normal left inverted right x axis y axis)
   1920x1080     50.00 +  60.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1680x1050     50.00  
   1280x1024     50.00  
   1440x900      50.00  
   1360x768      60.02  
   1280x800      50.00  
   1280x768      59.99  
   1280x720      60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       60.00    59.94 

Also, I see you use the last command, don’t forget by default it truncates usernames to 8 characters, if you do not use the -w flag :wink: this need to be updated in the script. Ste74 had the issue in his Manjaro Pacnew Checker script not so long ago

PS: latest package in Unstable still has no refresh output, I took the script directly from GitHub and it works fine, even with sudo now :wink: (but only because my username is short, see above edits about last command)

I just sent my data with latest script from GitHub, and you can see there is now TWO 75Hz in the data (there was ONE before). I guess because it is not rounded and my actual refresh rate is 74.93 and not 75.
image

Thanks. Added it here: Improve sudo call by romangg · Pull Request #5 · manjaro/mdd · GitHub

Rounding the values now in the SQL query.

1 Like

I got an update to mdd just now, but after running it I see no differences in the output. Was this a bug fix?

I noticed my output says I’m using bash but that’s not true, I’m using zsh:

"desktop": {
    "cli": "/usr/bin/bash",
    "gui": "KDE Plasma",
    "dm": "SDDM",
    "wm": "kwin_wayland",
    "display": "unspecified",
    "display_with": "Xwayland"
}

Running echo $0 returns “/bin/zsh” correctly, running echo $SHELL don’t.

1

If you are on Plasma this may be a product of the way the shell is set there - it uses the Konsole Profiles … and bash is retained as the systems/environments default shell.

3 Likes