From: mds@bogus.nodomain.nowhere   
      
   Rich writes:   
      
   > Mike Spencer wrote:   
   >   
   >> But the console is still a problem. Two lines of text at the top of   
   >> the screen are random bits and text on those lines is invisible   
   >> although the software -- emacs, less etc. -- thinks it's using them.   
   >> Is there away to convince the system to render the two lines of text   
   >> that are "there" but not rendered?   
   >   
   > Many monitors include "sizing controls" in their menu systems. Have   
   > you tried accessing the "sizing controls" and adjusting the size of the   
   > image being displayed using those controls?   
      
   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\   
   \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_F   
   XED|MAP_DENYWRITE, 3, 0x191000) = 0xb76af000   
   mmap2(0xb76b2000, 10780, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_F   
   XED|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 +++   
      
      
   --   
   Mike Spencer Nova Scotia, Canada   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|