Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: How to use X Window System on NetBSD/alpha?



Hello,

On Sun, 18 Dec 2016 16:44:04 +0900
"Naruaki.Etomi" <nullnilaki%gmail.com@localhost> wrote:

> I’m so so sorry for not repling sooner.
> I meant to write to you sooner but I've caught the flu.
> I thought I would die...

Well, I'm glad you got better :)

> >I committed a bunch of fixes to the glint driver as well:
> >- odd resolutions ( like 1440x900, 1366x768 etc. ) work properly now,
> >  including acceleration.
> >- both Permedia 2 and 3 now have EXA support, for shiny new Xorg. Kinda
> >  crude, but working.
> 
> I checked your commit.
> That is a very great job.
> Many thanks to you!

Well, I made some more progress since - the pm3 part can now use all
video memory and is no longer limited to pixmaps with strides that are
aligned to the visible part. For pm2 that's not really possible thanks
to the insane way they encode strides ( that partial products thing...
) but I did figure out how to do hardware alpha blending ( see last
commits to pm2fb.c ), this will go into pm2_exa.c next week or so.
Yeah, it's going to get xrender acceleration.

> >Thanks a lot. But I'm unable to change resolution on my alpha (pm3 Oxygen).
> >I would use 1280x1024x24 and I don't know how to fix this resolution. Any idea ?
> >NetBSD/alpha tries to initialize console with following reolution : 1280x1024x8 :
> 
> Glint driver does not work on NetBSD/alpha.
> Please don't use it.
> The reason is because Glint driver cannot access /dev/mem in my opinion.

It shouldn't need to mess with /dev/mem, at least not on modern(ish)
alphas that can access smaller portions than 64bit words - on those
just mapping the registers through /dev/pci*, like everyone else does,
should work. Maybe we need a machine specific mmap() flag to select
between sparse and dense regions, that way we could hide it all in
alpha's bus_space_mmap().

If you absolutely have to go through /dev/mem, options INSECURE may help.

> >And I have seen some strange quirks. I'll send you a photo in a few minutes.
> 
> The following monitor have been tested.
> 
> FlexScan PLACEO.(FlexScan L565)
> https://twitter.com/nullnilaki/status/810356420428242944
> SONY SDM-P234
> https://twitter.com/nullnilaki/status/810358510730887168
> 
> There is something that I would like to confirm.

Apparently pm3 needs strides that are a multiple of 32 ( or 16, I'm not
sure, the old code in the glint driver apparently worked only by
accident and I'm not sure if the alignment needs to be in pixels or
bytes either ) - I have a 1366x768 monitor here that triggered
misbehaviour in the glint driver ( and fixed it ), I've also seen
garbage on the right border with pm3fb, but that got hidden away when
the monitor self-adjusted and didn't cause a garbled screen image.
But I've only seen it with that particular monitor - all my other
monitors use native resolutions where the display width is a multiple
of 32.
Also, it's entirely possible to have pm3fb switch to 32bit colour with
ioctl(WSDISPLAYIO_SMODE, WSDISPLAYIO_DUMB) and back to 8bit with
ioctl(WSDISPLAYIO_SMODE, WSDISPLAYIO_EMUL) - a few of my other drivers
do just that so X with wsfb can run in true colour.
( see sparc/dev/cgfourteen.c or dev/sbus/mgx.c for examples - there are
more )

have fun
Michael


Home | Main Index | Thread Index | Old Index