Date: Sun, 21 Oct 2007 16:27:53 +0200 (CEST) From: clemens fischer <ino-news@spotteswoode.dnsalias.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: clemens fischer <ino-news@spotteswoode.dnsalias.org> Subject: kern/117374: vidcontrol videomode: Operation not supported by device Message-ID: <20071021142753.213A51F243@spotteswoode.dnsalias.org> Resent-Message-ID: <200710211430.l9LEU1Ci011100@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 117374 >Category: kern >Synopsis: vidcontrol videomode: Operation not supported by device >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Oct 21 14:30:01 UTC 2007 >Closed-Date: >Last-Modified: >Originator: clemens fischer <ino-news@spotteswoode.dnsalias.org> >Release: FreeBSD 7.0-BETA1 amd64 >Organization: >Environment: System: FreeBSD spotteswoode.dnsalias.org 7.0-BETA1 FreeBSD 7.0-BETA1 #3: Sun Oct 21 01:52:43 CEST 2007 root@spotteswoode.dnsalias.org:/usr/obj/usr/src/sys/spott_fbsd7_amd64 amd64 >Description: in /etc/rc.conf.local, i have: allscreens_flags="-f 8x8 iso15-8x8 VGA_90x50 green" this mode is available when adding ``options VGA_WIDTH90'' into the kernel configuration. the effect of this setting stopped working after going from RELENG_6/i386 to 7-CURRENT/amd64. the error message is: 0 # vidcontrol -P </dev/ttyv1 vidcontrol: cannot set videomode: Operation not supported by device vidcontrol: cannot set videomode: Operation not supported by device usage: vidcontrol [-CdHLPpx] [-b color] [-c appearance] [-f [size] file] [-g geometry] [-h size] [-i adapter | mode] [-l screen_map] [-M char] [-m on | off] [-r foreground background] [-S on | off] [-s number] [-t N | off] [mode] [foreground [background]] [show] the other features i use in the kernel configuration, ie. setting colors for syscons(4) do work. you might have a look at /usr/src/usr.sbin/vidcontrol/vidcontrol.c around lines 600 ff. in routine "video_mode", where this error message is issued: if (ioctl(0, mode, NULL) < 0) { warn("cannot set videomode"); return EXIT_FAILURE; } other information: 1 # vidcontrol -i adapter </dev/ttyv0 fb0: vga0, type:VGA (5), flags:0x7007f initial mode:24, current mode:24, BIOS mode:3 frame buffer window:0xffffffff800b8000, buffer size:0x8000 window size:0x8000, origin:0x0 display start address (0, 0), scan line width:80 reserved:0x0 0 # vidcontrol -i mode </dev/ttyv0 mode# flags type size font window linear buffer ------------------------------------------------------------------------------ 24 (0x018) 0x00000001 T 80x25 8x16 0xb8000 32k 32k 0x00000000 32k this list is much shorter than it used to be: earlier it listed a dozen or so available video modes. i am not sure what the reason for this could be, but i'm using a recent motherboard from gigabyte: "M61P-S3", Serial Number: Mon Jan 01 00:02:38 2007 with its onboard graphic, the chipset beeing "nVIDIA GeForce 6100/nForce 430". the dmesg(8) related to vga says: vgapci0: <VGA-compatible display> mem 0xf2000000-0xf2ffffff,0xe0000000-0xefffffff,0xf5000000-0xf5ffffff irq 23 at device 13.0 on pci0 ... sc0: <System console> at flags 0x100 on isa0 sc0: VGA <9 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 pciconf -lcv: vgapci0@pci0:0:13:0: class=0x030000 card=0xd0001458 chip=0x03d010de rev=0xa2 hdr=0x00 vendor = 'Nvidia Corp' class = display subclass = VGA cap 01[48] = powerspec 2 supports D0 D3 current D0 cap 05[50] = MSI supports 1 message, 64 bit i have the feeling that it might have to do with a driver not recognizing the chip. here's the result of a ktrace(1): ... 8437 vidcontrol CALL ioctl(0,VT_GETACTIVE,0x506800) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL ioctl(0,CONS_GETINFO,0x506804) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL ioctl(0,GIO_SCRNMAP,0x50681c) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL ioctl(0,CONS_GET,0x50691c) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL ioctl(0,CONS_MODEINFO,0x506920) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL ioctl(0,CONS_GETINFO,0x5067c0) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL ioctl(0,CONS_GETINFO,0x7fffffffd840) 8437 vidcontrol RET ioctl 0 ... 8437 vidcontrol CALL ioctl(0,PIO_FONT8x8,0x800903800) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL close(0x3) 8437 vidcontrol RET close 0 8437 vidcontrol CALL ioctl(0,CONS_GET,0x7fffffffd6bc) 8437 vidcontrol RET ioctl 0 8437 vidcontrol CALL ioctl(0,SW_VGA_C90x50,0) 8437 vidcontrol RET ioctl -1 errno 19 Operation not supported by device ... i tried to find the related pieces of software: 0 # g -r VGA_C90x50 /sys/ /sys/dev/fb/vga.c: { M_VGA_C90x50, V_INFO_COLOR, 90, 50, 8, 8, 4, 1, /sys/dev/fb/vga.c: { M_VGA_C90x50, M_VGA_C80x25 }, /sys/dev/fb/vga.c: case M_VGA_C90x50: case M_VGA_M90x50: /sys/dev/syscons/scvidctl.c: case SW_VGA_C90x50: case SW_VGA_M90x50: /sys/sys/consio.h:#define SW_VGA_C90x50 _IO('S', M_VGA_C90x50) /sys/sys/fbio.h:#define M_VGA_C90x50 46 /* vga 8x8 font on color */ but none of these files look anything suspicious. i tried other video settings, but none of them work. i was tempted to use VESA modes, but amd64 doesn't have VESA support. >How-To-Repeat: the behaviour is 100% reproducible. >Fix: i have no workaround or fix. the bug is annoying when installing a new release, like going from RELENG_6 to RELENG_7 using installation CDs for a new architecture (amd64), without anything on the machine. in these cases i usually install ports/sysutils/screen to start working. especially things like mergemaster(8) are difficult with only 80 columns. once X11 is up, i don't care all that much, though. regards, clemens >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071021142753.213A51F243>