gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

FreeBSD 14.2 prerelease のバグ

2024-05-17 03:10:14 | 日記
2月以来のOSとPKGのバージョンアップを行ったところ、Xが起動しなくなった。これは、XF86のIntelドライバのバグのせいで、自分がつくったパッチを当てるとうまくいった。これについては過去の記事に記載がある。

その次は、マウスが操作できなかった。Webを見ると14.0でノートPCのマウスが動かないと時の対処法があった。USBのカーネルモジュールの追加、HALDの追加、xorg.confにマウスのエントリの追加、moused でUSBのマウスの管理の追加、を行うという方法であり、これをやったがだめだった。

結局カーネルは、14.0Rにすることにした。これだとうまくいった。2月時点で14stableだったのでこちらでもよかったが、すでに動かないのでkernelを何度か作り変えたので、2月のkernelは残っていなかった。

14.1か14.2のリリースまでにこのバグが治ればよいが、そうでないと、14Rを使い続ける必要がある。または、自分で治すかである。

2つもバグが溜まったのでそろそろ動くべきか。しかし、5月は忙しい。7月に向けて6月も準備があるし、また、2回も出張がある。そうすると、7月のプレゼンの後だとすると、8月か9月である。まあ、そこまでこれを引っ張るしかない。

FreeBSD 14.0 upgrade

2023-11-27 22:03:14 | 日記

FreeBSD 14.0 がでていたので上げた。
/etc/make.conf に /usr/src/13stable という記述がありkernelがコンパイルできなかった。
あと、XはIntelドライバのバグで立ち上がらなかった。これは、過去のブログでうまくいった。
15からは32ビットはなくなるようだ。
ーー

FreeBSD 13.2 のxorgのトラブル

2023-05-01 11:17:09 | 日記
4月30日に、pkg upgrade と、git pull をして、make buildworld, make buildkernel, make installworld, make installkernel
をしたらまたXが立ち上がらなくなった。自分のブログを見て、またパッチを当ててうまくいった。そろそろ、開発元に連絡すべきか。。

FreeBSD xorg トラブル

2023-02-15 23:16:54 | パソコン・インターネット
*********** 2023-02-15 22:41:10 ***********
[Subject]: xorg がOSバージョンアップ後に立ち上がらない

■症状
startx でXが立ち上がらない。/var/log/Xorg.0.log を見るとエラー
を示すEEの行が以下のように表示される。

(EE) intel(0): intel_uxa_set_pixmap_bo: size of buffer object does not match constraints: size=8388608, must be greater than 8294400, but less than 4194304

■ハードウェア

hyama@tkmt2:~ % pciconf -lv | grep -B4 VGA
vgapci0@pci0:0:2:0: class=0x030000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x4c8b subvendor=0x1849 subdevice=0x4c8b
vendor = 'Intel Corporation'
device = 'RocketLake-S GT1 [UHD Graphics 730]'
class = display
subclass = VGA

■原因
xf86-video-intel のドライバが悪い。
たぶん、グラフィックボード730に対応していないことが原因。

■対策1----- 最新のインテルカードドライバにパッチを当てる

行末のパッチをaa.patch に保存。
# cd /usr/ports/x11-drivers/xf86-video-intel
# make
ーーー ソースのダウンロードが住んだところでCTRL-zで中断。
   パッチを当てる
# patch work/xf86-video-intel-xxxx/src/uxa/intel-uxa.c < patchfail
# fg
# make deinstall
# make install

■対策2 --- カーネルモジュールkmod-i985 の最新版をいれる
# cd /usr/ports/graphics/drm-kmod
# make
# make deinstall
# make reinstall

■パッチ
*** work-patched/xf86-video-intel-31486f40f8e8f8923ca0799aea84b58799754564/src/uxa/intel_uxa.c Wed Feb 15 20:08:18 2023
--- work/xf86-video-intel-31486f40f8e8f8923ca0799aea84b58799754564/src/uxa/intel_uxa.c Sat Jan 16 05:59:05 2021
***************
*** 660,666 ****
} else
size = intel_pixmap_pitch(pixmap) * pixmap->drawable.height;

! if (bo->size < size ) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"%s: size of buffer object does not match constraints: size=%ld, must be greater than %d, but less than %d\n",
__FUNCTION__, (long)bo->size, size, intel->max_bo_size);
--- 660,666 ----
} else
size = intel_pixmap_pitch(pixmap) * pixmap->drawable.height;

! if (bo->size < size || bo->size > intel->max_bo_size) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"%s: size of buffer object does not match constraints: size=%ld, must be greater than %d, but less than %d\n",
__FUNCTION__, (long)bo->size, size, intel->max_bo_size);

以上

FreeBSD 13 stable X trouble (3)

2022-11-26 19:15:45 | 日記

Xのドライバのソースの修正箇所は以下の通り。


AAAA@XXXX:/usr/ports/x11-drivers/xf86-video-intel/work/xf86-video-intel-31486f40f8e8f8923ca0799aea84b58799754564/src/uxa % diff -c6 intel_uxa.c*
*** intel_uxa.c Sat Nov 26 18:06:04 2022
--- intel_uxa.c~ Sat Jan 16 05:59:05 2021
***************
*** 657,669 ****

height = ALIGN(pixmap->drawable.height, height);
size = intel_get_fence_size(intel, intel_pixmap_pitch(pixmap) * height);
} else
size = intel_pixmap_pitch(pixmap) * pixmap->drawable.height;

! if (bo->size < size ) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"%s: size of buffer object does not match constraints: size=%ld, must be greater than %d, but less than %d\n",
__FUNCTION__, (long)bo->size, size, intel->max_bo_size);
bo = NULL;
goto free_priv;
}
--- 657,669 ----

height = ALIGN(pixmap->drawable.height, height);
size = intel_get_fence_size(intel, intel_pixmap_pitch(pixmap) * height);
} else
size = intel_pixmap_pitch(pixmap) * pixmap->drawable.height;

! if (bo->size < size || bo->size > intel->max_bo_size) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"%s: size of buffer object does not match constraints: size=%ld, must be greater than %d, but less than %d\n",
__FUNCTION__, (long)bo->size, size, intel->max_bo_size);
bo = NULL;
goto free_priv;
}

AAAA@XXXX#