Only an "Autoadjust" option that changes nothing.
There is an info panel which tells me that
Current setting: 1024x768-60 hz
Recommended setting: 1280x1024-60 hz
But I knew that already. I can't get the system to believe it's
1280x1024 and talk to it accordingly.
Headed down a rabbit hole here, I used strace(1) on fbset that fails
with error messages. It appears that fbset opens /etc/fb.modes,
reads it and tries to execute an ioctl call with a TCGETS request
but using the same file descriptor returned from opening
/etc/fb.modes. That's obviously wrong and ENOTTY is returned.
Tracing system calls is a bit above my pay grade but it looks like
fbset is screwing up. Anybody know anything about that?
bogus% strace /usr/sbin/fbset 1280x1024-m
execve("/usr/sbin/fbset", ["/usr/sbin/fbset", "1280x1024-m"], [/* 44 vars */]) = 0
brk(NULL) = 0x8128000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76db000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=152026, ...}) = 0
mmap2(NULL, 152026, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb76b5000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\210\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1848572, ...}) = 0
mmap2(NULL, 1669660, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb751d000
mprotect(0xb76ae000, 4096, PROT_NONE) = 0
mmap2(0xb76af000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x191000) = 0xb76af000
mmap2(0xb76b2000, 10780, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76b2000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb751c000
set_thread_area({entry_number:-1, base_addr:0xb751c700, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 (entry_number:6)
mprotect(0xb76af000, 8192, PROT_READ) = 0
mprotect(0xb7704000, 4096, PROT_READ) = 0
munmap(0xb76b5000, 152026) = 0
open("/dev/fb0", O_RDONLY) = 3
# Opens fb0, gets fd 3, does nothing with it
brk(NULL) = 0x8128000
brk(0x8149000) = 0x8149000
open("/etc/fb.modes", O_RDONLY) = 4
# Opens text file, fd 4
ioctl(4, TCGETS, 0xbfdb193c) = -1 ENOTTY (Inappropriate ioctl for device)
# Tries ioctl on fd=4, fails
fstat64(4, {st_mode=S_IFREG|0644, st_size=22716, ...}) = 0
read(4, "#\n# Sample video modes\n# \n# "..., 8192) = 8192
read(4, "gh\nendmode\n \n#\n#\t1024x768, 43 Hz"..., 8192) = 8192
read(4, "80.00 MHz dotclock)\n#\t\n#\t\t\t\tHori"..., 8192) = 6332
read(4, "", 4096) = 0
read(4, "", 8192) = 0
# Reads entire ASCII contents of fd 4
ioctl(4, TCGETS, 0xbfdb193c) = -1 ENOTTY (Inappropriate ioctl for device)
# Tries ioctl on fd 4 again, fails
close(4) = 0
ioctl(3, FBIOPUT_VSCREENINFO, 0xbfdb1f9c) = -1 EINVAL (Invalid argument)
# Tries to talk to /dev/fb0, fails, gives up.
write(2, "ioctl FBIOPUT_VSCREENINFO: Inval"..., 44ioctl FBIOPUT_VSCREENINFO: Invalid argument
) = 44
exit_group(1) = ?
+++ exited with 1 +++