fbset -depth 32 ioctl FBIOPUT_VSCREENINFO


6 posts
by nemilos » Wed Jan 16, 2013 8:56 pm
Hello !

I have a strange problem !

My goal : be able to power ON / OFF hdmi !
My problem : does not work with rotated display ( like 720x1280 ) but work with horizontal

HDMI poweroff : tvservice -o => work great

HDMI poweron : tvservice -p => need some xrefresh because display is on but is black

fbset -depth 16;
fbset -depth 32;
xrefresh;

With vertical display ( 720x1280 ) i have this error for fbset -depth 16

pi@raspberrypi ~ $ fbset -depth 16
ioctl FBIOPUT_VSCREENINFO: Invalid argument

And so HDMI is power on but the content on the display stay black :(

If some of you guys have the trick ! thank you ! otherwise i will make a reboot when i want to HDMI ON .. :s
Posts: 26
Joined: Sat Jan 05, 2013 4:16 am
by -rst- » Thu Jan 17, 2013 1:58 pm
Would the fbset work if you specify the geometry arguments as well?

Uhh, or is it because of this 'the framebuffer driver (bcm2708_fb.c) allows only yres_virtual to 1200' viewtopic.php?f=73&t=8780&start=200#p232889 :roll:

https://github.com/raspberrypi/linux/bl ... m2708_fb.c :
Code: Select all
   if (yres > 1200) {
      pr_err("bcm2708_fb_check_var: ERROR: VerticalTotal >= 1200; "
             "special treatment required! (TODO)\n");
      return -EINVAL;
   }
http://raspberrycompote.blogspot.com/ - Low-level graphics and 'Coding Gold Dust'
Posts: 893
Joined: Thu Nov 01, 2012 12:12 pm
Location: Dublin, Ireland
by nemilos » Fri Jan 18, 2013 11:26 am
ouch !

i had test too to change geometry with fbset, gave the same error

Strange because i have no visual problem with vertical 720x1280 .. maybe because i am in Xorg and not in framebuffer ... but even omxplayer do good job ;)

I have in kern.log

Jan 14 16:54:08 raspberrypi kernel: [ 28.301203] bcm2835-cpufreq: switching to governor ondemand<6>[ 33.603036] Adding 102396k swap on /var/swap. Priority:-1 extents:129 across:1754856k SS
Jan 14 16:54:10 raspberrypi kernel: [ 35.691368] bcm2708_fb_check_var: ERROR: VerticalTotal >= 1200; special treatment required! (TODO)
Jan 14 17:51:30 raspberrypi kernel: [ 3446.930682] bcm2708_fb_check_var: ERROR: VerticalTotal >= 1200; special treatment required! (TODO)
Jan 14 17:51:48 raspberrypi kernel: imklog 5.8.11, log source = /proc/kmsg started.
Posts: 26
Joined: Sat Jan 05, 2013 4:16 am
by rocketero » Mon Feb 11, 2013 3:22 am
My RPI doesn't do more than Depth 16. If I do: fbset -depth 24 (or 32) it goes blank and I have to reboot and access the RPI remotly with tightvncserver (already setup to start at boot time) and then change it back to depth 16.
Posts: 64
Joined: Wed Jul 11, 2012 5:45 pm
by -rst- » Mon Feb 11, 2013 2:49 pm
rocketero wrote:My RPI doesn't do more than Depth 16. If I do: fbset -depth 24 (or 32) it goes blank ...


I am pretty sure I have tired all of those on mine without any problem. What OS distribution and version are you on?
http://raspberrycompote.blogspot.com/ - Low-level graphics and 'Coding Gold Dust'
Posts: 893
Joined: Thu Nov 01, 2012 12:12 pm
Location: Dublin, Ireland
by rocketero » Wed Feb 13, 2013 6:34 am
I have the debian wheeze from December 16 2012, and have donde sudo apt-get update && sudo apt-get dist-upgrade.

by typing:

fbset -depth 32 (press Enter)

a reboot would bring back the screen but the depth is low as I can see the background is not as colorful as it should.
Posts: 64
Joined: Wed Jul 11, 2012 5:45 pm