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

Function not implemented (display_activate() in ../kmscon-9.0.0/src/uterm_drm3d_video.c:171) #79

Closed
rulatir opened this issue Feb 28, 2024 · 1 comment

Comments

@rulatir
Copy link

rulatir commented Feb 28, 2024

This is what I get when I try to use kmscon:

Feb 28 13:01:02 berbelek kmscon[3538]: [0000.000000] NOTICE: kmscon Revision v9.0.0 Feb 28 2024 11:45:18 (log_print_init() in ../kmscon-9.0.0/src/shl_log.c:509)
Feb 28 13:01:02 berbelek kmscon[3538]: [0000.000011] INFO: conf: reading config file /etc/kmscon/kmscon.conf (conf_parse_file() in ../kmscon-9.0.0/src/conf.c:547)
Feb 28 13:01:02 berbelek kmscon[3538]: [0000.002685] INFO: systemd: system booted with systemd, enabling multi-seat support (uterm_sd_new() in ../kmscon-9.0.0/src/uterm_systemd.c:67)
Feb 28 13:01:02 berbelek kmscon[3538]: [0000.006661] NOTICE: vt: using tty /dev/tty4 (open_tty() in ../kmscon-9.0.0/src/uterm_vt.c:285)
Feb 28 13:01:02 berbelek kmscon[3538]: [0000.099089] INFO: drm_shared: new drm device via /dev/dri/card0 (uterm_drm_video_init() in ../kmscon-9.0.0/src/uterm_drm_shared.c:501)
Feb 28 13:01:02 berbelek kmscon[3538]: [0000.125010] INFO: video: new device 0x5e96764818b0 (uterm_video_new() in ../kmscon-9.0.0/src/uterm_video.c:576)
Feb 28 13:01:02 berbelek kmscon[3538]: [0000.125440] INFO: ignoring video device /dev/fb0 on seat seat0 as it is a DRM-fbdev device (app_seat_gpu_is_ignored() in ../kmscon-9.0.0/src/kmscon_main.c:287)
Feb 28 13:01:06 berbelek kmscon[3538]: [0003.842314] INFO: video: new display 0x5e967647ab20 (display_new() in ../kmscon-9.0.0/src/uterm_video.c:235)
Feb 28 13:01:06 berbelek kmscon[3538]: [0003.842335] INFO: drm_shared: display 0x5e967647ab20 DPMS is ON (bind_display() in ../kmscon-9.0.0/src/uterm_drm_shared.c:632)
Feb 28 13:01:06 berbelek kmscon[3538]: [0003.844045] INFO: video: new display 0x5e96764cb670 (display_new() in ../kmscon-9.0.0/src/uterm_video.c:235)
Feb 28 13:01:06 berbelek kmscon[3538]: [0003.844061] INFO: drm_shared: display 0x5e96764cb670 DPMS is ON (bind_display() in ../kmscon-9.0.0/src/uterm_drm_shared.c:632)
Feb 28 13:01:06 berbelek kmscon[3538]: [0003.844259] INFO: uterm_drm3d_video: activating display 0x5e96764cb670 to 1920x1200 (display_activate() in ../kmscon-9.0.0/src/uterm_drm3d_video.c:155)
Feb 28 13:01:06 berbelek kmscon[3538]: [0003.846084] ERROR: uterm_drm3d_video: cannot create gbm surface (38): Function not implemented (display_activate() in ../kmscon-9.0.0/src/uterm_drm3d_video.c:171)
Feb 28 13:01:06 berbelek kmscon[3538]: [0003.846095] INFO: uterm_drm3d_video: activating display 0x5e967647ab20 to 1280x1024 (display_activate() in ../kmscon-9.0.0/src/uterm_drm3d_video.c:155)
Feb 28 13:01:06 berbelek kmscon[3538]: [0004.015201] ERROR: uterm_drm3d_video: cannot create gbm surface (38): Function not implemented (display_activate() in ../kmscon-9.0.0/src/uterm_drm3d_video.c:171)
Feb 28 13:01:39 berbelek sudo[3637]:  rulatir : TTY=pts/1 ; PWD=/home/rulatir ; USER=root ; COMMAND=/usr/bin/systemctl edit --full kmsconvt@.service
Feb 28 13:02:06 berbelek kmscon[3538]: [0064.020119] INFO: pty: child exited: pid: 3571 status: 0 (sig_child() in ../kmscon-9.0.0/src/pty.c:516)
Feb 28 13:02:29 berbelek sudo[3745]:  rulatir : TTY=pts/1 ; PWD=/home/rulatir ; USER=root ; COMMAND=/usr/bin/systemctl start kmsconvt@tty4.service
Feb 28 13:03:06 berbelek kmscon[3538]: [0124.029060] INFO: pty: child exited: pid: 3669 status: 0 (sig_child() in ../kmscon-9.0.0/src/pty.c:516)
Feb 28 13:04:06 berbelek kmscon[3538]: [0184.037594] WARNING: eloop: cannot read signalfd (11): Resource temporarily unavailable (shared_signal_cb() in ../kmscon-9.0.0/src/eloop.c:374)

My graphics card is GeForce GTX 960.

My driver is proprietary 550.54.14, nvidia-dkms Arch package.

My kmscon is this AUR package, but I have also tried the kmscon-git and kmscon-patched-git packages with identical results.

My service file:

[Unit]
Description=KMS System Console on %I
Documentation=man:kmscon(1)
After=systemd-user-sessions.service
After=plymouth-quit-wait.service
Before=getty.target
Conflicts=getty@%i.service
OnFailure=getty@%i.service
IgnoreOnIsolate=yes
ConditionPathExists=/dev/tty0

[Service]
ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt --no-hwaccel --no-drm --debug
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes

[Install]
WantedBy=getty.target

I added --debug. --no-hwaccel and --no-drm are leftovers from trying every combination of --<option>, --no-<option> and not specifying the respective option at all, for hwaccel and drm. All combinations result in the errors pasted above.

I am trying to get kmscon to work as an alternative to the kernel framebuffer console because that is also broken with the newest NVIDIA drivers (last one that works is 535). This leaves me with a graphical-only system without a fallback console support whatsoever. I can't use Ctrl+Alt+F<n> to switch to virtual consoles, and systemctl isolate multi-user.target drops me to dead black screen.

If there is no simple solution to this issue, can you recommend an alternative that will restore my system's basic console functionality?

@rulatir
Copy link
Author

rulatir commented Feb 28, 2024

SOLVED. Properly disabling nvidia_drm.fbdev allows efifb to be used, which has always worked.

@rulatir rulatir closed this as completed Feb 28, 2024
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

1 participant