Bug 397292

Summary: yast2-x11: needs to 'assume' other specs must change when monitor is changed
Product: [openSUSE] openSUSE 11.0 Reporter: kevin vandeventer <pilotgi>
Component: YaST2Assignee: J. Daniel Schmidt <jdsn>
Status: RESOLVED WONTFIX QA Contact: Jiri Srain <jsrain>
Severity: Enhancement    
Priority: P4 - Low CC: ms, pilotgi, sndirsch
Version: RC 1   
Target Milestone: ---   
Hardware: x86   
OS: openSUSE 11.0   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description kevin vandeventer 2008-06-04 22:27:47 UTC
(Not sure whether to list this as installation or YaST2, so I chose YaST2)

If that summary is confusing I'll explain. Since about 10.0, when the YaST installer gets to the hardware detection point, it detects my monitor incorrectly. I'm referring to the line similar to this:

Graphics Cards

Graphics card: nvidia GeForce 8600 GTS
Monitor: Vesa monitor (17 inches,Aspect 4:3)-(1280x1024)

Since it didn't detect my Apple Cinema Display 20 inch correctly, I can understand why the other specs are incorrect. But if I click on the Vesa monitor line (these are clickable during the install) and choose LCD, the 20 inch Apple monitor is available as a choice. It's listed specifically as 'Apple Cinema Display Widescreen 20 inch'. When I choose it Yast2 returns me to the hardware detection screen and the monitor line changes from Vesa to Apple Cinema Display. 

But none of the other specs change. I think YaST/Sax2 should change these other specs automagically. Obviously, if it's an 20 inch monitor, it should no longer say 17. And since it's listed as a widescreen LCD, it shouldn't be Aspect 4:3. And the resolution should be 1680x1050. 

The only time this worked correctly for me was when I reinstalled 10.3. I skipped the graphics card section during the install and waited for the install to finish. Then I added the nvidia repos and did the updates and my monitor was detected and configured correctly. 

I'm still experiencing this behavior in RC1.

So in an ideal world, (or ideal installer) my monitor would be detected correctly. But at least when I manually select it, the specs should change along with it. Thanks for your consideration.
Comment 1 kevin vandeventer 2008-06-04 22:32:33 UTC
Maybe I should add that all the other specs are clickable and can be changed manually. It takes three separate steps in all, because after you change one, it takes you back to the hardware detection page. 
Comment 2 Marcus Schaefer 2008-06-11 13:06:14 UTC
the sax2 gui adapts all these values but afaik the yast proposal does
not change it automatically 

assigned to maintainer
Comment 3 J. Daniel Schmidt 2008-09-05 16:56:21 UTC
The values yast2-x11 shows in the proposal are directly from sax2. There was some miscalculation that is fixed now for 11.1.

It would be great to get the logs from your installation, where this detection fails _and_ later in the installed system works. I guess you no longer have the logs of the installation of openSUSE 10.3. But maybe you might want to try to install openSUSE 11.1 beta1 or beta2 once they are out and report back. Thanks in advance.


Marcus: 
- Is there any magic I need to add here to let SaX adjust the settings automatically if the monitor vendor/model changes? For the proposal the settings that are displayed are updated on any change that is done in the proposal - values are fetched directly via XLib (via getActiveResolution). So how do I tell SaX to use the best settings according to the new monitor model.

- Would it be better to fetch the resolutions to be offered from SaXManipulateDesktop::getResolutions(depth) insted of using a fixed list?
Is this function intended for that use case?
The drawback is that a missing resolution (in the list) or a misdetected setting changes this list would confuse the user as he can no longer set the best resolution. But I see the need to have this coupled somehow.
Comment 4 Marcus Schaefer 2008-09-08 07:32:55 UTC
- The problem here is that the monitor couldn't be detected by its DDC id
  for some reason (maybe BIOS related) this information is missing. According
  to this libsax is not able to match the detected data with the static
  monitor database. So the monitor database includes an entry for the monitor
  but it can't be auto selected due to the the detection information

- in sax2 when manually selecting an entry from the static monitor list
  not only the monitor name but also other information are adapted. The code
  which does this can be found here:

     api/monitor/monitormodel.cpp

  void SCCMonitorModel::slotName ( Q3ListBoxItem* item ) {
     ...
  } 

  Jens Daniel the same implementation can be used inside the perl
  code for YaST. This is not a magic but is missing in the yast2-x11
  code at least I didn't implement it

- I intentionally did not change the resolution because people may
  want another resolution than the one we select. In times of no CRT
  monitors this could be change though because there are more and more
  screens which have one preferred and best resolution. I leave it up
  to you how to handle it in yast :)

> Would it be better to fetch the resolutions to be offered from
> SaXManipulateDesktop::getResolutions(depth) insted of using a fixed list?
> Is this function intended for that use case?

The getResolutions() functions returns the resolutions per color depth
this function can return an empty list you shouldn't use it to build the
resolution list. There is a function called getResolutionsFromDDC1()
which returns the DDC detected resolutions. You can use this one but
I have disabled using it due to bug: #358346
Comment 5 Stefan Dirsch 2009-05-31 11:22:58 UTC
Most likely we'll no longer create xorg.conf with 11.2 (at least not via SaX2/yast2-x11). So this comes kind of obsolete ...
Comment 6 kevin vandeventer 2009-05-31 14:51:11 UTC
You can mark this enhancement resolved as far as I'm concerned. Just curious, do you mean that xorg.conf won't be used in 11.2?
Comment 7 Stefan Dirsch 2009-05-31 15:36:25 UTC
Yes, that's the plan.
Comment 8 Stefan Dirsch 2009-06-19 15:55:19 UTC
This feature becomes obsolete once we no longer use yast2-x11 during installation, which I'm planning for openSUSE 11.2.
Comment 9 kevin vandeventer 2009-06-28 20:41:59 UTC
Even though the roadmap listed Milestone 3 as officially available June 30, yesterday I found that it was available from the openSUSE website. I downloaded the dvd and did a clean install. 

Grub still lists it as Milestone 2 but my Apple monitor was detected correctly, along with the resolution and aspect ratio. First time this has happened! 

Keep up the good work!
Comment 10 Stefan Dirsch 2009-07-03 04:43:08 UTC
(In reply to comment #8)
> This feature becomes obsolete once we no longer use yast2-x11 during
> installation, which I'm planning for openSUSE 11.2.

We just decided to do so. So this feature becomes obsolete. No plans to implement
it for older releases. Thus closing.