lp:~mamolinux/mamolinux/+git/muffin

Owned by MamoLinux
Get this repository:
git clone https://git.launchpad.net/~mamolinux/mamolinux/+git/muffin

Import details

Import Status: Reviewed

This repository is an import of the Git repository at https://github.com/mamolinux/muffin.git.

The next import is scheduled to run .

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 20 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 20 seconds — see the log

Branches

Name Last Modified Last Commit
master 2024-05-21 15:18:02 UTC
meta-monitor-manager-xrandr.c: DeleteMonitor before SetMonitor (#693)

Author: jknockel
Author Date: 2024-05-21 15:18:02 UTC

meta-monitor-manager-xrandr.c: DeleteMonitor before SetMonitor (#693)

A somewhat similar fix appears in mutter [1].

The RandR protocol [2] states concerning RRSetMonitor that:

> If 'name' matches an existing Monitor on the screen, the
> existing one will be deleted as if RRDeleteMonitor were called.

Unfortunately, this behavior is not the case in practice, and if an
existing monitor with the same name exists the server generates a
BadValue error [3]. While this was fixed very recently in the Xorg
xserver [3], it is unclear when these changes will make it to most
distributions due to how long it has been since a formal Xorg xserver
major release. Therefore, we must ourselves prevent muffin from
aborting if a monitor with the same name already exists, a common
condition upon restarting cinnamon or calling `cinnamon --replace`.

The mutter fix [1] solves the problem of preventing mutter from aborting
on the error, but the request still fails to set the monitor's outputs.
The mutter fix also uses an API which is not in muffin yet.

Therefore, we take the approach of using xcb to first delete any monitor
with the name of the one which we wish to set. Note that this request
can also fail if no such monitor exists, so we explicitly ignore this
error.

A word of warning to those who may wish to use xcb to also replace the
SetMonitor call: a crashing bug was only recently fixed in libxcb [4]
which caused all calls to xcb_randr_set_monitor() to crash or otherwise
cause the calling program to behave in an undefined manner. While the
fix is released in libxcb 1.17, this version is not even available in
Ubuntu 24.04, for instance. Therefore, it may be some time before we
can reliably call xcb_randr_set_monitor().

[1] https://gitlab.gnome.org/GNOME/mutter/-/commit/8d3696f39a0b3af725b7615f7e2ac74ce5e0bcbf
[2] https://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt
[3] https://gitlab.freedesktop.org/xorg/xserver/-/commit/146bb9b2c19fb75b7629b65d5871969b7fcef97a
[4] https://gitlab.freedesktop.org/xorg/lib/libxcb/-/commit/038636786ad1914f3daf3503ae9611f40dffbb8f

mamolinux/stable 2023-12-28 11:53:15 UTC
6.0.1

Author: Clement Lefebvre
Author Date: 2023-12-28 11:53:15 UTC

6.0.1

autosync-upstream 2023-12-01 18:43:39 UTC
Merge branch 'linuxmint:master' into autosync-upstream

Author: Himadri Sekhar Basu
Author Date: 2023-12-01 18:43:39 UTC

Merge branch 'linuxmint:master' into autosync-upstream

13 of 3 results
This repository contains Public information 
Everyone can see this information.