WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Suggestion: boot code 'xvesa=max'  (Read 2420 times)

Offline maro

  • Hero Member
  • *****
  • Posts: 1228
Suggestion: boot code 'xvesa=max'
« on: April 12, 2011, 06:35:52 PM »
I've started to use a USB pendrive to boot TC from two different notebooks that support two different maximum screen resolutions. I was therefore wondering whether the 'xvesa' boot code could be amended by allowing in addition to a fixed "XxYxD" string the alternative value to be 'max'. A proper "XxYxD" string could then be determined automatically from the 'Xvesa -listmodes' output using the numercially "highest" value.

I'd imagine that using something like
Code: [Select]
[ "$XVESA" = "max" ] && which Xvesa > /dev/null \
    && XVESA=$( Xvesa -listmodes 2>&1 | sort -k 2n | cut -d ' ' -f 2 | tail -1 )
in '/etc/init.d/tc-config' (just before the '[ -n "$XVESA" ]  && sed -i ...' line) would do the trick.

Please note that I have not tested this code snippet properly, but I'm reasonably confident that the "calculation" should work as intended.


EDIT: When I finally went to put my own suggestion into action I realised that the command sequence was lacking a crucial element at the very end of the chain, hence it has now been amended.
« Last Edit: July 14, 2011, 11:48:43 PM by maro »

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: Suggestion: boot code 'xvesa=max'
« Reply #1 on: April 12, 2011, 10:19:28 PM »
Very interesting approach which could improve the nomadic capacities of TC even more   ;D
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: Suggestion: boot code 'xvesa=max'
« Reply #2 on: April 13, 2011, 12:19:29 AM »
Much easier is to modify .xsession or xorg.conf from bootlocal.sh

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: Suggestion: boot code 'xvesa=max'
« Reply #3 on: April 14, 2011, 06:26:46 PM »
I had considered this way back (DSL days). However, the listmodes of Xvesa is reporting from the graphics card. The monitor is not necessarily able to display such a max mode. In fact, I rarely see such capability. Perhaps it might be useful on matched systems (monitor + graphics card), e.g., laptops, but even netbooks typically need 915resolution. I would need more convincing that such a boot option would be useful.
Would it really work on many systems?
10+ Years Contributing to Linux Open Source Projects.

Offline gutmensch

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 605
  • I can make it disappear, have no fear!
    • remembrance blog
Re: Suggestion: boot code 'xvesa=max'
« Reply #4 on: April 22, 2011, 06:19:46 AM »
FWIW I put the read-edid.tcz extension into the repo, which tries to read monitor modes and timings. Since its usage is a little strange I also put a script into the extension called monitor_modes, which returns Modes in a "Xvesa -listmodes likely" way. It's far from stable, so just testing ;-)
If I seem unduly clear to you, you must have misunderstood what I said. (Alan Greenspan)

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: Suggestion: boot code 'xvesa=max'
« Reply #5 on: April 22, 2011, 06:30:39 AM »
The *edid and dd*probe apps do not work on 64-bit, so there's a bit of a downside to them.
The only barriers that can stop you are the ones you create yourself.

Offline gutmensch

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 605
  • I can make it disappear, have no fear!
    • remembrance blog
Re: Suggestion: boot code 'xvesa=max'
« Reply #6 on: April 22, 2011, 07:34:03 AM »
The author states read-edid 2.0 works on other architectures like x64 (depending on libx86), but I didn't try it out ;-)

Test 1 with VMWare: Doesn't work.
Test 2 with real 24" LCD Display and real ATI X1250 (*urgh*): Works.
If I seem unduly clear to you, you must have misunderstood what I said. (Alan Greenspan)