Force One-size-fits-all X Windows / Display Configuration

Using applications, configuring, problems
Post Reply
Message
Author
gdguy
Posts: 11
Joined: Thu 12 Jun 2014, 19:53

Force One-size-fits-all X Windows / Display Configuration

#1 Post by gdguy »

NEEDED: How to force a single display configuration that will work on most any hardware

Currently using Slacko, frugal install, on a removable read-only USB thumb drive.

Xorg's behavior of creating a new xorg.conf.xxx file for every target's graphic's card and 'conditioning' Puppy is inadequate in that it will FAIL=='require user intervention' the moment it encounters new hardware.

Since we don't require hardware acceleration, 3-D, video, or anything fancy (1024 x 768, 16or24-bit, is the fixed goal) I would hope that 'hard-coding' Xorg (or XVesa) to a set resolution, refresh rate, etc. would work on the vast majority of potential target hardware in the same manner that live cds, boot loader screens, etc. always 'just work' WITHOUT USER CONFIGURATION. Someone please tell me this is possible inside Puppy Slacko.

Can anyone suggest a path forward / potential solution ?

THANKS !!!!

(please no 'why are you doing this' or 'this can't be done' replies, tx)

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#2 Post by amigo »

Newer Xorg requires no xorg.conf file for "most any" setups, but there are still cases where vesa is needed, and still other cases where a framebuffer is needed.

It is possible to test Xorg by using chvt, where you would try to display a message to the user to confirm 'I can see this'. This prompt window would time out if the user doesn't click 'I can see this' and then you could try to launch some other server. This is the way some installers do it.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#3 Post by mikeb »

a generic xorg.conf and the vesa xorg drive should fit the bill ..slax do that.... but such as intel do not have much respect for vesa standards so even that is not 100% guaranteed...this machine I am on will not work with is for example...gma 945 and the 8xx series are even worse for it. Actually this one is a great example... xorgwizard fails too and only the intel driver and X generated config works...but only with this particular monitor which of course the latter is another factor.

Puppy has 3 options because the subject is a pain in the neck.
Note that on puppy even if a xorg.conf has been generated it will get rejected and replaced if you use it on different hardware so its not as set in stone as you might think... it will keep a stock of xorg.confs and try to match to hardware too.

mike

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#4 Post by amigo »

I have an intel 845 which has been the worst-supported of all cards, so I am limited by Xorg versions -either very old or quite new. Nice testbed!
Long ago I pulled the X-testing code out of redhats Xconfigurator and made a stand-alone X tester out of it.
You can browse my old sources here:
http://distro.ibiblio.org/amigolinux/do ... /XorgTest/

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

Re: Force One-size-fits-all X Windows / Display Configuration

#5 Post by greengeek »

gdguy wrote:Since we don't require hardware acceleration, 3-D, video, or anything fancy (1024 x 768, 16or24-bit, is the fixed goal) I would hope that 'hard-coding' Xorg (or XVesa) to a set resolution, refresh rate, etc. would work
You can make an xorg.conf that describes the parameters you want. If you build that xorg.conf into puppy (in a savefile or sfs) it will be retained for each boot.

Just don't run xorgwizard or it will overwrite the xorg.conf

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#6 Post by bigpup »

I am wondering why you feel you need to do this?

At bootup, all hardware on a computer is being scanned and the proper settings are being determined. Why cripple a good setup for the graphics hardware?
Even 1024X768 may not be a good resolution.
I have a monitor that Puppy tries to set to 1024X768, for the resolution, when it boots.
This monitor needs 1280X800 to work properly.
1024X768 cuts the right edge of the desktop off.

So, one size does not fit all.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#7 Post by greengeek »

I did try making a "TLC" puppy derivative that forced everything to be referenced to the Top Left Corner - so that the menu always appeared at grid point 0,0 (which is top left to the video memory) regardless of the screen resolution. It allowed me to boot puppy on some hardware that wouldn't normally boot it.

That way it doesnt matter so much if you are using a 640x400 screen, or a 1024x768 etc etc. - all the important stuff always appears at top left.

But resolution is only one of the battles - then you have different brands/methods of video acceleration to cope with...

gdguy
Posts: 11
Joined: Thu 12 Jun 2014, 19:53

#8 Post by gdguy »

Thanks for all the quick replies and information! Much appreciated. :D

I understand my problem-space is unusual, and why people might question 'why on Earth would they ever need to that?'. To answer that question, and for further clarification, here is an example scenario:

Imagine you have a personal password/information application integrated into a bootable usb pendrive. When you boot from it, you enter your password and gain access to your private data. Thats all it has to do. Think ATM, NOT desktop computer. Think GRANDMA, NOT software engineer. The user boots to a fullscreen touchscreen application, and the OS remains 100% hidden at all times.

Once working, now you plug your usb stick into a random laptop. Puppy Xorg sees new hardware, trys to run the wizard, and wants to ask the user questions. This breaks the contract / automation requirement and is the problem I'm trying to solve.

A couple potential solutions come to mind:

1. Install XVESA and/or disable XORG, use the most generic vesa configuration, 'hardcode the OS/X-Server to ALWAYS use this, and hope it works on most hardware. (no idea how to actually do this yet)

2. Stick with the current Xorg implementation, set up a 'master' xorg.conf file, hard-coded for vesa, 1024x768, etc.. and just copy and paste the contents of this file into duplicates named xorg.conf.ati_atombios, xorg.conf.nvidia, xorg.conf.NVIDIA, and every possible name puppy might encounter, perhaps 100 files or more in /etc/X11..., so it just loads automatically without user intervention

3. ? Some better idea from someone in this forum who knows what they're doing much more so than myself :wink:

Will begin looking into some of the suggestions already posted, although I'm not sure any of them were a 'direct hit solution' (yet).

Any links to information to solve any pieces of the problem like 'how to disable the xorg wizard' or 'how to install/configure puppy to use xvesa' would be helpful / greatlly appreciated.

Thanks again everyone!

Post Reply