Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

720 kernel / fw for m8

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    720 kernel / fw for m8

    Since i can't change the windowed 1920-1080 to 1280-720 within xbmc, I'm looking for a 1280:720 firmware / kernel for the m8 since my tv is 720. With the 1080 fw the original picture is not centered in my screen.

    Do i have to edit build.prop? Or do i have to download a 720 fw? I noticed the finless rom for another device had different kernels for 1080 and 720.

    #2
    Originally posted by Marton4 View Post
    Since i can't change the windowed 1920-1080 to 1280-720 within xbmc, I'm looking for a 1280:720 firmware / kernel for the m8 since my tv is 720. With the 1080 fw the original picture is not centered in my screen.

    Do i have to edit build.prop? Or do i have to download a 720 fw? I noticed the finless rom for another device had different kernels for 1080 and 720.
    I will have a look and see if I can patch to 720. If it is anything like RK sources it might be possible.

    Bob
    "Pzebacz im, bo nie wiedzą, co czynią"
    "Прости им, они не ведают, что творят"
    "Perdona loro perché non sanno quello che fanno"
    "Vergib ihnen, denn sie wissen nicht, was sie tun"
    "Vergeef hen want ze weten niet wat ze doen"
    "Pardonne-leur car ils ne savent pas ce qu'ils font"
    "Perdónalos porque no saben que lo que hacen"
    "Oprosti im, jer ne znaju što čine"
    "Forgive them as they know not what they do"





    Comment


      #3
      I have never tried an amlogic M8, but in amlogic-mx devices resolution can be controlled via fbset binary.In amlogic MX there is a file called set_display_mode.sh in system/bin which is run every boot to determine device resolution. Not sure if Amlogic M8 are the same, but amlogic is very "traditional" and probably they use the same to call a different resolution. I would check it out.

      Comment


        #4
        Thanks!

        Comment


          #5
          Originally posted by skelton View Post
          I have never tried an amlogic M8, but in amlogic-mx devices resolution can be controlled via fbset binary.In amlogic MX there is a file called set_display_mode.sh in system/bin which is run every boot to determine device resolution. Not sure if Amlogic M8 are the same, but amlogic is very "traditional" and probably they use the same to call a different resolution. I would check it out.
          WAY TO GO! I did not know this myself abut AML.

          The script is there. Here is the code:

          Code:
          #!/system/bin/sh
          
          case `getprop sys.fb.bits` in
              32) osd_bits=32
              ;;
          
              *) osd_bits=16
              ;;
          esac
          #if [ -e /dev/dvb0.frontend0 ]; then
          #    DVB_EXIST=yes
          #else
              DVB_EXIST=no
          #fi
          hpdstate=$(cat /sys/class/amhdmitx/amhdmitx0/hpd_state)
          if [ "$(getprop ro.platform.hdmionly)" = "true" ]; then
              if [ "$hpdstate" = "1" ]; then
                  outputmode=$(getprop ubootenv.var.hdmimode)
                  setprop ubootenv.var.outputmode $outputmode
              else
                  outputmode=$(getprop ubootenv.var.cvbsmode)
                  setprop ubootenv.var.outputmode $outputmode
              fi
          else  
              outputmode=$(getprop ubootenv.var.outputmode)
          fi
          scalemode=$(getprop ro.platform.has.1080scale)
          if [ "$(getprop ro.platform.has.cvbsmode)" = "true" ]; then
          	cvbsmode=$(getprop ubootenv.var.cvbsmode)
          
          	if [ "$outputmode" = "480i" -o "$outputmode" = "576i" ]; then
          		echo null > /sys/class/display2/mode
          	#if [ "$cvbsmode" = "480cvbs" ]; then
          	elif [ "$cvbsmode" = "480cvbs" ]; then
          		echo null > /sys/class/display2/mode
          		echo 480cvbs > /sys/class/display2/mode 
          		echo 1 > /sys/class/video2/screen_mode
          	elif [ "$cvbsmode" = "576cvbs" ]; then
          		echo null > /sys/class/display2/mode
          		echo 576cvbs > /sys/class/display2/mode 
          		echo 1 > /sys/class/video2/screen_mode
          	else
          		echo null > /sys/class/display2/mode
          		echo 480cvbs > /sys/class/display2/mode 
          		echo 1 > /sys/class/video2/screen_mode
          		setprop ubootenv.var.cvbsmode 480cvbs
          	fi
          
          	if [ "$outputmode" = "1080p" -o "$outputmode" = "1080i" -o "$outputmode" = "1080p50hz" -o "$outputmode" = "1080i50hz" -o "$outputmode" = "4k2k24hz" -o "$outputmode" = "4k2k25hz" -o "$outputmode" = "4k2k30hz" -o "$outputmode" = "4k2ksmpte"] ; then
          	    echo 960  > /sys/module/amvideo2/parameters/clone_frame_scale_width
          	else
          	    echo 0  > /sys/module/amvideo2/parameters/clone_frame_scale_width
          	fi
          fi
          #if [ "$scalemode" = "2" ] ; then
              #if [ $DVB_EXIST = yes ]; then
                  #echo 0 0 1280 720 0 0 1240 690 > /sys/class/display/axis
              #else
                  #echo 0 0 1280 720 0 0 18 18 > /sys/class/display/axis
              #fi
              if [ "$outputmode" = "1080p" -o "$outputmode" = "1080i" -o "$outputmode" = "1080p50hz" -o "$outputmode" = "1080i50hz" -o "$outputmode" = "4k2k24hz" ] ; then
              	setprop ro.sf.lcd_density 240
              else
              	setprop ro.sf.lcd_density 160
              fi
              sleep 1
          #fi
                  
          print outputmode = $outputmode
          case $outputmode in 
              4k2k24hz)
              scaleenable=true
              scaledir=up
              if [ "$(getprop ubootenv.var.4k2k24hz_x)" = "" ] ; then
                      outputx=0
                  else outputx=$(getprop ubootenv.var.4k2k24hz_x)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k24hz_y)" = "" ] ; then
                      outputy=0
                  else outputy=$(getprop ubootenv.var.4k2k24hz_y)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k24hz_width)" = "" ] ; then
                      outputwidth=3840
                  else outputwidth=$(getprop ubootenv.var.4k2k24hz_width)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k24hz_height)" = "" ] ; then
                      outputheight=2160
                  else outputheight=$(getprop ubootenv.var.4k2k24hz_height)
              fi
              ;;    
              4k2k25hz)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.4k2k25hz_x)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.4k2k25hz_x)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k25hz_y)" = "" ] ; then
                      outputy=0
                  else outputy=$(getprop ubootenv.var.4k2k25hz_y)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k25hz_width)" = "" ] ; then
                      outputwidth=3840
                  else outputwidth=$(getprop ubootenv.var.4k2k25hz_width)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k25hz_height)" = "" ] ; then
                      outputheight=2160
                  else outputheight=$(getprop ubootenv.var.4k2k25hz_height)
              fi
                  ;;    
              4k2k30hz)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.4k2k30hz_x)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.4k2k30hz_x)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k30hz_y)" = "" ] ; then
                      outputy=0
                  else outputy=$(getprop ubootenv.var.4k2k30hz_y)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k30hz_width)" = "" ] ; then
                      outputwidth=3840
                  else outputwidth=$(getprop ubootenv.var.4k2k30hz_width)
                  fi
                  if [ "$(getprop ubootenv.var.4k2k30hz_height)" = "" ] ; then
                      outputheight=2160
                  else outputheight=$(getprop ubootenv.var.4k2k30hz_height)
              fi  
              ;;
              4k2ksmpte)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.4k2ksmpte_x)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.4k2ksmpte_x)
                  fi
                  if [ "$(getprop ubootenv.var.4k2ksmpte_y)" = "" ] ; then
                      outputy=0
                  else outputy=$(getprop ubootenv.var.4k2ksmpte_y)
                  fi
                  if [ "$(getprop ubootenv.var.4k2ksmpte_width)" = "" ] ; then
                      outputwidth=4096
                  else outputwidth=$(getprop ubootenv.var.4k2ksmpte_width)
                  fi
                  if [ "$(getprop ubootenv.var.4k2ksmpte_height)" = "" ] ; then
                      outputheight=2160
                  else outputheight=$(getprop ubootenv.var.4k2ksmpte_height)
              fi  
              ;;
              480p)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.480poutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.480poutputx)
                  fi
                  if [ "$(getprop ubootenv.var.480poutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.480poutputy)
                  fi
                  if [ "$(getprop ubootenv.var.480poutputwidth)" = "" ] ; then 
                      outputwidth=720
                  else outputwidth=$(getprop ubootenv.var.480poutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.480poutputheight)" = "" ] ; then 
                      outputheight=480
                  else outputheight=$(getprop ubootenv.var.480poutputheight)
              fi
                 
              ;;
              
              480i)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.480ioutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.480ioutputx)
                  fi
                  if [ "$(getprop ubootenv.var.480ioutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.480ioutputy)
                  fi
                  if [ "$(getprop ubootenv.var.480ioutputwidth)" = "" ] ; then 
                      outputwidth=720
                  else outputwidth=$(getprop ubootenv.var.480ioutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.480ioutputheight)" = "" ] ; then 
                      outputheight=480
                  else outputheight=$(getprop ubootenv.var.480ioutputheight)    
               fi  
              ;; 
              480cvbs)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.480ioutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.480ioutputx)
                  fi
                  if [ "$(getprop ubootenv.var.480ioutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.480ioutputy)
                  fi
                  if [ "$(getprop ubootenv.var.480ioutputwidth)" = "" ] ; then 
                      outputwidth=720
                  else outputwidth=$(getprop ubootenv.var.480ioutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.480ioutputheight)" = "" ] ; then 
                      outputheight=480
                  else outputheight=$(getprop ubootenv.var.480ioutputheight)    
               fi  
              ;; 
                 
              576p)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.576poutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.576poutputx)
                  fi
                  if [ "$(getprop ubootenv.var.576poutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.576poutputy)
                  fi
                  if [ "$(getprop ubootenv.var.576poutputwidth)" = "" ] ; then 
                      outputwidth=720
                  else outputwidth=$(getprop ubootenv.var.576poutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.576poutputheight)" = "" ] ; then 
                      outputheight=576
                  else outputheight=$(getprop ubootenv.var.576poutputheight)    
               fi      
                 
              ;;    
              
              576i)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.576ioutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.576ioutputx)
                  fi
                  if [ "$(getprop ubootenv.var.576ioutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.576ioutputy)
                  fi
                  if [ "$(getprop ubootenv.var.576ioutputwidth)" = "" ] ; then 
                      outputwidth=720
                  else outputwidth=$(getprop ubootenv.var.576ioutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.576ioutputheight)" = "" ] ; then 
                      outputheight=576
                  else outputheight=$(getprop ubootenv.var.576ioutputheight)    
               fi          
                 
              ;;        
              576cvbs)
              scaleenable=true
              scaledir=down
              if [ "$(getprop ubootenv.var.576ioutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.576ioutputx)
                  fi
                  if [ "$(getprop ubootenv.var.576ioutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.576ioutputy)
                  fi
                  if [ "$(getprop ubootenv.var.576ioutputwidth)" = "" ] ; then 
                      outputwidth=720
                  else outputwidth=$(getprop ubootenv.var.576ioutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.576ioutputheight)" = "" ] ; then 
                      outputheight=576
                  else outputheight=$(getprop ubootenv.var.576ioutputheight)    
               fi          
                 
              ;;     
              720p)
              scaleenable=false
              scaledir=down
              if [ "$(getprop ubootenv.var.720poutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.720poutputx)
                  fi
                  if [ "$(getprop ubootenv.var.720poutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.720poutputy)
                  fi
                  if [ "$(getprop ubootenv.var.720poutputwidth)" = "" ] ; then 
                      outputwidth=1280
                  else outputwidth=$(getprop ubootenv.var.720poutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.720poutputheight)" = "" ] ; then 
                      outputheight=720
                  else outputheight=$(getprop ubootenv.var.720poutputheight)    
               fi          
                  
              ;;
          
              1080p)
              scaleenable=false
              scaledir=up
              if [ "$(getprop ubootenv.var.1080poutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.1080poutputx)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.1080poutputy)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputwidth)" = "" ] ; then 
                      outputwidth=1920
                  else outputwidth=$(getprop ubootenv.var.1080poutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputheight)" = "" ] ; then 
                      outputheight=1080
                  else outputheight=$(getprop ubootenv.var.1080poutputheight)    
               fi                 
              ;;
          
              1080i)
              scaleenable=false
              scaledir=up
               if [ "$(getprop ubootenv.var.1080ioutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.1080ioutputx)
                  fi
                  if [ "$(getprop ubootenv.var.1080ioutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.1080ioutputy)
                  fi
                  if [ "$(getprop ubootenv.var.1080ioutputwidth)" = "" ] ; then 
                      outputwidth=1920
                  else outputwidth=$(getprop ubootenv.var.1080ioutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.1080ioutputheight)" = "" ] ; then 
                      outputheight=1080
                  else outputheight=$(getprop ubootenv.var.1080ioutputheight)    
               fi                       
              ;;   
              1080i50hz)
              scaleenable=false
              scaledir=up
               if [ "$(getprop ubootenv.var.1080ioutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.1080ioutputx)
                  fi
                  if [ "$(getprop ubootenv.var.1080ioutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.1080ioutputy)
                  fi
                  if [ "$(getprop ubootenv.var.1080ioutputwidth)" = "" ] ; then 
                      outputwidth=1920
                  else outputwidth=$(getprop ubootenv.var.1080ioutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.1080ioutputheight)" = "" ] ; then 
                      outputheight=1080
                  else outputheight=$(getprop ubootenv.var.1080ioutputheight)    
               fi                           
                 
              ;;   
             
              1080p50hz)
              scaleenable=false
              scaledir=up
              if [ "$(getprop ubootenv.var.1080poutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.1080poutputx)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.1080poutputy)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputwidth)" = "" ] ; then 
                      outputwidth=1920
                  else outputwidth=$(getprop ubootenv.var.1080poutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputheight)" = "" ] ; then 
                      outputheight=1080
                  else outputheight=$(getprop ubootenv.var.1080poutputheight)    
               fi                     
              
                 ;; 
              720p50hz)
              scaleenable=false
              scaledir=down
              if [ "$(getprop ubootenv.var.720poutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.720poutputx)
                  fi
                  if [ "$(getprop ubootenv.var.720poutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.720poutputy)
                  fi
                  if [ "$(getprop ubootenv.var.720poutputwidth)" = "" ] ; then 
                      outputwidth=1280
                  else outputwidth=$(getprop ubootenv.var.720poutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.720poutputheight)" = "" ] ; then 
                      outputheight=720
                  else outputheight=$(getprop ubootenv.var.720poutputheight)    
               fi          
              ;;   
              *)
              outputmode=1080p
              scaleenable=false
              scaledir=up
              if [ "$(getprop ubootenv.var.1080poutputx)" = "" ] ; then 
                      outputx=0
                  else outputx=$(getprop ubootenv.var.1080poutputx)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputy)" = "" ] ; then 
                      outputy=0
                  else outputy=$(getprop ubootenv.var.1080poutputy)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputwidth)" = "" ] ; then 
                      outputwidth=1920
                  else outputwidth=$(getprop ubootenv.var.1080poutputwidth)
                  fi
                  if [ "$(getprop ubootenv.var.1080poutputheight)" = "" ] ; then 
                      outputheight=1080
                  else outputheight=$(getprop ubootenv.var.1080poutputheight)    
               fi              
           
          esac
          if [ "$outputmode" = "480i" -o "$outputmode" = "576i" ]; then
            if [ "$(getprop ro.platform.has.cvbsmode)" = "true" ] ; then
              if [ "$outputmode" = "480i" ];then
                echo 480cvbs > /sys/class/display/mode
                echo null > /sys/class/display2/mode
              else
                echo 576cvbs > /sys/class/display/mode 
                echo null > /sys/class/display2/mode
              fi  
            else
              echo $outputmode > /sys/class/display/mode
            fi  
          else  
              echo $outputmode > /sys/class/display/mode                                                                                                                                      
          fi
          if [ "$(getprop ro.platform.has.realoutputmode)" != "true" ] ; then
            busybox echo $outputx $outputy $(($outputwidth + $outputx - 1)) $(($outputheight + $outputy - 1)) 0 > /sys/class/ppmgr/ppscaler_rect                     
            echo 1 > /sys/class/graphics/fb0/free_scale                                                                                                                                      
            echo 1 > /sys/class/graphics/fb1/free_scale  
          else
            if [ "$scaledir" = "down" ]; then
              echo 0 0 1280 720 $outputx $outputy 18 18 > /sys/class/display/axis
            else
              echo 0 0 1920 1080 $outputx $outputy 18 18 > /sys/class/display/axis
            fi
            echo 1 > /sys/class/graphics/fb0/freescale_mode
            echo 1 > /sys/class/graphics/fb1/freescale_mode
            echo 0 0 1919 1079 > /sys/class/graphics/fb0/free_scale_axis
            echo $outputx $outputy $(($outputwidth + $outputx - 1)) $(($outputheight + $outputy - 1)) > /sys/class/video/axis
            echo $outputx $outputy $(($outputwidth + $outputx - 1)) $(($outputheight + $outputy - 1)) > /sys/class/graphics/fb0/window_axis
            echo 0 > /sys/class/graphics/fb0/blank
          fi  
          
          
                                                                                                                                            
          if [ "$(getprop ubootenv.var.digitaudiooutput)" = "SPDIF passthrough" ] ; then
              echo 1 > /sys/class/audiodsp/digital_raw
          elif [ "$(getprop ubootenv.var.digitaudiooutput)" = "HDMI passthrough" ] ; then  
              echo 2 > /sys/class/audiodsp/digital_raw
          else
              echo 0 > /sys/class/audiodsp/digital_raw
          fi
          
          #echo 0 > /sys/class/graphics/fb1/blank
          #echo 1 > /sys/class/graphics/fb1/blank
          #fbset -fb /dev/graphics/fb1 -g 32 32 32 32 $osd_bits
          #echo 1 > /sys/class/graphics/fb1/blank
          #sleep 8
          #echo m 0x1d26 '0x10b1' > /sys/class/display/wr_reg
          "Pzebacz im, bo nie wiedzą, co czynią"
          "Прости им, они не ведают, что творят"
          "Perdona loro perché non sanno quello che fanno"
          "Vergib ihnen, denn sie wissen nicht, was sie tun"
          "Vergeef hen want ze weten niet wat ze doen"
          "Pardonne-leur car ils ne savent pas ce qu'ils font"
          "Perdónalos porque no saben que lo que hacen"
          "Oprosti im, jer ne znaju što čine"
          "Forgive them as they know not what they do"





          Comment


            #6
            use 20140418 Firmware

            Comment


              #7
              Ok, I will try that one.

              The code for set_display_mode.sh above, cropped the video but was centered. I simply replaced the sh file. Maybe I did something wrong.

              Comment


                #8
                i think i got it working

                replace the following lines in your set_display_mode.sh script:

                (begins at line 16)

                Code:
                if [ "$(getprop ro.platform.hdmionly)" = "true" ]; then
                    if [ "$hpdstate" = "1" ]; then
                        outputmode=$(getprop ubootenv.var.hdmimode)
                        setprop ubootenv.var.outputmode $outputmode
                    else
                        outputmode=$(getprop ubootenv.var.cvbsmode)
                        setprop ubootenv.var.outputmode $outputmode
                    fi
                else  
                    outputmode=$(getprop ubootenv.var.outputmode)
                fi
                with this simple code:

                Code:
                if [ "$(getprop ro.platform.hdmionly)" = "true" ]; then
                    if [ "$hpdstate" = "1" ]; then
                        outputmode=$(getprop custom.hdmi.mode)
                        if [ "$outputmode" = "" ]; then
                            outputmode=$(getprop ubootenv.var.hdmimode)
                        fi
                        setprop ubootenv.var.outputmode $outputmode
                    else
                        outputmode=$(getprop ubootenv.var.cvbsmode)
                        setprop ubootenv.var.outputmode $outputmode
                    fi
                else  
                    outputmode=$(getprop ubootenv.var.outputmode)
                fi
                Copy the changed script to your device:

                Code:
                -> adb push set_display_mode.sh /mnt/scdard/
                -> adb shell
                -> su
                $-> root@m0:/ # mount -o rw,remount -t rootfs rootfs /system/
                $-> root@m0:/ # cp /mnt/sdcard/set_display_mode.sh /system/bin/

                so now if you want to change resolution from 1080p to 720p type:

                Code:
                root@m0:/ # setprop custom.hdmi.mode 720p
                root@m0:/ # sh /system/bin/set_display_mode.sh
                to resize your output display:

                Code:
                root@m0:/ # am display-size 1280x720
                Alternativly you could change the end of your script to the following:

                original:
                Code:
                 echo 0 > /sys/class/graphics/fb0/blank
                fi  
                                                                                                                                                  
                if [ "$(getprop ubootenv.var.digitaudiooutput)" = "SPDIF passthrough" ] ; then
                add this line to set the display size automatically:

                Code:
                 echo 0 > /sys/class/graphics/fb0/blank
                fi  
                
                am display-size "$outputwidth"x"$outputheight"
                                                                                                                                                   
                if [ "$(getprop ubootenv.var.digitaudiooutput)" = "SPDIF passthrough" ] ; then
                the following modes should work as they are supported by the script:

                4K: -> 3840x2160

                4k2k24hz
                4k2k25hz
                4k2k30hz
                4k2ksmpte

                hdmi res:

                (720x480)
                480p
                480i
                480cvbs

                (720x576)
                576p
                576i
                576cvbs

                (1280x720)
                720p
                720p50hz

                (1920x1080)
                1080p
                1080i
                1080i50hz
                1080p50hz


                If you mess something up, restarting your device should reset the resolution because the custom property is not persistent


                you could theoretically update the script and extend some custom resolutions, nothing wrong should happen, because a restart resets the resolution.
                but i wouldnt recommend that because i dont know what will happen if the resolution is not supported by the devices hardware
                Last edited by feh; 21 May 2014, 11:04.

                Comment


                  #9
                  We Definitely need a 3.10.33 Fix ...

                  XBMC should work on Both HD Ready (720) and Full HD TV sets Like 3.10.10

                  Comment


                    #10
                    Originally posted by TMx View Post
                    We Definitely need a 3.10.33 Fix ...

                    XBMC should work on Both HD Ready (720) and Full HD TV sets Like 3.10.10
                    I don't understand why the keep releasing new firmware without this issue addressed. Basically makes XBMC useless for anyone who doesn't own a 1080 tv.

                    Comment


                      #11
                      I believe the problem is it is detecting the capabilities of the TV and setting to 1080 if the TV supports it.

                      XBMC I cannot help with I am no XBMC expert. But I think first boot it needs to detect 720 not 1080 and set everything that way.

                      Suggestion. Try booting with NO HDMI cable plugged in. It should default to 720. Then once it is booted plug in your HDMI cable.

                      Just an idea.

                      Bob
                      "Pzebacz im, bo nie wiedzą, co czynią"
                      "Прости им, они не ведают, что творят"
                      "Perdona loro perché non sanno quello che fanno"
                      "Vergib ihnen, denn sie wissen nicht, was sie tun"
                      "Vergeef hen want ze weten niet wat ze doen"
                      "Pardonne-leur car ils ne savent pas ce qu'ils font"
                      "Perdónalos porque no saben que lo que hacen"
                      "Oprosti im, jer ne znaju što čine"
                      "Forgive them as they know not what they do"





                      Comment


                        #12
                        Originally posted by NoSkillz View Post
                        I don't understand why the keep releasing new firmware without this issue addressed. Basically makes XBMC useless for anyone who doesn't own a 1080 tv.
                        disable auto detect and manually set your 720p tv to 1080i or 1080p in the android display settings. Surprisingly the 1080p selection works on my 720p tv and this resolves the xbmc issue.

                        Comment


                          #13
                          Originally posted by rlaursen View Post
                          disable auto detect and manually set your 720p tv to 1080i or 1080p in the android display settings. Surprisingly the 1080p selection works on my 720p tv and this resolves the xbmc issue.
                          You know I suggested that in the tronsmart forum. Yet it seems people don't get this setting.

                          However once you change it I noticed on my ROM that once you turn off CEC and set for 1280x720 sometimes the desktop will be screwed up. HOWEVER the important part is after a reboot it does boot into 2180x720 and the desktop is correct.

                          Users need to know this in settings.

                          1) Go to advanced and turn off CEC
                          2) The line below this turn off CEC button states what your set to. It does NOT look clickable like you can change it. BUT... if you click on it you can change your settings for the HDMI output. THIS IS NOW RETAINED ON EVERY BOOT UP!


                          Come on folks.... try this before asking for custom kernels.

                          Thanks rlaursen, makes me wonder what the problem is when I get so many weird responses, posted issue, etc etc... When I expect they know about this setting and I don't think it is clear they do!

                          Bob
                          "Pzebacz im, bo nie wiedzą, co czynią"
                          "Прости им, они не ведают, что творят"
                          "Perdona loro perché non sanno quello che fanno"
                          "Vergib ihnen, denn sie wissen nicht, was sie tun"
                          "Vergeef hen want ze weten niet wat ze doen"
                          "Pardonne-leur car ils ne savent pas ce qu'ils font"
                          "Perdónalos porque no saben que lo que hacen"
                          "Oprosti im, jer ne znaju što čine"
                          "Forgive them as they know not what they do"





                          Comment


                            #14
                            Originally posted by Finless View Post
                            I believe the problem is it is detecting the capabilities of the TV and setting to 1080 if the TV supports it.

                            XBMC I cannot help with I am no XBMC expert. But I think first boot it needs to detect 720 not 1080 and set everything that way.

                            Suggestion. Try booting with NO HDMI cable plugged in. It should default to 720. Then once it is booted plug in your HDMI cable.

                            Just an idea.

                            Bob

                            I don't think its XBMC related issue cos Same Application works Perfect on 3.10.10 and detects 720p Resolution without any special settings...

                            We don't need a Custom Kernel All we need is a Kernel that Combines both 3.10.10 and .33 features

                            Best Bet at the moment is 1080i cos I've checked wikipedia 720p Tvs has 1080i Resolution ...
                            Last edited by TMx; 23 May 2014, 02:14.

                            Comment


                              #15
                              Originally posted by TMx View Post
                              I don't think its XBMC related issue cos Same Application works Perfect on 3.10.10 and detects 720p Resolution without any special settings...

                              We don't need a Custom Kernel All we need is a Kernel that Combines both 3.10.10 and .33 features

                              Best Bet at the moment is 1080i cos I've checked wikipedia 720p Tvs has 1080i Resolution ...
                              people say 720p is better for fast motion video but i cant notice it so I always use 1080i since its sharper. I use the 1080p android display selection on my 720p tv cause it works but if it didnt Id use 1080i. I'm curious to know whether or not the 1080P selection works for everyone with a 720P tv or if its hit or miss depending on your tv. My tv is set to 1080i but would it still work on 1080 in android settings if my tv was set to 720p? Not sure cause i lost my remote and the menu on tv doesnt show that option this is just an extra tv though.. i have a nice 125in projector hooked up to my M8

                              Comment

                              Working...
                              X