Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No such display #13

Open
Roroca-1 opened this issue Nov 21, 2023 · 5 comments
Open

No such display #13

Roroca-1 opened this issue Nov 21, 2023 · 5 comments

Comments

@Roroca-1
Copy link

Using Fedora38 with GNOME on Wayland
./gnome-gamma-tool.py -g 2.0
returns
No such display, found 0 displays.

@zb3
Copy link
Owner

zb3 commented Nov 21, 2023

Just to make sure: you have a physical monitor connected, right?

If so, I'd need to know if ColorManager can find your monitor and in order to know that I'd need relevant dbus-monitor logs.

So AFTER running gnome-gamma-tool, what is the output of:

dbus-send --system --print-reply --type=method_call /org/freedesktop/ColorManager --dest=org.freedesktop.ColorManager org.freedesktop.ColorManager.GetDevices

In my case, the reply looks like this:

method return time=1700565512.194333 sender=:1.26 -> destination=:1.221 serial=1765 reply_serial=2
   array [
      object path "/org/freedesktop/ColorManager/devices/my_monitor_name_here"
      object path "/org/freedesktop/ColorManager/devices/sysfs__null_"
   ]

If you also see the monitor path there, we need to see if ColorManager recognizes it as a display, so take the name you see there and call (replace the name):

dbus-send --system --print-reply --type=method_call /org/freedesktop/ColorManager/devices/your_monitor_name_here --dest=org.freedesktop.ColorManager org.freedesktop.DBus.Properties.GetAll string:org.freedesktop.ColorManager.Device

and please paste the output here.

Without these I can't really know what's going on

@Roroca-1
Copy link
Author

The output of dbus-send --system --print-reply --type=method_call /org/freedesktop/ColorManager --dest=org.freedesktop.ColorManager org.freedesktop.ColorManager.GetDevices is method return time=1700647885.802026 sender=:1.90 -> destination=:1.180 serial=61 reply_serial=2 array [ ]
Does this mean ColorManager could not locate my display?

@zb3
Copy link
Owner

zb3 commented Nov 22, 2023

Well, yes and no... mutter is supposed to manually tell colord (ColorManager) what devices are connected on startup.. Of course many things can go wrong, like if you kill the colord process and then restart it, the monitors won't be visible. Great design, isn't it? But it's GNOME so we have to lower our expectations to 0 (possibly below 0).
(if you like being ghosted, consider reporting a bug to GNOME)

Ok, so now I need to know if mutter has the list. So please also show the output of:

dbus-send --session --print-reply --type=method_call /org/gnome/Mutter/DisplayConfig --dest=org.gnome.Mutter.DisplayConfig org.gnome.Mutter.DisplayConfig.GetCurrentState

If the monitor will be visible there, the solution could be to manually tell colord about that device, but it probably won't be an easy task..

@Roroca-1
Copy link
Author

method return time=1700661745.872118 sender=:1.23 -> destination=:1.247 serial=2749 reply_serial=2 uint32 1 array [ struct { struct { string "DP-1" string "AUS" string "VG279QM" string "L6LMQS076688" } array [ struct { string "[email protected]" int32 1920 int32 1080 double 279.857 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ dict entry( string "is-current" variant boolean true ) dict entry( string "is-preferred" variant boolean true ) ] } struct { string "[email protected]" int32 1920 int32 1080 double 239.76 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 144.001 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 119.93 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 99.8983 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 84.8839 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 60 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 59.9394 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 50 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1440 int32 576 double 50 double 1 array [ double 1 double 1.25217 ] array [ ] } struct { string "[email protected]" int32 1440 int32 480 double 59.9401 double 1 array [ double 1 double 1.25 ] array [ ] } struct { string "[email protected]" int32 1280 int32 1024 double 75.0247 double 1 array [ double 1 double 1.24878 double 1.49708 double 1.75342 ] array [ ] } struct { string "[email protected]" int32 1280 int32 800 double 74.9341 double 1 array [ double 1 double 1.25 double 1.49533 ] array [ ] } struct { string "[email protected]" int32 1280 int32 800 double 59.8103 double 1 array [ double 1 double 1.25 double 1.49533 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 74.7766 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 60 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 59.9434 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 50 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1024 int32 768 double 75.0286 double 1 array [ double 1 double 1.24878 ] array [ ] } struct { string "[email protected]" int32 1024 int32 768 double 70.0694 double 1 array [ double 1 double 1.24878 ] array [ ] } struct { string "[email protected]" int32 1024 int32 768 double 60.0038 double 1 array [ double 1 double 1.24878 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 75 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 72.1876 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 60.3165 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 56.25 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 720 int32 576 double 50 double 1 array [ double 1 ] array [ ] } ] array [ dict entry( string "is-builtin" variant boolean false ) dict entry( string "display-name" variant string "ASUSTek COMPUTER INC 27"" ) ] } struct { struct { string "HDMI-1" string "AUS" string "VG279QM" string "L6LMQS076688" } array [ struct { string "[email protected]" int32 1920 int32 1080 double 120 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 119.878 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 100.001 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 85.0009 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 60 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ dict entry( string "is-current" variant boolean true ) dict entry( string "is-preferred" variant boolean true ) ] } struct { string "[email protected]" int32 1920 int32 1080 double 59.9394 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1920 int32 1080 double 50 double 1 array [ double 1 double 1.25 double 1.5 double 1.73913 double 2 double 2.30769 ] array [ ] } struct { string "[email protected]" int32 1440 int32 576 double 50 double 1 array [ double 1 double 1.25217 ] array [ ] } struct { string "[email protected]" int32 1440 int32 480 double 59.9401 double 1 array [ double 1 double 1.25 ] array [ ] } struct { string "[email protected]" int32 1280 int32 1024 double 75.0247 double 1 array [ double 1 double 1.24878 double 1.49708 double 1.75342 ] array [ ] } struct { string "[email protected]" int32 1280 int32 800 double 74.9341 double 1 array [ double 1 double 1.25 double 1.49533 ] array [ ] } struct { string "[email protected]" int32 1280 int32 800 double 59.8103 double 1 array [ double 1 double 1.25 double 1.49533 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 74.9966 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 60 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 59.9434 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1280 int32 720 double 50 double 1 array [ double 1 double 1.25 double 1.50943 ] array [ ] } struct { string "[email protected]" int32 1024 int32 768 double 75.0286 double 1 array [ double 1 double 1.24878 ] array [ ] } struct { string "[email protected]" int32 1024 int32 768 double 70.0694 double 1 array [ double 1 double 1.24878 ] array [ ] } struct { string "[email protected]" int32 1024 int32 768 double 60.0038 double 1 array [ double 1 double 1.24878 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 75 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 72.1876 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 60.3165 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 800 int32 600 double 56.25 double 1 array [ double 1 ] array [ ] } struct { string "[email protected]" int32 720 int32 576 double 50 double 1 array [ double 1 ] array [ ] } ] array [ dict entry( string "is-builtin" variant boolean false ) dict entry( string "display-name" variant string "ASUSTek COMPUTER INC 27"" ) ] } ] array [ struct { int32 0 int32 0 double 1 uint32 0 boolean true array [ struct { string "DP-1" string "AUS" string "VG279QM" string "L6LMQS076688" } ] array [ ] } struct { int32 1920 int32 0 double 1 uint32 0 boolean false array [ struct { string "HDMI-1" string "AUS" string "VG279QM" string "L6LMQS076688" } ] array [ ] } ] array [ dict entry( string "layout-mode" variant uint32 1 ) dict entry( string "supports-changing-layout-mode" variant boolean true ) dict entry( string "legacy-ui-scaling-factor" variant int32 1 ) ]

@zb3
Copy link
Owner

zb3 commented Nov 23, 2023

Now it gets complicated, because the next step'd be to check if mutter has created so called "meta color device"..

The optimistic case is that the object exists. In that case, try running: (the id argument is important, it must match)

colormgr create-device 'xrandr-ASUSTek COMPUTER INC-VG279QM-L6LMQS076688' disk display

and then again try running gnome-gamma-tool - if mutter wanted to create the device but for some reason couldn't, this command can create the device.

Otherwise it seems the bug must exist somewhere in mutter.

To diagnose color-related problems in mutter, you can turn on mutter color logs by executing this command (requires superuser):

echo -e "MUTTER_DEBUG=color\n" | sudo tee -a /etc/environment

Then reboot the system and check color related logs like this:

journalctl -b | grep gnome-shell

You should see these lines:

COLOR: Created new color device

and

Color device [your id] generated

In any case, the whole output is what you should include in your bug report against mutter, possibly in https://gitlab.gnome.org/GNOME/mutter/-/issues/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants