linux
linux copied to clipboard
aspeed: DRM: Cannot set mode with fb tools
# strace fbset 800x600-60
execve("/sbin/fbset", ["fbset", "800x600-60"], 0x7ed71e64 /* 11 vars */) = 0
brk(NULL) = 0x1294000
uname({sysname="Linux", nodename="buildroot", ...}) = 0
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/v6l/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/v6l", 0x7ed1e678) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0x7ed1e678) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/v6l/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/v6l", 0x7ed1e678) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/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(\0\1\0\0\0\300k\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1226416, ...}) = 0
mmap2(NULL, 1295724, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76e0c000
mprotect(0x76f34000, 61440, PROT_NONE) = 0
mmap2(0x76f43000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x127000) = 0x76f43000
mmap2(0x76f46000, 9580, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76f46000
close(3) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f77000
set_tls(0x76f778a0, 0x76f77f98, 0x76f7a058, 0x76f778a0, 0x76f7a058) = 0
mprotect(0x76f43000, 8192, PROT_READ) = 0
mprotect(0xcd000, 4096, PROT_READ) = 0
mprotect(0x76f79000, 4096, PROT_READ) = 0
getuid32() = 0
openat(AT_FDCWD, "/dev/fb0", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, FBIOGET_VSCREENINFO, 0x7ed1eb80) = 0
brk(NULL) = 0x1294000
brk(0x12b5000) = 0x12b5000
openat(AT_FDCWD, "/etc/fb.modes", O_RDONLY|O_LARGEFILE) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=169, ...}) = 0
read(4, "mode \"800x600-60\"\n # D: 40.00"..., 4096) = 169
ioctl(3, FBIOPUT_VSCREENINFO, 0x7ed1eb80) = -1 EINVAL (Invalid argument)
write(2, "fbset: FBIOPUT_VSCREENINFO: Inva"..., 45fbset: FBIOPUT_VSCREENINFO: Invalid argument
) = 45
exit_group(1) = ?
+++ exited with 1 +++
# cat /etc/fb.modes
mode "800x600-60"
# D: 40.00 MHz, H: 37.879 kHz, V: 60.32 Hz
geometry 800 600 800 600 8
timings 25000 88 40 23 1 128 4
hsync high
vsync high
endmode
I changed the mode to this (in order to match the expected mode by the drm_fb code) and it worked:
mode "800x600-60"
# D: 40.00 MHz, H: 37.879 kHz, V: 60.32 Hz
geometry 800 600 800 600 32
timings 0 88 40 23 1 128 4
hsync high
vsync high
endmode