Skip to content

/sys/class/drm/*/enabled reports “disabled” for enabled monitors #889

@RMTT

Description

@RMTT

NVIDIA Open GPU Kernel Modules Version

570.169

Please confirm this issue does not happen with the proprietary driver (of the same version). This issue tracker is only for bugs specific to the open kernel driver.

  • I confirm that this does not happen with the proprietary driver package.

Operating System and Version

NixOS

Kernel Release

6.15.2

Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.

  • I am running on a stable kernel release.

Hardware: GPU

NVIDIA GeForce RTX 5070 Ti Laptop GPU

Describe the bug

That's old problem which had been reported in https://forums.developer.nvidia.com/t/sys-class-drm-enabled-reports-disabled-for-enabled-monitors/51187 , but it doesn't been solved until now.

I found that kernel updates /sys/class/drm/*/enabled by(https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_sysfs.c#L251):

	struct drm_connector *connector = to_drm_connector(device);
	bool enabled;

	enabled = READ_ONCE(connector->encoder);

	return sysfs_emit(buf, enabled ? "enabled\n" : "disabled\n");

Seems just check the existence of field connector->encoder . I skimmed nvidia-drm sources, seems there is no assignment for connector->encoder, and it only uses connector->nv_detected_encoder .

Some softwares which depend on /sys/class/drm/*/enabled to detect monitor's status cannot work incorrectly when use nvidia card, for example, logind in laptop with nvidia card.

To Reproduce

cat /sys/class/drm/*/enabled

Bug Incidence

Once

nvidia-bug-report.log.gz

nvidia-bug-report.log.gz

More Info

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions